如何在没有整体截距的情况下解释 lme4 中的多元混合模型的系数?

机器算法验证 r 混合模式 多元分析 lme4-nlme 多元回归
2022-03-12 03:55:16

我正在尝试在R. 除了ASReml-randSabreR包(需要外部软件),这似乎只能在MCMCglmm. 在该软件包随附的论文MCMCglmm(pp.6) 中,Jarrod Hadfield 描述了拟合此类模型的过程,例如将多个响应变量重新整形为一个长格式变量,然后抑制整体截距。我的理解是,抑制截距会将响应变量的每个级别的系数解释更改为该级别的平均值。鉴于上述情况,是否可以使用 拟合多元混合模型lme4例如:

data(mtcars)
library(reshape2)
mtcars <- melt(mtcars, measure.vars = c("drat", "mpg", "hp"))
library(lme4)
m1 <- lmer(value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)),
    data = mtcars)
summary(m1)
#  Linear mixed model fit by REML 
#  Formula: value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)) 
#     Data: mtcars 
#   AIC   BIC logLik deviance REMLdev
#   913 933.5 -448.5    920.2     897
#  Random effects:
#   Groups       Name        Variance Std.Dev.
#   factor(carb) (Intercept) 509.89   22.581  
#   Residual                 796.21   28.217  
#  Number of obs: 96, groups: factor(carb), 6
#  
#  Fixed effects:
#                    Estimate Std. Error t value
#  variabledrat:gear  -7.6411     4.4054  -1.734
#  variablempg:gear   -1.2401     4.4054  -0.281
#  variablehp:gear     0.7485     4.4054   0.170
#  variabledrat:carb   5.9783     4.7333   1.263
#  variablempg:carb    3.3779     4.7333   0.714
#  variablehp:carb    43.6594     4.7333   9.224

如何解释该模型中的系数?这种方法是否也适用于广义线性混合模型?

1个回答

您的想法很好,但是在您的示例中,您忘记为每个特征建模不同的截距和不同的随机方差,因此您的输出无法按原样解释。一个正确的模型是:

m1 <- lmer(value ~ -1 + variable + variable:gear + variable:carb + (0 + variable | factor(carb))

在这种情况下,您将获得对每个变量的固定效应的估计值(例如,variabledrat:gear预测变量gear对 response的影响drat),但您还将获得每个变量的截距(例如variabledratresponse 的截距drat)和随机每个变量的方差和变量之间的相关性:

Groups       Name         Std.Dev. Corr     
 factor(carb) variabledrat 23.80             
              variablempg  24.27    0.20     
              variablehp   23.80    0.00 0.00
 Residual                  23.80       

Ben Bolker已经写下了对这些方法的更详细描述,以及MCMCglmm在贝叶斯框架中的使用。另一个新包mcglm也可以处理多变量模型,即使是非正态响应,但您必须编写随机设计矩阵。很快就会有教程可用(请参阅 R 帮助页面)。