我是匹配测试/控制的新手。我看到在 R 中,我们可以使用Matching或MatchIt来选择匹配项。两种创建匹配的方式有什么区别?你能为他们每个人提供例子吗?
谢谢!
我是匹配测试/控制的新手。我看到在 R 中,我们可以使用Matching或MatchIt来选择匹配项。两种创建匹配的方式有什么区别?你能为他们每个人提供例子吗?
谢谢!
进行匹配以减少观察性研究中的混杂因素MatchIt
之间存在许多差异。Matching
最重要的是每个包背后的哲学:MatchIt
将匹配视为一种非参数预处理形式,如Ho 等人所述。(2007),同时Matching
将匹配视为均值差异的特定估计量,如Abadie 和 Imbens (2006)中所述。这种区别体现在Matching
提供匹配后的效果估计,而MatchIt
仅提供可以提供给模型以估计治疗效果的匹配数据集。
这两个包之间还有许多其他差异。MatchIt
为多种匹配方法提供接口,包括最近邻匹配、最优对匹配、最优完全匹配、(粗化)精确匹配、遗传匹配、倾向得分子分类和基数匹配,其中一些依赖于其他包(包括Matching
!)。Matching
只执行最近邻匹配和遗传匹配。
两个包中遗传匹配的实现大致相同,因为MatchIt
调用函数Matching
来执行遗传匹配。默认情况下,MatchIt
对协变量和倾向得分执行遗传匹配,而在 中Matching
,倾向得分必须手动估计并与协变量一起添加。还有其他一些通常不太相关的细微差异。
最近邻匹配的实现是两个包差异最大的地方,尽管在大多数情况下,可以将一个包的结果复制到另一个包。主要区别在于默认值;两个包之间的大多数功能是相同的。一个区别是Matching
可以执行最近邻匹配与关系,而MatchIt
不允许关系。对于许多连续的协变量,无论如何都很少发生联系。以下是软件包之间的一些差异:
MatchIt
是最近邻匹配,不替换倾向得分;默认值Matching
是最近邻匹配与替换和按比例欧几里得距离的关系Matching
中,匹配按数据顺序出现;在 中MatchIt
,用户可以选择匹配顺序(默认是倾向得分的降序排列)Matching
中,与替换匹配时,可以选择 ATE 作为估计值;在 中MatchIt
,只有 ATT 和 ATC 可用Matching
使用非常快速的 C 代码来执行匹配;MatchIt
使用较少优化的Rcpp
代码Matching
允许您自定义用于加权每个协变量在匹配中的重要性的矩阵;MatchIt
允许您提供自定义距离矩阵本身选项还有一些其他的细微差别,但其他最大的不同在于界面。我发现MatchIt
使用起来非常容易,尤其是对于初学者来说,因为界面类似于其他 R 函数,例如lm()
,而Matching
需要更多的手动编程和 R 知识才能有效地使用所有选项。的文档MatchIt
也明显更加详细和广泛(注意是我写的),这可以使初学者更容易。MatchIt
还提供了更多可视化平衡的工具。
你应该使用哪个?我说MatchIt
如果您是初学者或想要很多选择,并且Matching
如果您是想要使用特定估算器Matching
工具的计量经济学家。在我看来,一整套匹配方法的界面MatchIt
和使用能力,以及针对初学者的大量文档,MatchIt
对于刚入门的人来说是一个更好的选择。