lme4中的不同组系数

机器算法验证 多层次分析 lme4-nlme
2022-04-02 18:42:36

全部,

我正在使用组预测变量估计多级逻辑回归,但不清楚 Gelman 和 Hill (2007) 在他们的书中给出的一些建议。其中,他们建议允许每个系数都可能变化,给定足够大的 N。这是否也包括组预测变量?他们并不清楚,将“变化斜率”视为另一种复杂性,您可以将其与组预测器一起合并到 lme4 中的混合效应模型中(参见:他们书中的第 549 页)。

例如,我有大约 50,000 个二元响应的观察值(N 很大)。预测变量存在于两个级别,因此我的模型如下所示:

M1 <- lmer(Y ~ X1 + X2 + X3 + X4 + G1 + G2 + G3 + G4 + (1 | group), family=binomial(link="logit"))

X1:X4 是个体级预测器,G1:G4 是组级预测器,因此:多级模型。他们是否建议将所有系数视为潜在变量均值,甚至包括随机效应中的组预测变量,例如:

M2 <- lmer(Y ~ X1 + X2 + X3 + X4 + G1 + G2 + G3 + G4 + (1 + X1 + X2 + X3 + X4 + G1 + G2 + G3 + G4 | group), family=binomial(link="logit"))

我运行了 M2,它给出了合理的估计。AIC/BIC 建议比 M1 更适合。我只是不确定它是否合适,因为与个人级别的预测器不同,组级别的预测器在给定的组中不会发生变化。不过,它显然会因群体而异。

此外,如果这不是一种不正确的方法,那么如果感兴趣的组预测变量之一作为独立的固定效应在统计上不显着(如 M1 的可变截距模型),但作为固定效应是显着的,我应该多怀疑在 M2 等变化斜率模型中的影响?

感谢您对此主题的任何意见和反馈。对此,我真的非常感激。

2个回答

首先,AIC/BIC 在混合模型中没有意义。我的意思是,如果你能解释你是什么(组数?观察次数?介于两者之间的东西?1 级和 2 级变量中显然有不同数量的信息呢?)...所以我不会关注这些。n

其次,我很惊讶您的模型完全确定了组级变量的随机效应。让我们考虑一个极端情况:a 模型中的二元组级变量lmer(Y ~ X + G + (1 + X + G| group)它描述的是什么?当 时,一个组有一个额外的随机偏移G==1,即组级异方差。所以这似乎是一个相当奇怪的估计。

所以总而言之,我会这样运行

M2 <- lmer(Y ~ X1 + X2 + X3 + X4 + G1 + G2 + G3 + G4 + (1 + X1 + X2 + X3 + X4 | group), family=binomial(link="logit"))

即,只有具有分配给它们的随机效应的个体水平协变量。

我认为最好先编写模型,然后我们可以了解如何在 R 中对其进行估计。

您希望模型的斜率因组而异吗?您认为第二级预测器(即组级别的预测器)可用于预测变化的斜率吗?如果两个答案都是肯定的,那么(我认为)你可以如何在 R 中估计它(我对此不是 100% 确定。我只是看看这本书,在第 14 章):

假设第一级只有一个预测器(为简单起见),第二级只有一个预测器,并且第二级按组给出:

模型:

Pr(yi=1)=a+bjx1

bj=γ0+γ1g1+ej

在 r 中:

glmer(y ~ x1 + (x1+0|group) + g1, family=binomial)

如您所见,与您的代码的区别在于 g1 不在随机效应范围内。您必须将它们扩展到单个数据级别以适应模型。

碰巧在这种情况下,最好使用完全贝叶斯建模(使用 WinBugs、Jags 等),因为在这种情况下,我认为您无法正确建模第二级。

我希望它有所帮助。