用R完成倾向性得分匹配

Python026

用R完成倾向性得分匹配,第1张

倾向性得分匹配是一类基于反事实理论的数据预处理方法,在医学和政策研究中被广泛应用。R中有几个很优秀的包可用于开展倾向性得分匹配,而其中功能较强、知名较广、使用方便的当属Matchit,这个包与cobalt包联合使用,基本能完成PSM全流程分析。

下面我们用一个简单的例子,来演示一下如何用上述两个包完成一次倾向性得分匹配。我们用到的数据集是Matchit包自带的lalonde数据,此套数据用来评估某项就业政策对个人收入的影响。

我们首先尝试用最近邻方法对数据进行匹配(这是matchit函数采用的默认方法),随后用cobalt包的bal.tab方法来评估匹配的效果。

从结果来看匹配效果并不好,所有协变量的Diff.Adj都不够显著。下面再把倾向性得分的核密度图画出来观察。

可见匹配对于数据分布的改善并不多,最近邻匹配对于lalonde数据不是很有效。接下来我们用一些比较高级的方法来进行匹配。

情况确实有所改善,且匹配后的倾向性得分分布大体重合。

完成倾向性得分匹配后,如何提取匹配好的数据呢,还有如果我们对bal. plot 画的图不满意,或图像不符合杂志社的要求,我们该怎样利用匹配结果自己画图呢。这就需要我们深入解析matchit函数的返回值了,上述工作才能算是learn the hard way。这些都留待我们下回分解。

PSM(平台相关模型 Platform-specific models)作为一个软件模型或业务系统,是与具体的技术平台相关的(例如,具体的编程语言,操作系统,数据库)。PSM对于某一系统的具体实现是必不可少的。

基本原理

psm模型

相移法(phase-modulationmethod)的基本原理由F.Dushinshy提出〔16〕。激发光源是频率f(即角频率ω=2πf)强度调制的正弦调制光源: R(t)=R0〔1+αcos(ωt)〕, 其中α是幅度的调制。 假设荧光是按单指数规律衰减,这时测量的荧光信号是激发函数与荧光衰减F(t)=τ-1exp(-t/τ)的卷积: I(t)=R(t)F(t) =R0〔1+αcosθcos(ωt-θ)〕。 因此,从上式可知,检测的荧光信号也是按同样频率f调制的,但具有不同的调制幅度和位相延迟θ ——:激发光位相;……:荧光位相;θ:相移角 位相延迟θ可用下式表示: tanθ=ωτ。

计算倾向得分(采用logist回归) 进行得分匹配

得分匹配的几种方法:

(1)最邻近匹配(Nearest neighbor matching)

以倾向得分为依据,在控制组样本中向前或向后寻找最接近干预组样本得分的对象,并形成配对。

(2)半径匹配(Radius matching)

设定一个常数r(可理解为区间或范围,一般设定为小于倾向得分标准差的四分之一),将实验组中得分值与控制组得分值的差异在r内的进行配对。

(3)核匹配(Kernel Matching)

将干预组样本与由控制组所有样本计算出的一个估计效果进行配对,其中估计效果由实验组个体得分值与控制组所有样本得分值加权平均获得,而权数则由核函数计算得出。 评定匹配后的平衡性 计算平均干预效果(ATT) 进行敏感性分析