Difference in Differences with sci-kit learn models#

from sklearn.linear_model import LinearRegression

import causalpy as cp
data = cp.load_data("did")
result = cp.skl_experiments.DifferenceInDifferences(
    data,
    formula="y ~ 1 + group*post_treatment",
    time_variable_name="t",
    group_variable_name="group",
    treated=1,
    untreated=0,
    model=LinearRegression(),
)
fig, ax = result.plot(round_to=3)
../_images/57a8ca23bc7470136bf5865e8cc53f1057b7a7db424cc106b0bc4841282e7aac.png
result.summary(round_to=3)
===========================Difference in Differences============================
Formula: y ~ 1 + group*post_treatment

Results:
Causal impact = 0.504
Model coefficients:
  Intercept                   	         0
  post_treatment[T.True]      	     0.986
  group                       	     0.162
  group:post_treatment[T.True]	     0.504