logo

统计因果分析

王哲峰 / 2023-07-12


目录

因果分析(Causal Analysis)是分析变量彼此之间的因果关系。 因果推断(Casual Inference)是基于原因推结果,是因果分析的一部分。

因果分析是数据分析、数据科学中重要的方法,广泛应用于 A/B Test、异常分析、用户增长等领域。

因果分析基础

因果分析的概念

  1. 因果
    • 原因和结果
  2. 因果关系
    • 原因和结果的关系
  3. 因果分析
    • 分析彼此之间的因果关系

因果分析的要素

因果分析的三要素是:原因、结果、关系

原因可能有多个,导致的结果也可能是多个:

img

这里把问题聚焦,仅探讨抽象的因果关系,所以因果分析可以抽象如下:

因果分析的分类

按照因果分析的三要素,把因果分析分为三类:

  1. 第一类:由原因推结果,又称为因果推断(Causal Inference)
  2. 第二类:由结果找原因
  3. 第三类:原因和结果互推

因果分析的方法

类型 方法
原因 $\Longrightarrow$ 结果 1.随机实验(A/B 实验)
2.倾向评分匹配(PSM)
3.断点归因(断点回归、RDD)
4.双重差分(DID)
5.Uplift
原因 $\Longleftarrow$ 结果 1.鱼骨图分析
2.五个“为什么”分析
原因 $\Longleftrightarrow$ 结果 公式推导

因果分析原理

互联网领域,A/B Test、鱼骨图分析法是常用的因果分析方法,所以下面阐述这两种方法的原理

AB test

A/B Test 是一种随机对照实验,用于实验验证因果关系。A/B Test,是因果实验的代表, 是因果归因、数据归因的主要手段。

A/B 实验是一种单因素归因,适用于验证单因素的因果关系。

具体可参考:

鱼骨图分析

鱼骨图分析(Cause and Effect Analysis Chart,也称因果分析法)是典型的由结果找原因的方法。

鱼骨图分析法是对一个问题,分类别、穷举性地列出所有影响因素,进行进一步分析。 其中鱼头是结果(问题),大鱼骨是原因的类别,小鱼骨是具体原因。

鱼骨图分析适用于头脑风暴,寻找多个可能的原因。

因果分析应用

因果分析的典型场景是:

类型 方法
原因 $\Longrightarrow$ 结果 1.随机实验(A/B 实验):策略调整
4.双重差分(DID)
原因 $\Longleftarrow$ 结果 1.异常分析
2.流失分析

因果分析、推断工具:

img

  1. DoWhy
    • 开发者:微软
    • 简介:基于因果推理的统一语言,结合了因果图模型和潜在结果框架,支持因果假设的显式建模和测试
    • 官网:GitHub
  2. CDT,CausalDiscoveryToolbox
    • 开发者:Goudet Olivier
    • 简介:基于神经网络 CGNN 的图形化(networkx)因果推断。基于 NumPy,sklearn,PyTorch,bnlearn, 和 pcalg
    • GitHub
  3. causalml
    • 开发者:uber
    • 简介:基于机器学习的因果推断的综合包。主要功能包括:
      • 基于实验数据,计算 CATE 和 ITE
      • 基于决策树的算法
      • Meta-learner algorithms
      • 工具变量算法
      • 基于神经网络的算法
    • GitHub
  4. EconML
    • 开发者:微软
    • 简介:机器学习因果推断综合包,对标 causalml,安装相对容易一些。主要功能:
      • 主要用于计算 HTE 异质性处理效应
      • 提供模型的解释,以及系数的CI置信区间
      • 基于观测数据,进行因果推断
    • GitHub

因果分析总结

因果分析的本质

因果分析的本质就是论证因果关系的充分性、必要性

因果关系和相关关系

因果关系大多数情况下有相关关系,但相关关系不一定是因果关系

因果分析的发展趋势

总结

《精益数据分析》作者认为:“发现相关性可以帮助你预测未来,而发现因果关系意味着你可以改变未来”, 所以重视因果关系,重视因果分析吧。

因果分析可以定位问题,挖掘商业价值,洞见机会,在互联网领域有广泛的应用, 比如因果推断、A/B Test、用户增长、异常分析和流失分析等。

但是商业是个复杂生态,因果分析是个很好的分析工具,还要结合具体的用户、业务、数据进行针对性的分析。

参考