因果推断笔记——python 倾向性匹配PSM实现示例三

在另一案例中,比较有诊所与死亡率的因果关系,使用倾向性匹配方法为每个实验组村庄找到与之特征最为接近的对照组村庄,结果显示建立健康诊所后,新生儿死亡率降低了约7%,证明了健康诊所项目对降低新生儿死亡率的显著影响。最后,通过代码实现PSM,包括数据抽取、倾向性得分计算和匹配过程。案例展示了如何通过...
因果推断笔记——python 倾向性匹配PSM实现示例三
在研究观测数据时,为了找到合适的对照组或消除对照组的影响,有多种方法。其中匹配(Matching)和倾向性评分基于方法(Propensity Score Based Methods)是常用技术。倾向性评分(Propensity Score, PS)概括了影响个体特征变量的信息,当两个群体的倾向性评分相同时,他们的干预变量与其他特征变量之间独立。

倾向性评分匹配(Propensity Score Matching, PSM)结合了匹配技术,尤其在高维数据中寻找相似样本方面有优势。逆倾向权重(Inverse of Propensity Weighting, IPW)方法通过使用倾向评分的倒数对样本进行加权,对于干预变量为1的样本,使用倾向评分的倒数加权;对于干预变量为0的样本,使用1减去倾向评分的倒数加权。这种方法需要倾向评分估计足够准确,否则可能导致平均因果效应方差过大。

双稳健方法(Doubly Robust)结合倾向评分和结果回归模型,旨在通过两个模型中任意一个正确,确保平均因果效应的无偏估计。协变量平衡倾向评分(CBPS)方法在衡量倾向评分准确性和平衡样本间其他相关变量分布之间寻找平衡点。数据驱动的变量分解算法(D²VD)将干预变量和结果变量之外的变量分为三类,仅用混淆变量集估计倾向评分,调整变量集视为对结果变量的噪声。

直接对样本权重进行学习的直接协变量平衡方法在控制干预变量下其他特征变量分布方面提供了一种途径。熵平衡(Entropy Balancing)方法通过学习样本权重使特征变量在均值上一致,并约束权重的熵,但同样存在将所有变量同等对待的局限性。近似残差平衡(Approximate Residual Balancing)方法在匹配步骤后结合回归模型,仅需一个模型正确即可得到无偏的平均因果效应估计。

ATT(Average Treatment Effect on the Treated)和ATE(Average Treatment Effect)关系密切,ATT关注的是参与实验个体的平均处理效应,而ATE则表示所有样本的平均处理效应。通过匹配处理组与控制组,或者使用随机化试验的方式,可以尝试估计ATT。

在实际应用中,倾向性得分匹配(PSM)在面板数据中与差异差异法(DID)结合使用,以近似随机化实验条件。PSM解决选择偏差问题,通过匹配处理组与控制组样本,使得两组间的处理效应接近。然而,PSM方法仅缓解由可观测变量带来的内生性问题,对于由不可观测变量导致的内生性问题则无法处理。在应用PSM时,需要考虑样本量大小与倾向得分的共同取值范围,以避免匹配样本不具备代表性或匹配偏差。

匹配实施方法包括近邻匹配(nearest neighbor matching)、重复匹配、贪婪匹配与最优匹配、半径匹配与核匹配、分层匹配等。近邻匹配寻找与干预组个体距离最近的控制组个体,而贪婪匹配在保证个体最优的同时可能不考虑整体最优性。核匹配通过加权平均控制组样本的估计效果进行匹配,分层匹配则根据协变量取值进行分层匹配。

基于倾向性评分法的实现步骤包括选择协变量、倾向性得分估算、倾向性得分匹配、平衡性检验与因果效应估算。平衡性检验通过检查匹配前后各变量均值的差异、倾向性得分分布以及特征的QQ-Plot来评估匹配效果。因果效应估算通常在匹配后的实验组与对照组之间进行。

敏感度分析与反驳旨在评估混淆变量选择等主观分析对因果效应估计的一致性,通过去除混淆变量或使用安慰剂数据、添加随机混淆变量或子集数据进行检验。

以Lalonde数据集为例,研究就业培训对收入的影响,倾向性评分匹配法估计的因果效应为约2196.61美元,说明参加职业培训可以显著增加收入。通过均衡性检验,倾向性评分加权法显示出更优的匹配效果。在反驳测试中,通过安慰剂数据法、添加随机混淆变量法和子集数据法进行检验,PSM的反驳测试结果大为下降,而倾向性评分加权法的反驳测试结果与真实数据的因果效应估计值最接近。

在另一案例中,比较有诊所与死亡率的因果关系,使用倾向性匹配方法为每个实验组村庄找到与之特征最为接近的对照组村庄,结果显示建立健康诊所后,新生儿死亡率降低了约7%,证明了健康诊所项目对降低新生儿死亡率的显著影响。

最后,通过代码实现PSM,包括数据抽取、倾向性得分计算和匹配过程。案例展示了如何通过代码实现PSM方法,包括设置匹配数量、计算倾向性得分和执行匹配操作。此外,还提及了使用dowhy库实现PSM的方法,尽管该部分未完成。2024-08-29
mengvlog 阅读 6 次 更新于 2025-06-20 01:21:21 我来答关注问题0
  • 基于倾向性评分法的实现步骤包括选择协变量、倾向性得分估算、倾向性得分匹配、平衡性检验与因果效应估算。平衡性检验通过检查匹配前后各变量均值的差异、倾向性得分分布以及特征的QQ-Plot来评估匹配效果。因果效应估算通常在匹配后的实验组与对照组之间进行。敏感度分析与反驳旨在评估混淆变量选择等主观分析对因...

  •  翡希信息咨询 因果推断 PSM方法 +Python 代码实战

    PSM方法是一种用于因果推断的统计技术,旨在通过消除混杂变量的影响,评估某一处理对用户结果的净效应。以下是PSM方法的关键步骤及其在Python中的实现概览:数据处理:数据清洗:处理类型不一致、异常值和缺失值等问题,确保数据质量。代码示例:pythonimport pandas as pddf = pd.read_csv # 读取数据df....

  •  文暄生活科普 【手把手教你】使用DoWhy做因果推断分析

    使用Python库DoWhy进行因果推断分析,能够简化这一过程。DoWhy提供统一、一致的API,覆盖从模型构建到识别、效应估计与验证的整个工作流程。以下步骤展示如何使用DoWhy和qstock库进行具体分析:1. **数据获取与预处理**:通过qstock库获取所需数据,计算日收益率与跳空高开(Gap Up)指标,并提取相关特征。...

  •  文暄生活科普 DID双重差分法原理及python代码实操 - 互联网因果推断常考

    DID,即双重差分法,是社会科学研究中用于评估干预或事件影响的常用方法。这一方法特别适用于干预并非在同一时间影响所有个体,或对个体影响不一致的场景。模型形式可表示为:[公式]。交互项系数能够反映政策净效应的原因在于,它捕捉了干预前后处理组与对照组在有无干预情况下的差异变化。平行趋势假设是DID...

  •  文暄生活科普 因果推断 PSM方法 +Python 代码实战

    确保匹配后的数据平衡。2.6 敏感性分析:通过Rosenbaum Bounds Sensitivity Tests检查遗漏变量的影响,确保结论的稳健性。2.7 干预效果估计:根据匹配后的数据,计算出处理组的平均处理效应。以上就是PSM方法在实际应用中的关键步骤,通过Python实现时,需要关注数据清洗、模型构建和结果验证的全过程。

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部