在R中解释模型平均结果


11

我正在尝试了解和知道使用R中的模型平均对某些数据进行分析所报告的内容。

我正在使用以下脚本来分析给定变量的测量方法的效果:这是数据集:https : //www.dropbox.com/s/u9un273gzw9o30u/VMT4.csv?dl=0

适用车型:

LM.1 <- gls(VMTf ~ turn+sex+method, na.action="na.fail", method = "ML",VMT4)

挖泥船全模型

require(MuMIn)
d=dredge(LM.1)
print(d)
coefficients(d)

获取所有模型的摘要信息以获取参数估计

summary(model.avg(d))

我知道可以对所有模型进行平均(完整模型平均),也可以对其中一部分进行条件平均。现在,我想知道:什么时候最好使用完全或条件平均进行推断。对于科学文章,我应该报告所有这些内容吗?对于模型平均情况,Z值和关联的p到底意味着什么?

为了使可视化我的问题更加容易。这是结果表,

> summary(model.avg(d))# now, there are effects

Call:
model.avg(object = d)

Component model call: 
gls(model = VMT ~ <8 unique rhs>, data = VMT4, method = ML, na.action = 
 na.fail)

Component models: 
       df  logLik   AICc delta weight
1       4 -247.10 502.52  0.00   0.34
12      5 -246.17 502.83  0.31   0.29
13      5 -246.52 503.52  1.01   0.20
123     6 -245.60 503.88  1.36   0.17
(Null)  2 -258.62 521.33 18.81   0.00
3       3 -258.38 522.95 20.43   0.00
2       3 -258.60 523.39 20.88   0.00
23      4 -258.36 525.05 22.53   0.00

Term codes: 
method    sex   turn 
     1      2      3 

Model-averaged coefficients:  
(full average) 
                       Estimate Std. Error Adjusted SE z value Pr(>|z|)    
(Intercept)            42.63521    0.37170     0.37447 113.856  < 2e-16 ***
methodlight chamber    -1.05276    0.36098     0.36440   2.889  0.00386 ** 
methodthermal gradient -1.80567    0.36103     0.36445   4.955    7e-07 ***
sex2                    0.19023    0.29403     0.29548   0.644  0.51970    
turn                    0.05005    0.10083     0.10141   0.494  0.62165    

(conditional average) 
                       Estimate Std. Error Adjusted SE z value Pr(>|z|)    
(Intercept)             42.6352     0.3717      0.3745 113.856  < 2e-16 ***
methodlight chamber     -1.0528     0.3609      0.3643   2.890  0.00386 ** 
methodthermal gradient  -1.8058     0.3608      0.3642   4.958  7.1e-07 ***
sex2                     0.4144     0.3089      0.3119   1.328  0.18402    
turn                     0.1337     0.1264      0.1276   1.047  0.29492    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Relative variable importance: 
                     method sex  turn
Importance:          1.00   0.46 0.37
N containing models:    4      4    4

Answers:


5

参见Grueber等。2011年,“生态与进化中的多模型推断:挑战与解决方案”,《进化生物学》 24:699-711。

确实要取决于目标是要使用完整数据还是有条件数据。在我的领域中,我们将使用AICC等标准来确定最受支持的模型,然后将其用作条件子集。然后将报告此信息。例如,您的前四个模型都位于彼此2个AIC单位之内,因此它们都将包含在您的子集中。其他人则不在那儿(更高的AIC),因此包含他们的信息实际上会降低您的Beta估算值的质量。


2
即使在您建议的示例中,也可能在四个“最佳”模型中的两个中出现某些术语。对于这两个模型没有出现的两个系数值,还是对两个值和两个零值取平均值?
user2390246 '16

5

我认为关于完全平均值和条件平均值之间的差异的前提是错误的。一个是包含零(完全)的平均值,一个不包含零(有条件)的平均值。从帮助文件中的model.avg()命令:

注意

“子集”(或“条件”)平均值仅是参数出现的模型的平均值。另一种选择是,“完全”平均值假设每个模型中都包含一个变量,但是在某些模型中,相应的系数(及其相应的方差)设置为零。与“子集平均值”不同,它没有将值偏离零的趋势。“完全”平均值是一种收缩估计量,对于与响应关系较弱的变量,它们小于“子集”估计量。

如果只想使用模型子集(例如,基于增量AIC),请在model.avg()中使用subset参数。只要其中包含的某些模型缺少一些其他模型具有的变量,您仍将获得条件和完整的估计。


是。我同意。那是正确的解释。
ecologist1234
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.