我正在使用MatchIt尝试不同的匹配模型,以实现治疗组和对照组之间的平衡。
我指定的其中一个模型使用了最佳匹配。但是,与使用游标卡尺进行最近邻居匹配相比,此方法通常给出最差的结果。这是因为它将所有处理单元都与控制单元相匹配,而最近的邻居允许使用选项“丢弃”或“卡尺”来丢弃此类单元。
我知道没有办法直接通过MatchIt在最佳匹配上实现卡尺。但是,有没有一种方法可以对仅属于共同支持区域的单位进行最佳匹配?
答案 0 :(得分:0)
您可以在MatchIt
中使用卡尺和常见支持以及最佳匹配。
对于通用支持,只需使用标准的通用支持参数(即discard
)。 matchit()
处理此参数并在处理匹配算法之前执行公共支持修剪。
对于卡尺,可以将卡尺的宽度提供给caliper
参数。请注意,默认情况下,这与caliper
参数在进行最近邻居匹配时的工作方式不同,因为它不是以标准差为单位。为确保它以标准偏差单位为单位,请设置standardization.scale = sd
(是的,sd
周围没有引号)。原因是matchit()
在fullmatch()
包中将参数向下传递到optmatch
,而fullmatch()
没有caliper
参数,接受来自match_on()
的参数,其中确实具有一个caliper
参数。我同意这是相当晦涩的,如果MatchIt
文档在此方面更清楚,那就太好了。