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来找到实验组人群的替身。

 

posted @ 2022-12-13 19:06  土星狗蛋  阅读(782)  评论(0)    收藏  举报