DoWhy - 因果推断 建模入门 简单样例学习与解读
因为工作原因,需要进行因果推断的分析,在这里进行一个DoWhy工具的简单入门。
分析入口:https://github.com/py-why/dowhy/blob/main/docs/source/example_notebooks/dowhy_example_effect_of_memberrewards_program.ipynb
先说一下个人总结的DoWhy建模步骤:
应用场景
想要知道某一些措举中(如加入某些政策、投放广告)前后的影响(平均效应,(Average Treatment Effect on the Treated,ATT))分析在这个环境下有多大的影响?
S1 问题场景的建立
首先要对问题的场景进行详细的分析,明确研究的问题影响主要有哪些影响因素?明确目标策略研究变量(就是那个你想要知道投放了以后差别的特征Treatment)
加入了以后有什么影响?具体是对哪一项的影响?
S2 数据准备
根据分析的问题场景准备相应的数据,包括但不限于可用的用于标志符、混淆变量W、自变量X、研究的影响变量(影响基于X到Y的那个目标Treatment)变量、Y(目标因变量)
基于准备的数据进行数据集的构建
S3 结合现实场景进行分析
1、根据已有的数据集与基于业务经验推断的关系,画出因果图。
2、结合因果图的逻辑整合数据,并放入DoWhy的模型当中。
S4 模型分析
1、因果效应识别(需要假设没有观测到的混淆因子是作用不大的)
2、因果效应估计(基于1 识别出有效的因果图逻辑,进行估计)
3、反驳检验:使用随机变量对干涉变化量进行替代,判断其估计的结果是否为0!(理论而言应该是为0的)
关键名词:几个计算结果指标的含义
ATE:Average Treatment Effect,平均处理效应。实验组的平均处理效应。比如实验组上线了新的推荐策略,实验组与对照组之间平均效果的差别就是ATE。
CATE:Conditional Average Treatment Effect,条件平均处理效应。实验组中某个细分群的平均处理效应。比如实验组的活跃用户与对照组活跃用户平均效果的差别就是CATE。
ITE:Individual Treatment Effect,个体处理效应。实验组中每个个体的处理效应差异。
ATT:Average Treatment Effects on Treated,受处理群体的平均处理效应。比如实验组受处理的这群人如果不受处理,会是怎样的(这群人受处理与不受处理之间效果的差异)。但是对照组中不存在与实验组中一模一样的人,一般通过PSM来找到实验组人群的替身。

浙公网安备 33010602011771号