我正在使用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
数据具有两个固定效应(f1
和f2
)和一个随机效应(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检验对f2
(P = 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
对于这些方法中哪种更合适的建议,我将不胜感激。非常感谢!
答案 0 :(得分:1)
?anova.gam
的“警告”部分说:
如果模型
a
和b
仅在没有未惩罚成分(例如随机效应)方面有所不同,则anova(a,b)
的p值将不可靠,通常太低。
我猜想p值不可靠,但在这种情况下,您会遇到与预期相反的情况-p值要大得多。
但是,我认为您没有在比较正确的模型。除非您知道自己在做什么,否则在将模型与交互进行比较时应遵守边际原则。
因此,我将比较具有f1
和f2
主要效果的模型与包含这些主要效果及其相互作用的模型。
y ~ f1 * f2 + s(ran, bs = "re")
y ~ f1 + f2 + s(ran, bs = "re")
除非您没有告诉我们有关如何设置模型的信息,否则不应该包含高阶术语而不包含在高阶术语中找到的低阶术语。例如,您有f1 + f1:f2
,并且在模型中找不到f2
,但在模型中没有找到OVER 1
。