Skip to main content

A library for estimates of causal effects.

Project description

CausalEstimate

Unittests Lint using flake8 Formatting using black


CausalEstimate is a Python tool designed to produce causal estimates from propensity scores. It provides functionalities for matching, weighting, and other causal inference techniques, helping researchers and data scientists derive meaningful insights from observational data.


Features

  • Propensity score matching and weighting
  • Tools for average treatment effect (ATE) estimation
  • Easy integration with pandas DataFrames
  • Bootstrap standard error estimation

Installation

To install the required dependencies, run:

pip install -r requirements.txt

Usage

Example: Matching

Here is an example of how to use the matching functionality in a Jupyter notebook:

import numpy as np
import pandas as pd
from CausalEstimate.matching import match_optimal

# Simulate data
ps = np.array([0.3, 0.90, 0.5, 0.34, 0.351, 0.32, 0.35, 0.81, 0.79, 0.77, 0.90, 0.6, 0.52, 0.55])
treated = np.array([1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
ids = np.array([101, 102, 103, 103, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211])

df = pd.DataFrame({
    'PID': ids,
    'treatment': treated,
    'ps': ps
})

# Perform matching
result = match_optimal(df, n_controls=3, caliper=0.1)
print(result)

Development

Running Tests

To run the unit tests, use the following command:

python -m unittest

Linting

To lint the code using flake8, run:

pip install flake8
flake8 CausalEstimate tests

Formatting

To format the code using black, run:

pip install black
black CausalEstimate tests

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

causalestimate-0.1.5.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

CausalEstimate-0.1.5-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file causalestimate-0.1.5.tar.gz.

File metadata

  • Download URL: causalestimate-0.1.5.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for causalestimate-0.1.5.tar.gz
Algorithm Hash digest
SHA256 173029bf30e78fc82a6a80330ab31e73dfd2b8dda2eae1d5785381d830deb967
MD5 f3c57a524a6057f293ba1c505057c29a
BLAKE2b-256 2862740f1dc61be0f63e91ec485aeda950f403759f4a3e919cc4dd8df7f238ed

See more details on using hashes here.

File details

Details for the file CausalEstimate-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: CausalEstimate-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for CausalEstimate-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 071d3cdaacb8fe4b3643d8d359ef04a28189f4e2a06b405c095e2c4168b60a6c
MD5 5d610ef78b060d99ac893f3be91ace44
BLAKE2b-256 c6ead0a5a01bfc6c3f335534deffa02f9f04a0edbc667cf8ccb83f86f7fbce12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page