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)

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