估计条件平均因果效应#

对于条件平均因果效应 (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) 分析