倾向得分的分层:如何计算方差比?

时间:2015-01-24 19:06:29

标签: r

我通过MatchIt包对倾向得分进行了分层:

install.packages("MatchIt")
library(MatchIt)

# Stratification on the propensity score

stra <- matchit(treat ~ X1 + X2 + X3, data = data.mc, , method = "subclass")
smry.stra <- summary(stra, standardize = TRUE)
data.stra <- match.data(stra) 

现在我想计算治疗组和对照组之间倾向得分的方差比。我可以只计算总治疗组和对照组的方差吗?

stra.ratio <- var(data.stra$distance[data.stra$treat == 1]) /
var(data.stra$distance[data.stra$treat == 0])

或者我是否必须以某种方式考虑地层和阶层的权重?

非常感谢你!

1 个答案:

答案 0 :(得分:2)

从包的文档中,对值weights

的描述
  

“每个匹配的控制单元的重量与其匹配的处理单元的数量成比例,并且控制权重的总和等于唯一匹配的控制单元的数量。   “

这向我表明是的,我们应该采用加权方差。如果加权处理方差总是等于加权方差,因为权重应该总是1,我不会感到惊讶,但我们肯定会看到控制方差的差异。

以下是使用MatchIt包附带的数据的可重现示例:

library(MatchIt)
library(SDMTools)

data(lalonde)

stra <- matchit(treat ~ age + educ + black + hispan + married + nodegree, data = lalonde, method = "subclass")
data.stra <- match.data(stra) 
treatment <- data.stra[data.stra$treat == 1, ]
control <- data.stra[data.stra$treat == 0, ]
stra.ratio <- wt.var(treatment$distance, treatment$weights) / wt.var(control$distance, control$weights)