Я заметил довольно тревожную вещь при выполнении игр в R. Две модели с одинаковым набором переменных дают разные результаты в зависимости от порядка переменных:
g_2303e=gam(nons~vuosi+CWD+s(zb)+ s(intens),family=nb, data= d2303)
Warning message:
In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
> summary(g_2303e)
Anova for Parametric Effects
Df Sum Sq Mean Sq F value Pr(>F)
vuosi 1 0.3396 0.33962 3.3619 0.06992 .
CWD 1 0.4622 0.46216 4.5750 0.03506 *
s(zb) 1 2.8278 2.82780 27.9927 8.062e-07 ***
s(intens) 1 1.7755 1.77551 17.5760 6.289e-05 ***
Residuals 93 9.3948 0.10102
---
Anova for Nonparametric Effects
Npar Df Npar F Pr(F)
(Intercept)
vuosi
CWD
s(zb) 3 18.7238 1.39e-09 ***
s(intens) 3 0.6709 0.572
---
> g_2303eb=gam(nons~vuosi+ s(intens)+CWD+s(zb),family=nb, data= d2303)
Warning message:
In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
> summary(g_2303eb)
Number of Local Scoring Iterations: 8
Anova for Parametric Effects
Df Sum Sq Mean Sq F value Pr(>F)
vuosi 1 0.3396 0.3396 3.3619 0.06992 .
s(intens) 1 0.0041 0.0041 0.0406 0.84075
CWD 1 0.4612 0.4612 4.5653 0.03525 *
s(zb) 1 4.6002 4.6002 45.5378 1.261e-09 ***
Residuals 93 9.3948 0.1010
---
Anova for Nonparametric Effects
Npar Df Npar F Pr(F)
(Intercept)
vuosi
s(intens) 3 0.6709 0.572
CWD
s(zb) 3 18.7238 1.39e-09 ***
Я полагаю, что Anova сравнивает переменные в порядок, в котором они были записаны в формуле, вместо этого сравнивая их по отдельности с некоторым общим значением (?) Должен ли я как-то настроить контраст? Я попробовал options(contrasts = c("contr.sum","contr.poly"))
, что решило совершенно другую проблему, с которой я столкнулся ранее с определенным GLM-вопросом, здесь это не сработало (вы догадались, я не статистик, а просто подражатель-эколог). Или я должен просто перебрать все возможные переменные ордера и выбрать модель с лучшим AI C (эта опция неудобна).