倾向得分加权匹配分析方法的R实现

article/2025/7/23 23:46:57

1.1 PSW Package 简介

  • PSW : Propensity Score Weighting Methods for Dichotomous Treatments.

      该包由Huzhang Mao 和LiangLi两位作者贡献,首次发布于2017年10月;该包主要运用倾向得分加权分析方法实现因果效应的推断;主要由5个函数模块构成:

(1)倾向得分共同取值范围以及各匹配变量的标准化偏差的可视化图示

(2)检验匹配后数据是否平衡(平衡性假设检验);

(3)倾向值模型设定检验

(4)处理效应的加权估计

(5)处理效应的双重稳健性估计

      由于篇幅所限,本文仅关注对average treatment effect of the treated (ATT)的估计。

1.1.1 载入需要的程辑包

# 加载第三方包# 为读入本文所需要用到的Stata数据集library(haven) 
library(RStata)
library(readstata13)
library(foreign)#同时载入需要的程辑包library(stats)  
library(Hmisc)
library(survival)
library(Formula)
library(ggplot2)
library(gtools)
library(graphics)
library(lattice)
library(PSW)# 读取ldw_exper.dta数据集ldw_exper <- read_dta(file = file.choose())# 强制转换为数据框结构
ldwdf <- as.data.frame(ldw_exper) #转换为数据框格式,便于计算
# 变量激活,便于直接使用变量名
attach(ldwdf)

1.1.2 本文使用的数据集(ldw_exper.dta)简介

      该数据集介绍可参见《高级计量经济学与Stata应用第二版(陈强)》
re78为1978年实际收入,t是否参加就业培训,age年龄,educ教育年限,black是否为黑人,hisp是否为拉丁族,married是否结婚,re74、re75为1974和75年的实际收入,u74,u75为74和75年是否为失业状态;笔者选择该数据集,核心目的对照书中传统的倾向得分匹配分析方法与本文所介绍的用倾向得分加权匹配分析方法的异同。

1.2 Propensity score weighting in R

本节主要介绍倾向得分加权匹配分析的实现过程.

1.2.1 构建 Propensity score model

# generate Propensity score model
form.ps <- "t ~ age + educ + black + hisp+married+re74+re75+u74+u75"# calculate Standardized differnce with "ATT"
tmp1 <- psw( data = ldwdf, form.ps = form.ps, weight = "ATT" )# display ps.model  
M1<-tmp1$ps.modelsummary.glm(M1)#由于glm函数未给出logit模型的整体性是否显著P值,故需通过手动编制计算
with(M1, pchisq(null.deviance - deviance, df.null - df.residual, lower.tail = FALSE))

结果输出:

0?wx_fmt=png

0?wx_fmt=png


1.2.2 平衡性检验 Balance checking using standardized mean difference

# generate A vector of covariates
V.name <- c("age","educ","black", "hisp","married","re74","re75","u74","u75")#  compute the standardized mean difference for balance diagnosis.
tmp2 <- psw.balance( data = ldwdf, weight = "ATT", form.ps = form.ps,
V.name = V.name )# 为方便演示,此处仅提取匹配前、后的标准化均值差异 
tmp2$std.diff.before;
tmp2$std.diff.after;

输出结果:

0?wx_fmt=png

      

我们可以进一步提取以下非常有用的信息,具体包括以下内容(fitted propensity score model, estimated propenstity scores, estimated propensity score weights, standardized mean difference before and after weighting adjustment).从tmp2列示的结果来看,我们发现,通过倾向得分加权法,匹配后偏差大幅度下降,通过了平衡性检验。

1.2.3 模型设定检验 Propensity score model specification test

      This test is a goodness-of-fit test of propensity score model. 备注:该检验原假设为倾向性得分模型被正确设定

# generate A vector of transformation types for covariates in V.name.
trans.type <- c( "identity","identity","identity","identity","identity","identity","identity","identity","identity") #  compute Propensity score model specification test.
tmp3<-psw.spec.test( data = ldwdf, weight = "ATT", form.ps = form.ps,
V.name = V.name, trans.type = trans.type )#  为方便演示,这里仅提取 Propensity score model specification test的P值信息
tmp3$pvalue

0?wx_fmt=png      

由此,我们可以得出模型设定不拒绝原假设,可以接受被正确设定的结论。

1.2.4 Propensity score weighting estimator

      This is used to estimate the weighted estimator, \hat{Δ}, and make inference using the sandwich variance estimator that takes into account the sampling variability in the estimated propensity score.
备注:仍以估计ATT的值为例;需注意一下gaussian和binomial的用法

# estimate the weighted treatment effect estimator.
tmp4 <- psw.wt( data = ldwdf, weight = "ATT", form.ps = form.ps,
out.var = "re78", family = "binomial" )# display tmp4
head(tmp4)

结果输出:

0?wx_fmt=png

      

可以根据自己需求提取相应信息,包括本部分所关心的weighted estimator for risk difference、standard error for est.risk.wt、weighted estimator for relative risk以及standard error  for est.rr.wt等内容.

小结:

用倾向得分加权分析方法得到的ATT值为1.7381,标准误为0.6887,与传统的PSM分析所用的匹配方法得出的结论基本一致。


感谢:

非常感谢各位网友向“每天进步一点点2015”公众号投递原创性文章,同时也欢迎各位网友一起参与知识分享和交流。


http://chatgpt.dhexx.cn/article/gL6KRhoC.shtml

相关文章

python倾向匹配得分_手把手教你做倾向评分匹配 -PSM

原标题:手把手教你做倾向评分匹配 -PSM 本文首发于“百味科研芝士”微信公众号,转载请注明:百味科研芝士,Focus科研人的百味需求。 各位科研芝士的朋友大家好,今天和大家分享一下新的知识点—PSM,或许大家早已听过这个名词了,或许你对它还是半知半解,不过没关系,希望…

回归问题的置信区间AUC_互助问答第193期:倾向得分匹配法与面板数据问题

问题一&#xff1a;老师您好&#xff01;我的问题是倾向得分匹配法之前要对匹配变量进行选择&#xff0c;我看见连玉君老师的一篇文章中主要是对处理变量和匹配变量做logit回归&#xff0c;然后根据准R方和AUC值判断&#xff0c;两者越大越好&#xff0c;通常来说AUC应该大于0.…

倾向值匹配法的概述和应用+倾向值分析:统计方法与应用

倾向值匹配法的概述和应用 一、因果推论理论概述 1.在应用倾向值匹配法进行因果推断时需要注意后续的检验理论&#xff0c;否则容易妄议因果。 2.什么是倾向值匹配法&#xff1f; 将各个手册单元多维度的信息&#xff0c;使用统计方法简化成一维的数值&#xff0c;是为倾向值…

因果推断(二)倾向匹配得分(PSM)

因果推断&#xff08;二&#xff09;倾向匹配得分&#xff08;PSM&#xff09; 前文介绍了如何通过合成控制法构造相似的对照组&#xff0c;除此之外&#xff0c;也可以根据倾向匹配得分&#xff08;PSM&#xff09;进行构造&#xff0c;即为每一个试验组样本在对照组中找对与…

PSM倾向得分匹配代码和案例数据

PSM倾向得分匹配代码和案例数据 含义&#xff1a;倾向评分匹配&#xff08;Propensity Score Matching&#xff0c;简称PSM&#xff09;是一种统计学方法&#xff0c;用于处理观察研究&#xff08;Observational Study&#xff09;的数据。 在观察研究中&#xff0c;由于种种…

倾向得分匹配PSM案例分析

倾向得分匹配(PSM)&#xff0c;是一种模仿RCT随机对照试验随机化分组&#xff0c;提高组间均衡性&#xff0c;进而达到降低混杂因素影响目的一种数据处理策略。PSM在计量研究&#xff0c;临床医学等领域有着广泛的应用。 1.案例背景与分析策略 1.1 案例背景介绍 某企业想评价…

使用R进行倾向得分匹配(PSM)

【译文】使用R进行倾向得分匹配&#xff08;PSM&#xff09; 作者 Norbert Khler 译者 钱亦欣 根据维基百科&#xff0c;倾向得分匹配&#xff08;PSM&#xff09;是一种用来评估处置效应的统计方法。广义说来&#xff0c;它将样本根据其特性分类&#xff0c;而不同类样本间…

倾向匹配得分PSM学习笔记

一直在想写倾向匹配得分PSM学习笔记&#xff0c;好好总结一下。但一直拖着&#xff0c;对倾向匹配得分法虽然思想比较理解&#xff0c;但没有系统地学习&#xff0c;所以这篇博客总结一下老师们的一些文章&#xff0c;在总结中学习&#xff0c;哈哈~ 倾向匹配得分PSM学习笔记 …

倾向得分匹配案例分析

一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的&#xff0c;首次运用在生物医药领域&#xff0c;后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素&#xff08;干扰因素&#xff09;的偏差。 …

倾向得分匹配法(PSM)量化评估效果分析

1. 因果推断介绍 如今量化策略实施的效果评估变得越来越重要&#xff0c;数据驱动产品和运营、业务等各方的理念越来越受到重视。如今这方面流行的方法除了实验方法AB testing外&#xff0c;就是因果推断中的各种观察研究方法。 “统计相关性并不意味着因果关系”&#xff0c;数…

PSM倾向得分匹配法【python实操篇】

前言 大家好&#xff0c;我是顾先生&#xff0c;PSM倾向性得分匹配法的Python代码实操终于来啦&#xff01; ​ 对于PSM原理不太熟悉的同学可以看看前一篇文章&#xff1a;PSM倾向得分匹配法【上篇&#xff1a;理论篇】 目前网上PSM实操的相关文章都是R语言、SPSS和STATA实现…

数据分析36计(九):倾向得分匹配法(PSM)量化评估效果分析

1. 因果推断介绍 如今量化策略实施的效果评估变得越来越重要&#xff0c;数据驱动产品和运营、业务等各方的理念越来越受到重视。如今这方面流行的方法除了实验方法AB testing外&#xff0c;就是因果推断中的各种观察研究方法。 “统计相关性并不意味着因果关系”&#xff0c;数…

PSM倾向得分匹配

1. 简要介绍 我们以 是否上大学 () 对 收入 () 的影响为例来说明这个问题。这里&#xff0c;先讲二者的关系设定为如下线性模型&#xff1a; 显然&#xff0c;在模型 (1) 的设定中&#xff0c;我们可能忽略了一些同时影响「解释变量」—— 是否上大学 () 和「被解释变量」——…

stata 倾向得分匹配操作

倾向得分匹配法是一种研究方法&#xff0c;它在研究某项治疗、政策、或者其他事件的影响因素上很常见。对于经济、金融学领域来说&#xff0c;比如需要研究某个劳动者接受某种高等教育对其收入的影响&#xff0c;或者比如研究某个企业运用了某项管理层激励措施以后对企业业绩的…

倾向得分匹配(PSM)的原理以及应用

该文章主要介绍倾向得分匹配&#xff08;PSM, Propensity Score Matching&#xff09;方法的原理以及实现。这是一种理论稍微复杂、但实现较为容易的分析方法&#xff0c;适合非算法同学的使用。可用于&#xff08;基于观察数据的&#xff09;AB实验、增量模型搭建等领域。 文章…

倾向得分匹配只看这篇就够了

一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的&#xff0c;首次运用在生物医药领域&#xff0c;后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素&#xff08;干扰因素&#xff09;的偏差。 …

Android设置图标背景透明

这里写自定义目录标题 Android 设置图标背景透明速览引言调整背景色 Android 设置图标背景透明 速览 设置 android:background"#00ffffff" 引言 适用于 Vector Assets 和 透明背景的图片 想要在Android中使用透明背景的图片 首先得保证图片本身是透明背景的 不然也没…

如何设置背景透明度

设置背景透明度分为两种&#xff1a;一种背景为颜色设置的纯色背景&#xff1b;另一种是图片做背景。 【情况一】纯色背景 关键代码&#xff1a;background:rgba(R,G,B,A) RGB--------三原色&#xff08;red,green,bule&#xff09;A-------透明度 关于三原色最终成型的颜色…

html悬浮背景透明视频教程,在html中使用背景透明的video视频

由于对效果的要求&#xff0c;需要加入透明背景的video。经过了解&#xff0c;现代浏览器(新版 Chrome、Firefox、Safari 等)已经全面支持 webM 格式的视频了&#xff0c;因此可以使用带 alpha 通道的 webM 格式视频满足要求。 要得到透明 webM 格式视频&#xff0c;则需要来源…