propensity score matching (PSM) 倾向性评分
文章内容包括
- PSM的基本背景知识
- 运用R包(2个)实例演示进行数据的1:1, 1:2匹配。只要数据调教运行1:2匹配也是可以的。
- 部分检验协变量分布平衡的可视化
- 运用数据全部是R中的自带数据,参考资料是R包的文档及相关网络资源汇总放在最后
- 请特别注意,如果有朋友付费,请谨慎考虑,学习是要付出时间的,没有你想象中的看一下就会了发文章了;理性付费,不要付费完觉得不值得,然后很自己很难受,觉得被欺骗了,这样太不值得了。
基本背景与原理理解
- 在观察数据的统计分析中,倾向评分匹配(PSM)是一种统计匹配方法,旨在通过考虑治疗组和对照组的协变量来尝试估计治疗,政策或其他干预措施的效果。Paul Rosenbaum 和 Donald Rubin 在1983年介绍了该方法。
- 在观测性研究中,暴露组与非暴露组(treat 和 control)通常无法进行等同于随机分组 ,协变量在组间不均衡,影响分析结果,而倾向性评分法PSM则可以帮助控制混杂因素不均衡的问题。PSM试图减少由于混淆变量而造成的偏差。
- 在随机实验中(RCT),随机化可以无偏估计治疗效果。对于每个协变量治疗组与对照组将平均保持平衡。不幸的是,对于观察性研究,对研究对象的治疗分配通常不是随机的。通过匹配分组变量,使协变量在分组变量均衡来模拟RCT的随机化的方法来减小误差就是PSM的目的。
- 例如,我们对吸烟进行的观察性研究,我们不可能把人随机分配到“吸烟”治疗。仅将吸烟者与不吸烟者进行比较而得出的治疗效果可能会受到任何预测吸烟的因素(例如性别和年龄)的影响。PSM试图通过使暴露和非暴露的组在控制变量方面具有可比性来控制这些偏差。
倾向性评分R操作演示
MatchIt包
### 倾向性评分 PSM
library(MatchIt)
data("lalonde")
head(lalonde)
## treat age educ black hispan married nodegree re74 re75 re78
## NSW1 1 37 11 1 0 1 1 0 0 9930.0460
## NSW2 1 22 9 0 1 0 1 0 0 3595.8940
## NSW3 1 30 12 1 0 0 0 0 0 24909.4500
## NSW4 1 27 11 1 0 0 1 0 0 7506.1460
## NSW5 1 33 8 1 0 0 1 0 0 289.7899
## NSW6 1 22 9 1 0 0 1 0 0 4056.4940
dim(lalonde)
## [1] 614 10
PSM评分匹配matchit
- 默认是method = “nearest”算法,这些就是你选择什么方法来进行匹配,大概了解下即可。
- method=“exact”,精确匹配最简单的匹配版本是精确的。这种方法将每个处理单元与所有协变量上具有完全相同值的所有可能的控制单元匹配,形成子类,使每个子类中的所有单元(处理和对照)具有相同的协变量值。
- method = “subclass”当有许多协变量(或一些协变量可以取大量值)时,往往不可能找到足够的精确匹配。子分类的目的是形成子类,这样在每个子类中,处理组和对照组的协变量的分布(而不是确切的值)尽可能相似
- method = “optimal”,“最优”匹配发现匹配的样本在所有匹配对之间的平均绝对距离最小
- method = “full”.完全匹配的样本由匹配的集合组成,其中每个匹配的集合包含一个处理单元和一个或多个控件(或一个控制单元和一个或多个处理单元)。
- method = “genetic”,其思想是使用genetic搜索算法为每个协变量找到一组权重,以便在匹配后达到最优平衡的版本
- method = “cem” 这意味着处理组和对照组之间的平衡是由用户事先选择的,而不是通过通常的事后检查和反复重新估计的费力过程来发现的,因此调整一个变量上的不平衡对任何其他变量的最大不平衡都没有影响