0

我运行了下面的模型,并希望获得“PMSC0to6”(0~6)的边际效应,具体取决于“Ceasefire2”(二进制)。

result_PMSC06_CF <- glm(Participatory_Peace ~ sxp  + GDPpc + wartype + coldwar + Ceasefire2*PMSC0to6,
family = binomial(link = "logit"))

所以我跑了以下,

Sm4_2 <- summary(margins(result_PMSC06_CF, 
                         at = list(Ceasefire2 = 0:1))) %>% 
  dplyr::filter(factor == "PMSC0to6") %>% 
  as.data.frame()

但是,我想知道是否需要放置除“Ceasefire2”和“PMSC0to6”之外的其他变量。

所以问题是,

  1. 上面的 Sm4_2 是否可以得到 PMSC0to6 的边际效应?
  2. 如果不是,我应该将其他变量的均值放在 at = list() 中吗?

非常感谢您提前。

4

1 回答 1

0

对您的问题的简短回答:

  1. 是的。

  2. 可能不是。

2的更长答案:

在逻辑回归中,任何协变量的边际效应都随着所有协变量而变化。有几种不同的方法可以将一系列边际效应“折叠”成每个协变量的单个边际效应:

  • 边际偏效应(默认margins::margins) - 更多细节在这里
  • 代表性案例的边际效应 - 选择一些代表性点,这些点可能在样本中准确表示,也可能不准确,并计算这些点的边际效应(这通常是一个手动过程,需要对主题数据有一定程度的熟悉)
  • 平均边际效应 - 计算样本中所有点的边际效应并取平均值
  • 均值的边际效应 - 计算所有协变量的平均值并计算该点的边际效应,正如您的第二个问题所建议的那样

由于此处讨论的原因,均值的边际效应通常不是一个好的选择:

请注意,可用于 R 的一些其他软件包以及 Statamarginsmfx软件包能够计算所谓的“均值边际效应”(即,协变量值等于样本均值的单个观测值的边际效应作为所有的)。对这些的实质性解释是相当模棱两可的。虽然估计 MEM(而不是 AME 或 MER)曾经是一种常见做法,但现在认为这有点不合适,因为它侧重于可能不存在的情况(例如,0/1 变量的平均值不会反映可以实际存在于现实中),并且我们经常对变量在多个可能的协变量值上的影响感兴趣,而不是任意选择的以这种方式被视为“典型”的案例。

所有其他选项,包括您当前代码计算的边际偏效应,在不同情况下都是有效和有用的。Ceasefire2但是根据您的最终目标,通过将这些协at变量作为 EDA 过程的一部分添加到参数中来查看其他协变量如何影响边际效应可能是值得的。

于 2019-12-20T21:23:11.430 回答