【问题标题】:Propensity Score in RR中的倾向得分
【发布时间】:2019-02-26 09:48:26
【问题描述】:

我正在处理倾向得分,我对此有疑问。

我正在通过以下方式使用 library(MatchIt) 中的 matchit(): m.out = matchit(a ~ b, data = propensity_data, method = "nearest")

b 是一个概率,所以它在 0 和 1 之间。代码是:

a<-round(runif(100))
b<-runif(100)
data_table<-data.frame(a,b)

m.out= matchit(a ~ b, data = data_table, method = "nearest")
matchlist <- match.data(m.out)

为什么“matchlist”中的b和“distance”有区别?匹配是否与“距离”或b一起使用?如何将控制数据与 b 上的处理单元直接匹配?最后一个问题是主要问题。

最好的问候

【问题讨论】:

    标签: r matching


    【解决方案1】:

    匹配在逻辑回归框架中与 b 一起使用,因此倾向得分 b 和距离之间的差异只是由于模型的链接函数。

    从这里可以看出,它们几乎完全相关。因此,无论您在结果上匹配哪一个都将是相同的。

    > cor(matchlist$b, matchlist$distance)
    [1] -0.9999959
    

    因此,在回答您的问题时,您已经直接在 b(和距离)上匹配。

    【讨论】:

    • 好的,谢谢。但是我怎样才能直接在b上进行匹配呢?我想让它更干净一点。
    • 对不起,我不知道该怎么做。
    【解决方案2】:

    正如@Adam 在另一个答案中提到的,默认情况下matchit() 执行倾向得分匹配,该倾向得分是根据模型中指定的协变量的处理逻辑回归估计的倾向得分。要对b 执行匹配,只需在调用matchit() 时设置distance = data_table$b

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      相关资源
      最近更新 更多