与MatchIt的最佳匹配仅限于共同支持的区域

时间:2019-02-11 17:05:53

标签: r matching

我正在使用MatchIt尝试不同的匹配模型,以实现治疗组和对照组之间的平衡。

我指定的其中一个模型使用了最佳匹配。但是,与使用游标卡尺进行最近邻居匹配相比,此方法通常给出最差的结果。这是因为它将所有处理单元都与控制单元相匹配,而最近的邻居允许使用选项“丢弃”或“卡尺”来丢弃此类单元。

我知道没有办法直接通过MatchIt在最佳匹配上实现卡尺。但是,有没有一种方法可以对仅属于共同支持区域的单位进行最佳匹配?

1 个答案:

答案 0 :(得分:0)

您可以在MatchIt中使用卡尺和常见支持以及最佳匹配。

对于通用支持,只需使用标准的通用支持参数(即discard)。 matchit()处理此参数并在处理匹配算法之前执行公共支持修剪。

对于卡尺,可以将卡尺的宽度提供给caliper参数。请注意,默认情况下,这与caliper参数在进行最近邻居匹配时的工作方式不同,因为它不是以标准差为单位。为确保它以标准偏差单位为单位,请设置standardization.scale = sd(是的,sd周围没有引号)。原因是matchit()fullmatch()包中将参数向下传递到optmatch,而fullmatch()没有caliper参数,接受来自match_on()的参数,其中确实具有一个caliper参数。我同意这是相当晦涩的,如果MatchIt文档在此方面更清楚,那就太好了。