【数据分析干货】一种基于匹配思想的因果分析方法

科技   2024-11-08 08:30   上海  

作者介绍

@郝笑笑

微信号:hao-xiao-xiao,

数据分析师,

负责DAU流量增长策略与数据监控,

希望可以和各位一起交流学习。

“数据人创作者联盟”成员。





一、什么是因果分析?







01 涉及因果分析的工作场景有哪些?




1)异常归因

指标环比波动归因。比如,周报的环比波动原因分析


两组样本的指标差异原因定位。比如,a广告和b广告的ctr差异原因分析


要求:诊断出与核心指标呈【因果关系】的根因,并量化给出贡献度。


2)收益评估

有该策略 vs 无该策略,真实收益是否为正?—— 把纯粹【因为该策略导致的】业务收益,剥离出来


真实收益有多大?ROI多高?比如,老用户拉活广告对于DAU的增量贡献、增量ROI评估





02 什么是相关性和因果性?




相关性:两个变量的趋势相同或者相反,则认为呈现相关性。评估方法:散点趋势图、回归系数法、IV值、TGI值


因果性:“因”的发生直接导致了“果”的发生。评估方法:AB实验、构造对照组


相关性不等于因果性的例子:

比如,从相关性来看,高个子学生的数学强,看上去身高和数学成绩相关。但这并不意味着,身高就是数学强的原因,这可能是由其他因素造成的。比如他们可能有更好的教育资源或者更高的自我学习动力等。




03 如何证明因果性?——  控制变量




痛点:现实中,我们往往不知道两个变量之间是否有因果性?以及因果性有多强?因此需要通过实验或者数据分析方法,去刻画因果性的强弱


怎样证明某个变量,与因变量有因果性?—— 控制变量

如果两组样本,其他条件都完全相同,只有施加的变量不同,且发现结果变量也不同,则认为结果差异是因为该策略导致的


常用方法

随机分流AB实验

不能做AB实验——因果推断(构造近似对照组)





二、 匹配法(Match)介绍







01 核心思想 




给每一个实验组(施加了策略的群体)的用户 ID,从非实验组中 找出1个或者多个  与其相似(或者完全相同)的双胞胎兄弟,作为对照组用户,并计算实验组和对照组的 delta 差异。




02 举例:评估上大学对收入的影响




样本:总样本为1w人

        上大学的用户(即实验组)1000人

         未上大学的用户(非实验组)9000人

评估指标:人均收入

干扰变量

        父母收入

        学历

        性别

        年龄

        ...


步骤1:如何匹配?

(1)干扰变量匹配:从匹配范围,划分为几种方法:

     完全匹配:比如年龄、性别、父母学历、父母收入、出身城市等变量完全一致 

最邻近匹配:比如对于某个实验组用户,找出与其【欧氏\马氏距离】最近的非实验组用户作为对照组

卡阈值匹配:比如对于某个实验组用户,找出与其【欧氏\马氏距离】小于某阈值的用户作为对照组


(2)倾向性得分匹配(PSM,Propensity Score Match)

倾向性得分计算:将实验组用户作为正样本,非实验组样本作为负样本,是否上大学作为因变量,干扰变量作为自变量,输入逻辑回归模型后,输出所有样本的概率值Propensity Score 。


匹配方法同(1)


【注意事项】

a、并非所有实验组用户,都能找到对照组用户。此时,计算算总体delta时,将该实验组样本丢弃处理。但建议输出报告中,需体现未匹配比例。比如实验组样本共1000个,匹配成功的样本占(至少1个匹配结果)占97%


b、如果匹配比例较低,需要调整匹配方法(完全匹配→ 卡阈值匹配),或者将特征离散化处理(比如,城市离散化为省份;父母收入离散为区间段)





步骤1:如何匹配?





(1)干扰变量匹配:从匹配范围,划分为几种方法:

     完全匹配:比如年龄、性别、父母学历、父母收入、出身城市等变量完全一致 

最邻近匹配:比如对于某个实验组用户,找出与其【欧氏\马氏距离】最近的非实验组用户作为对照组

卡阈值匹配:比如对于某个实验组用户,找出与其【欧氏\马氏距离】小于某阈值的用户作为对照组


(2)倾向性得分匹配(PSM,Propensity Score Match)

倾向性得分计算:将实验组用户作为正样本,非实验组样本作为负样本,是否上大学作为因变量,干扰变量作为自变量,输入逻辑回归模型后,输出所有样本的概率值Propensity Score 。


匹配方法同(1)


【注意事项】

a、并非所有实验组用户,都能找到对照组用户。此时,计算算总体delta时,将该实验组样本丢弃处理。但建议输出报告中,需体现未匹配比例。比如实验组样本共1000个,匹配成功的样本占(至少1个匹配结果)占97%


b、如果匹配比例较低,需要调整匹配方法(完全匹配→ 卡阈值匹配),或者将特征离散化处理(比如,城市离散化为省份;父母收入离散为区间段)





步骤2:匹配质量检验




匹配后,实验组vs对照组 ,各个干扰变量分布是否有差异?


举例:性别分布是否有显著差异(如表)

统计量SMD(standard mean difference)可以衡量平衡性。

SMD =(实验组均值 - 对照组均值)/ 实验组标准差。

一般如果一个变量的 SMD 不超过 0.1,一般就可以认为这个变量的matching质量可以接受。

当一个变量的 SMD 超过 0.1 的时候,需要凭经验确认一下那个变量是不是没有那么重要




步骤3: 匹配完之后,怎么计算delta?




问题:如果1个实验组用户,匹配出多个双胞胎对照组用户,保留1个还是全部保留?i. 随机保留一个,1对1匹配:

delta = 收入(实验组-对照组)= 900 -800

未匹配比例:xx%

ii. 全部保留,1对n匹配:




03 方法优缺点思考




(1)适用场景

样本充足、样本的关键干扰变量可观测。比如站内活动效果评估(比如Push效果评估、拉活广告效果评估、滴滴优惠券发放效果评估)


(2)不足

相比AB实验,无法穷尽所有混淆变量

可能存在某些实验样本,无法匹配到对照组样本的case,需要统计占比


(3)优势

相比DID这种群体间的对比分析,match方法从个体视角出发 进行匹配评估,评估结果更精确



一个数据人的自留地
数据人交流和学习的社区,关注我们,掌握专业数据知识、结识更多的数据小伙伴。
 最新文章