R matchit对7个不同种子的变量

时间:2017-03-23 00:52:23

标签: r matching random-seed

我使用以下代码来匹配不同患者的2个队列(2800个对照,460个治疗):

set.seed(99)
m.out <- matchit(treatment ~ gender + age + VarC + diseaseDuration + 
                 pastActivity + activity + country, data = Pat.match, 
                 method = "nearest", ratio = 5, discard = "control", 
                 caliper = 0.1, m.order = "smallest")  

匹配后,队列减少到约1230个对照组,而400个对照组。 当我改变种子时,这些数字是相似的。然而,如果我更准确地检查(患者ID),则不同种子的总群组在约20%的患者中不同。更确切地说: set.seed(99)产生一个群组,与所得到的set.seed群组(27)的重叠率仅为80%。 这可能会对进一步的一般模型和统计分析产生巨大影响。我监督了什么吗? 问候!

2 个答案:

答案 0 :(得分:0)

所以计算方面就是matchit可能正在做一些随机的事情,即使你没有例如指定m.order="random"。可能是什么,通过查看源代码可能最容易找到...

统计方面实际上是交叉验证的,不是在这里,但我建议:

  • 如果您的任何结果非常依赖种子,不信任结果,它们就不健全。
  • 特别是
  • - 我相信你知道这一点但值得重申 - 在得到你喜欢的结果之前不要尝试不同的种子!

答案 1 :(得分:0)

有时,当单位具有相同或非常相似的倾向得分时会发生这种情况;我相信MatchIt通过随机选择的匹配来解决这个问题。我实际上不同意@ dash2你不应该改变种子直到得到你喜欢的结果。您应该根据需要多次执行匹配过程,直到达到协变量平衡。如果您的数据是平衡的并且所有处理过的单位都被保留(或者在匹配的规格中至少保留相同的数据),那么您的效果估计将不会与您的匹配集系统地发生变化。请记住,一旦你估计了你的治疗效果,你就不能回头重做你的匹配结果(这可能是@ dash2所得到的)。但在匹配阶段,这不是一个问题。