估计条件平均因果效应#
对于条件平均因果效应 (CACE) 估计,DoWhy 依赖于 EconML 软件包。EconML 软件包中的所有方法都可以从 DoWhy 的估计 API 中调用,从而为估计方法提供了一个通用接口。此外,回归方法也可用于 CACE 估计。
对于 CACE 估计,我们需要指定效应调节因子,可以直接在调用 CausalModel 时指定,或者作为图的一部分指定。
线性回归#
>>> linear_estimate = model.estimate_effect(identified_estimand,
>>> method_name="backdoor.linear_regression",
>>> control_value=0,
>>> treatment_value=1)
>>> print(linear_estimate)
EconML 中的 DML 方法#
>>> from sklearn.preprocessing import PolynomialFeatures
>>> from sklearn.linear_model import LassoCV
>>> from sklearn.ensemble import GradientBoostingRegressor
>>> dml_estimate = model.estimate_effect(identified_estimand, method_name="backdoor.econml.dml.DML",
>>> control_value = 0,
>>> treatment_value = 1,
>>> target_units = lambda df: df["X0"]>1, # condition used for CATE
>>> confidence_intervals=False,
>>> method_params={"init_params":{'model_y':GradientBoostingRegressor(),
>>> 'model_t': GradientBoostingRegressor(),
>>> "model_final":LassoCV(fit_intercept=False),
>>> 'featurizer':PolynomialFeatures(degree=1, include_bias=False)},
>>> "fit_params":{}})
>> print(dml_estimate)
要使用 CACE 估计器进行完整分析,您可以参考笔记本《使用 DoWhy 和 EconML 进行条件平均处理效应 (CATE) 分析》