使用mgcv gam的负二项式混合模型中固定效应的意义

时间:2018-10-19 20:10:21

标签: anova mixed-models gam mgcv

我正在使用gam包中的mgcv来分析包含24个条目的数据集:

ran  f1     f2   y
1   3000    5   545
1   3000    10  1045
1   10000   5   536
1   10000   10  770
2   3000    5   842
2   3000    10  2042
2   10000   5   615
2   10000   10  1361
3   3000    5   328
3   3000    10  1028
3   10000   5   262
3   10000   10  722
4   3000    5   349
4   3000    10  665
4   10000   5   255
4   10000   10  470
5   3000    5   680
5   3000    10  1510
5   10000   5   499
5   10000   10  1422
6   3000    5   628
6   3000    10  2062
6   10000   5   499
6   10000   10  2158

数据具有两个固定效应(f1f2)和一个随机效应(ran)。从属数据为y。因为相关数据y表示计数并且分散过多,所以我使用的是负二项式模型。

gam模型及其summary的输出如下:

library(mgcv)
summary(gam(y ~ f1 * f2 + s(ran, bs = "re"), data = df2, family = nb, method = "REML"))

Family: Negative Binomial(27.376) 
Link function: log 

Formula:
y ~ f1 * f2 + s(ran, bs = "re")

Parametric coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept)  5.500e+00  3.137e-01  17.533  < 2e-16 ***
f1          -3.421e-05  3.619e-05  -0.945    0.345    
f2           1.760e-01  3.355e-02   5.247 1.55e-07 ***
f1:f2        2.665e-07  4.554e-06   0.059    0.953    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
         edf Ref.df Chi.sq p-value    
s(ran) 4.726      5  85.66  <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.866   Deviance explained = 93.6%
-REML = 185.96  Scale est. = 1         n = 24

来自summary的Wald检验对f2P = 1.55e-07)具有很高的意义。但是,当我通过比较使用方差分析的两个不同模型来测试f2的重要性时,我得到了截然不同的结果:

anova(gam(y ~ f1 * f2 + s(ran, bs = "re"), data = df2, family = nb, method = "ML"),
gam(y ~ f1 + s(ran, bs = "re"), data = df2, family = nb, method = "ML"),
test="Chisq")

Analysis of Deviance Table

Model 1: y ~ f1 * f2 + s(ran, bs = "re")
Model 2: y ~ f1 + s(ran, bs = "re")
  Resid. Df Resid. Dev      Df Deviance Pr(>Chi)
1    14.843     18.340                          
2    16.652     21.529 -1.8091   -3.188   0.1752

f2不再重要。根据评估固定效果的建议,将模型从REML更改为ML。

如果保留了相互作用,则使用方差分析仍可以忽略f2:

anova(gam(y ~ f1 + f2 + f1:f2 + s(ran, bs = "re"), data = df2, family = nb, method = "ML"),
gam(y ~ f1 + f1:f2 + s(ran, bs = "re"), data = df2, family = nb, method = "ML"),
test="Chisq")
Analysis of Deviance Table

Model 1: y ~ f1 + f2 + f1:f2 + s(ran, bs = "re")
Model 2: y ~ f1 + f1:f2 + s(ran, bs = "re")
  Resid. Df Resid. Dev       Df Deviance Pr(>Chi)
1    14.843     18.340                           
2    15.645     19.194 -0.80159 -0.85391   0.2855

对于这些方法中哪种更合适的建议,我将不胜感激。非常感谢!

1 个答案:

答案 0 :(得分:1)

?anova.gam的“警告”部分说:

  

如果模型ab仅在没有未惩罚成分(例如随机效应)方面有所不同,则anova(a,b)的p值将不可靠,通常太低。

我猜想p值不可靠,但在这种情况下,您会遇到与预期相反的情况-p值要大得多。

但是,我认为您没有在比较正确的模型。除非您知道自己在做什么,否则在将模型与交互进行比较时应遵守边际原则。

因此,我将比较具有f1f2主要效果的模型与包含这些主要效果及其相互作用的模型。

  • 模型1:y ~ f1 * f2 + s(ran, bs = "re")
  • 模型2:y ~ f1 + f2 + s(ran, bs = "re")

除非您没有告诉我们有关如何设置模型的信息,否则不应该包含高阶术语而不包含在高阶术语中找到的低阶术语。例如,您有f1 + f1:f2,并且在模型中找不到f2,但在模型中没有找到OVER 1