CI来自model.avg(MuMIn包)的完整模型平均系数

机器算法验证 r 置信区间 信息论
2022-04-18 16:51:54

我目前正在尝试获取我正在运行的 GLMM 的模型平均估计值(和置信区间)。

在使用 R 中MuMIn 包dredge()中的函数获得完整的候选模型集并使用以下方法选择 95% 置信度集后:

avgmod.95 <- model.avg(all.mod, subset = cumsum(weight) <= .95)

'summary(avgmod.95)' 给了我完整和条件参数估计(见下面的可重现示例的输出)。完整的估计平等地对待每个参数,并在所有模型上平均它们(即,即使是那些不包含参数的模型,它给参数的值是 0)。这些是我想报告的参数估计值。

到目前为止一切顺利,但我也想报告置信区间。运行该函数confint(avgmod.95)(如几篇论文中所建议的那样)为每个参数提供一个置信区间(请参阅下面的可重现示例输出)。但是,这些置信区间与条件参数估计值的匹配程度要远远高于它们与完整参数估计值(我感兴趣)的匹配程度。

我的问题是:

  • 生成的对象是否model.avg()仅产生一组置信区间,还是confint()仅基于条件平均值给出置信区间?
  • 如果是后者,有没有办法绕过这个来获得完整平均值的 CI?

这是使用mtcars数据的可重现示例:

require(lme4)
require(MuMIn)

# Fit the global model
global.model <- lmer(mpg ~ hp + drat*wt + (1|gear), data=mtcars)

# Set na.action to na.fail for dredge function to run
options(na.action="na.fail")

# Generate full model set
dr <- dredge(global.model)

# Generate model average values of 95% confidence set of models
avgmod.95 <- model.avg(dr, subset = cumsum(weight) <= .95)

# Get a summary of model averaged values (both full and conditional)
summary(avgmod.95)

# Get CI's for model parameter averages
confint(avgmod.95)

现在summary(avgmod.95)给出:

Call:
model.avg.model.selection(object = dr, subset = cumsum(weight) <= 
    0.95)

Component model call: 
lmer(formula = mpg ~ <4 unique rhs>, data = mtcars)

Component models: 
     df logLik   AICc delta weight
134   6 -73.31 161.97  0.00   0.76
1234  7 -73.53 165.73  3.75   0.12
13    5 -77.29 166.89  4.92   0.07
123   6 -75.89 167.14  5.16   0.06

Term codes: 
   drat      hp      wt drat:wt 
      1       2       3       4 

Model-averaged coefficients:  
(full average) 
             Estimate Std. Error Adjusted SE z value Pr(>|z|)  
(Intercept) 11.208222  13.650695   14.120116   0.794   0.4273  
drat         6.851292   3.665723    3.784583   1.810   0.0702 .
wt           3.244549   4.455566    4.586870   0.707   0.4793  
drat:wt     -2.276614   1.341948    1.377762   1.652   0.0985 .
hp          -0.005121   0.011796    0.011856   0.432   0.6658  

(conditional average) 
             Estimate Std. Error Adjusted SE z value Pr(>|z|)   
(Intercept) 11.208222  13.650695   14.120116   0.794  0.42733   
drat         6.851292   3.665723    3.784583   1.810  0.07025 . 
wt           3.244549   4.455566    4.586870   0.707  0.47935   
drat:wt     -2.594754   1.107692    1.156718   2.243  0.02488 * 
hp          -0.029439   0.009162    0.009600   3.066  0.00217 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Relative variable importance: 
                     drat wt   drat:wt hp  
Importance:          1.00 1.00 0.88    0.17
N containing models:    4    4    2       2

confint(avgmod.95)给出:

                   2.5 %      97.5 %
(Intercept) -16.46669809 38.88314109
drat         -0.56635437 14.26893779
wt           -5.74555075 12.23464840
drat:wt      -4.86187937 -0.32762871
hp           -0.04825531 -0.01062219

请注意 CI 如何确认条件平均值,而不是汇总输出中的完整平均值。

0个回答
没有发现任何回复~