【Python实战因果推断】1_因果效应异质性1

目录

From ATE to CATE

Why Prediction Is Not the Answer

CATE and ITE


本文将介绍应用于行业的因果推理中最有趣的发展:效应异质性。在此之前,你们了解的是一种治疗方法的一般影响。现在,你将专注于发现它如何对不同的人产生不同的影响。治疗效果并非恒定不变,这个想法很简单,但却非常强大。了解哪些单位对某种治疗的反应更好,是决定谁接受治疗的关键。效应异质性为个性化这一备受推崇的理念提供了一种因果推理方法。首先,您将从理论层面了解效应异质性,了解估计效应异质性的挑战是什么,以及如何扩展已学知识以应对这些挑战。接下来,您将看到效应异质性的估算与预测性研究密切相关。
异质性效应与预测问题密切相关,而预测问题对于数据科学家来说已经非常熟悉了。因此,您将看到交叉验证和模型选择的理念如何仍然适用于治疗异质性模型。然而,验证效果估计值比评估简单的预测模型更具挑战性,这就是为什么你会看到一些新颖的方法。
最后提供了一些如何使用效应异质性指导决策的指南和示例。虽然并非详尽无遗,但我希望这些示例能告诉您如何将这些想法用于解决自己的业务问题。

From ATE to CATE

到目前为止,你们每次估算治疗的因果影响时,大多都是平均治疗效果:

\tau=E\bigl[Y_1-Y_0\bigr]或者是等价的连续治疗\tau=E[y'(t)]y'(t)是治疗反应函数的导数。

也就是说,您已经学会了揭示治疗总体有效性的技术。ATE 估算是因果推理的基石。它是一个超级有用的工具,可用于决策问题,也就是所谓的项目评估:当你想知道是否应该在整个人群中推广一种治疗方法时。

现在,是时候学习如何为另一种类型的决策提供信息了:你应该对哪个单位进行治疗?为此,您需要允许决策从一个单位变为另一个单位。

例如,给某个客户提供折扣券可能是有益的,但不给另一个客户,因为某个客户可能对折扣更敏感。或者,将疫苗优先提供给某一群体而不是另一群体也是有道理的,因为这些群体会从这种待遇中获益更多。在这种情况下,个性化是关键。

实现个性化的一种方法是将效果异质性考虑在内,即估算条件平均治疗效果 (CATE)。通过考虑每个单位的独特特征,您可以确定针对该特定案例的最有效治疗方法:E\bigl[Y_1-Y_0\bigl|X\bigr] \mathrm{or} E\bigl[y'(t)\bigl|X\bigr]

以 X 为条件意味着,您现在允许治疗效果因每个单位的协变量 X 所定义的特征而异。同样,在这里,您认为并非所有单位都对治疗有同样好的反应,您希望利用这种异质性。您希望只对合适的单位进行治疗(在二元情况下),或者找出每个单位的最佳治疗剂量(在连续情况下)。

例如,如果您是一家银行,需要决定每位客户有资格获得的贷款额度,那么您可以肯定的是,向每个人发放大量资金并不是一个好主意,尽管这对某些人来说可能是合理的。你必须精明地处理(贷款额度)。也许,根据客户的信用评分,您可以找出合适的贷款额度。当然,您并不需要成为一家大型机构来利用个性化服务。我们不乏这样的例子。您应该在一年中的哪几天进行销售?产品价格应该是多少?每个人的运动量是多少?

Why Prediction Is Not the Answer

可以这样想。您有一群客户和一种处理方法(价格、折扣、贷款......),您想对处理方法进行个性化,例如,给不同的客户不同的折扣。假设您可以按结果图将客户组织成以下处理方式:

您可以将个性化任务视为客户细分问题。您要根据客户对您的处理方式的反应来创建客户群。例如,您想找到对折扣反应好的客户和对折扣反应差的客户。

那么,客户对处理方法的反应由条件处理效果 \frac{\delta Y}{\delta T} 给出。因此,如果您能以某种方式估算出每位顾客的条件处理效果,您就能将那些对处理效果好的顾客(高处理效果)和那些对处理效果差的顾客进行分组。如果能做到这一点,就能像下图一样分割客户空间:

这就太好了,因为现在你可以估算出每个组的不同治疗效果。同样,由于疗效只是治疗反应函数的斜率,如果你能得出斜率不同的组别,那么这些分区的实体对治疗的反应就会不同:

现在,将其与传统的机器学习方法进行对比。您可能会尝试预测 Y,而不是每个单元的导数 \frac{\delta Y}{\delta T}。假定你的预测模型能很好地逼近目标,这将从根本上分割 Y 轴上的空间。然而,这并不一定会导致各组具有不同的治疗效果。这就是为什么简单地预测结果并不总是对决策有用:

好吧,你可能会说,我知道我必须估计效果,而不仅仅是预测结果,但这有点棘手。如果我看不到斜率\frac{\delta Sales}{\delta Discount},我怎么能预测它呢?

说得好。与原始结果 Y 不同,斜率(或变化率)在单位层面上基本上是不可观测的。要想看到单个斜率,就必须观察每个单位在不同处理水平下的情况,并计算每个处理结果的变化情况

\frac{\delta Y_i}{\delta T_i}\approx\frac{Y(T_i)-Y(T_i+\epsilon)}{T_i-(T_i+\epsilon)}

这又是因果推论的根本问题。在不同的治疗条件下,你不可能看到相同的单位。那么,你能做什么呢?

CATE and ITE

请记住,CATE 不同于个体治疗效果(ITE)。例如,假设您有两组病人,x = 1 和 x = 2,每组 4 个单位,您想知道一种新药对一种疾病的治疗效果,这种疾病通常会导致 50%的患者死亡。
对于 x = 1 组,该药物对一名病人不利,导致其死亡,但却挽救了另一名病人。对于 x = 2 组,药物效果为零,其中 1 人死亡(请记住,这种疾病的致死率为 50%)。在这两组中,CATE 都是 0.5,但没有一个单位的 ITE 是 0.5。

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
贝叶斯因果推断是一种使用贝叶斯网络(Bayesian Network)进行因果关系推断的方法。贝叶斯网络是一种概率图模型,用于表示变量之间的依赖关系和因果关系。在贝叶斯网络中,节点表示变量,边表示变量之间的依赖关系。通过观察节点的状态,可以推断其他节点的状态。 在Python中,可以使用PyMC3库来构建贝叶斯网络模型。《Python贝叶斯分析》这本书从实际应用和编写程序的角度解释了贝叶斯统计的关键概念,并介绍了如何使用PyMC3来构建概率模型。这本书不要求读者具备生物学方面的基础知识,但需要读者具备使用Python编写程序的经验\[1\]。 贝叶斯因果推断的一个挑战是数据的结构与贝叶斯网络的独立性不一致。贝叶斯网络的推断算法旨在从概率中推断因果关系,与任何实验无关。因此,贝叶斯网络的推断是基于概率观察数据进行的。此外,贝叶斯网络的推断是从特定前提中得出一般性结论,与理论假设的表述无关。这是因为贝叶斯网络的推断是演绎的,而不是从因果假设的表述中得出的\[3\]。 因此,Python中的贝叶斯因果推断可以通过构建贝叶斯网络模型,并使用PyMC3库进行推断。这种方法可以帮助我们从观察数据中推断因果关系,并进行因果推断分析。 #### 引用[.reference_title] - *1* [Python贝叶斯分析 PDF 完整原版](https://blog.csdn.net/weixin_39850143/article/details/110996376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [数学推导+纯Python实现机器学习算法12:贝叶斯网络](https://blog.csdn.net/weixin_37737254/article/details/102920363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [贝叶斯因果网络_因果关系和贝叶斯网络](https://blog.csdn.net/weixin_26752765/article/details/108132740)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水木流年追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值