Skip to main content

Casual Inference

Project description

Causal inference is an important component of the experiment evaluation. We highly recommend to have a look at the open-source book: Causal Inference for The Brave and True

Currently, azcausal provides two well-known and widely used causal inference methods: Difference-in-Difference (DID) and Synthetic Difference-in-Difference (SDID). Moreover, error estimates via Placebo, Boostrap, or JackKnife are available.

Installation

To install the current release, please execute:

pip install git+https://github.com/amazon-science/azcausal.git

Usage

from azcausal.core.error import JackKnife
from azcausal.core.panel import Panel
from azcausal.util import zeros_like, to_matrix
from azcausal.data import CaliforniaProp99
from azcausal.estimators.panel.sdid import SDID


# load an example data set with the columns Year, State, PacksPerCapita, treated.
df = CaliforniaProp99().load()

# convert to matrices where the index represents each Year (time) and each column a state (unit)
outcome = to_matrix(df, "Year", "State", "PacksPerCapita", fillna=0.0)

# the time when the intervention started
start_time = df.query("treated == 1")["Year"].min()

# the units that have been treated
treat_units = list(df.query("treated == 1")["State"].unique())

# create the treatment matrix based on the information above
intervention = zeros_like(outcome)
intervention.loc[start_time:, intervention.columns.isin(treat_units)] = 1

# create a panel object to access observations conveniently
pnl = Panel(outcome, intervention)

# initialize an estimator object, here synthetic difference in difference (sdid)
estimator = SDID()

# run the estimator
estm = estimator.fit(pnl)
print("Average Treatment Effect on the Treated (ATT):", estm["att"])

# show the results in a plot
estimator.plot(estm, trend=True, sc=True)

# run an error validation method
method = JackKnife()
err = estimator.error(estm, method)

print("Standard Error (se):", err["se"])
print("Error Confidence Interval (90%):", err["CI"]["90%"])
docs/source/images/sdid.png

Estimators

Contact

Feel free to contact me if you have any questions:

Julian Blank (blankjul [at] amazon.com)
Amazon.com
Applied Scientist, Amazon
410 Terry Ave N, Seattle 98109, WA.

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

azcausal-0.1.0.tar.gz (26.2 kB view hashes)

Uploaded Source

Supported by

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