MatchIT中标准化差异的公式是什么?

3

我正在使用MatchIt根据倾向得分进行匹配,然后检查标准化差异。我尝试手动计算一些匹配变量的标准化差异,但结果与模型输出不同。

#run the model 
ps<-matchit(y ~ ., data=mydata, method = "nearest", distance = "logit")
#store the results as a data frame 
comp <- as.data.frame(summary(ps, standardize = TRUE)["sum.matched"])
#print the results 
comp[, "sum.matched.Std..Mean.Diff." , drop=FALSE]

我在这里的问题是:有人知道手动计算matchIt软件包中使用的标准化差异的公式吗?我对均值和比例的标准化差异的公式感兴趣(它们是否不同?也许这就是原因)


请求一个公式并不是一个具体的编程问题。如果你想获取有关统计模型或方法的更多信息,最好在 [stats.se] 上提问。如果您想知道这个函数到底是做什么的,请查看 如何查找 R 函数的源代码 - MrFlick
我很难阅读那个函数的源代码。这就是我需要帮助的地方。会编辑以突出显示这一点。 - user2592729
2个回答

1
我有同样的问题,我认为MatchIt使用的公式与最常用的公式不同。
根据何等人的文章(http://imai.princeton.edu/research/files/matchit.pdf),"standardize = TRUE选项将打印出平衡度量的标准化版本,其中均值差异被标准化(除以)原始治疗组中的标准差。"
因此,包中公式的分母应该是s(treated),而不是s(treated)^2+s(control)^2的平方根。

0

我根据数据中的变量类型使用了以下公式,使用了stddiff包。

SD1<- stddiff.numeric(data = Edrees, gcol = 1, vcol = ,2:4)
SD2<- stddiff.binary(data= Edrees, gcol = 1 , vcol = 6)
SD3<- stddiff.category(data = Edrees, gcol = 1, vcol = 7)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接