我正在使用MatchIt尝试不同的匹配模型,并在治疗组和对照组之间取得平衡。
我指定的其中一个模型使用最佳匹配。然而,这种方法通常比使用卡尺的最近邻居匹配产生最差的结果。这是因为它将所有处理单元与控制单元匹配,而最近邻居允许使用“丢弃”或“卡尺”选项丢弃这些单元。
我知道没有办法直接在与MatchIt的最佳匹配上实现卡尺。但是,有没有办法与仅在共同支持区域内的单位进行最佳匹配?
您可以在MatchIt
中使用卡尺和通用支撑以及最佳匹配。
对于常见支持,只需使用标准的通用支持参数(即discard
)。 matchit()
处理此参数并在处理匹配算法之前执行公共支持修剪。
对于卡尺,您可以将卡尺的宽度提供给caliper
参数。请注意,默认情况下,这与caliper
参数在进行最近邻居匹配时的工作方式不同,因为它不是标准偏差单位。为了确保它是标准差单位,设置standardization.scale = sd
(是的,sd
附近没有引号)。之所以如此,是因为matchit()
在fullmatch()
包中将参数传递给optmatch
,而fullmatch()
没有caliper
论证,它接受来自match_on()
的论据,caliper
确实有MatchIt
论证。我同意这是非常模糊的,如果qazxswpoi文件更清楚,这将是很好的。