之前已经询问过这个问题的变体(例如,有没有办法从 `glmer` 对象中获得“边际效应”),其中大多数建议使用 ggeffects(或 sjPlot)。然而,我们学院的一位统计学家在同意 ggeffects 的输出时遇到了一些麻烦。
我对统计和 R 都是新手(所以我可能不应该使用 glmer ......),而且我在理解我做错了什么时遇到了一些麻烦。
我的模型最简单的形式是来自 lme4 的 glmer:结果(二进制)~ FE(二进制)+(1|RE)。固定效应是对我的随机效应中的一些但不是所有个体进行的测试。
模型输出
Intercept: 1.2654
FE_2: -0.2305
RE Std. Dev.: 2.896
gg预测:
ggpredict(model, type = "fe", terms = "FE")
1: 0.780
2: 0.738
现在,据我所知,我可以得到测试 2 的概率边际效应,如下所示:
y <- 1.2654 - 0.2305
prob <- exp(y) / (1 + exp(y))
这与 ggpredict 的输出完全相同:0.738。
然而,他说这是每个人的条件概率,我需要“插入一些我不理解的东西”来获得我可以推广到人群的概率。他的解决方案快速示例:
y <- 1.2654 - 0.2305 + rnorm(100000000) * 2.896
prob_trus <- exp(y) / (1 + exp(y))
mean(prob_trus)
0.62
使用与前面的 ggpredict 具有相同参数的 ggaverage 几乎给了我相同的概率,0.639。所以,最后我的问题:
- ggaverage 是否与他的解决方案相同,只是有一些模拟差异和/或舍入误差?
- 如果他的方法是要走的路,我如何从 ggeffects 获得相同的结果?