用途:DoWhy 用于因果推断,回答变量间是否存在因果关系,而不只是相关。适用于观察性数据中判断广告是否真正提升销量、某因素是否导致某结果、反事实推演等场景。若只做纯预测或已有无混杂的随机对照试验,则不必使用;若对因果结构完全没有假设,也无法绘制有效 DAG。
主要能力:围绕因果图(DAG,箭头表示“导致”)展开,工作流为识别(identify_effect,依据后门、前门、工具变量等准则判断效应是否可估及需控制哪些变量)、估计(estimate_effect,支持 backdoor.linear_regression、backdoor.propensity_score_matching、backdoor.propensity_score_weighting、frontdoor.two_stage_linear_regression、iv.instrumental_variable 等方法)、反驳(refute_estimate,如 refute_placebo_treatment、refute_random_common_cause、refute_data_subset)。支持 ATE、ATT、CATE 等效应类型,可获取置信区间、可视化因果图。
使用方式:安装命令为 pip install dowhy networkx matplotlib pandas scikit-learn。典型流程是先用 CausalModel(data=..., treatment=..., outcome=..., graph=...) 建模,再依次调用 identify_effect()、estimate_effect()、refute_estimate()。关键搜索模式包括 CausalModel、identify_effect、estimate_effect、refute_estimate。文档见 https://dowhy.readthedocs.io/en/latest/ ,代码库见 https://github.com/py-why/dowhy 。
限制与注意事项:因果图必须基于领域知识在查看数据前绘制,不可由数据相关性反推;应纳入所有已知混杂因素;至少做两项反驳检验;建议多估计器对比,若结果差异大需排查假设;需检查倾向得分方法的正性/重叠;linear_regression 假设线性,非线性时宜改用倾向得分加权或匹配;不可对撞子进行条件化;identification 若报告后门准则不满足,不应强行使用后门调整。资料中未提供具体收费、价格、平台兼容性信息。