DifferenceInDifferences#
- class causalpy.experiments.diff_in_diff.DifferenceInDifferences[source]#
A class to analyse data from Difference in Difference settings.
Note
There is no pre/post intervention data distinction for DiD, we fit all the data available.
- Parameters:
data (
DataFrame) – A pandas dataframeformula (
str) – A statistical model formulatime_variable_name (
str) – Name of the data column for the time variablegroup_variable_name (
str) – Name of the data column for the group variablepost_treatment_variable_name (
str) – Name of the data column indicating post-treatment period (default: “post_treatment”)model – A PyMC model for difference in differences
Example
>>> import causalpy as cp >>> df = cp.load_data("did") >>> seed = 42 >>> result = cp.DifferenceInDifferences( ... df, ... formula="y ~ 1 + group*post_treatment", ... time_variable_name="t", ... group_variable_name="group", ... model=cp.pymc_models.LinearRegression( ... sample_kwargs={ ... "target_accept": 0.95, ... "random_seed": seed, ... "progressbar": False, ... } ... ), ... )
Methods
DifferenceInDifferences.__init__(data, ...)DifferenceInDifferences.get_plot_data(*args, ...)Recover the data of an experiment along with the prediction and causal impact information.
Abstract method for recovering plot data.
Abstract method for recovering plot data.
DifferenceInDifferences.plot(*args, **kwargs)Plot the model.
Ask the model to print its coefficients.
DifferenceInDifferences.summary([round_to])Print summary of main results and model coefficients.
Attributes
idataReturn the InferenceData object of the model.
supports_bayessupports_ols- __init__(data, formula, time_variable_name, group_variable_name, post_treatment_variable_name='post_treatment', model=None, **kwargs)[source]#
- classmethod __new__(*args, **kwargs)#