Я занимаюсь GAM-моделями, но у меня есть проблема с факторным взаимодействием
Использование базы данных с видами птиц (включая женщин, мужчин, взрослых и несовершеннолетних). Переменная PC1
, и я хочу посмотреть, есть ли существенные изменения во времени (годах).
Вот формула, которую я использую:
gam1.1 <- gam (PC1 ~ s (year, bs = "fs", k = 1) +
sex + old + month, data = be, method = "REML")
basis dimension, k, increased to minimum possible
basis dimension, k, increased to minimum possible
Family: gaussian
Link function: identity
Formula:
PC1 ~ s(year) + sex * old + month
Parametric Terms:
df F p-value
sex 1 189.228 < 2e-16
old 2 5.964 0.00266
month 1 0.493 0.48288
sex:old 1 1.046 0.30666
Approximate significance of smooth terms:
edf Ref.df F p-value
s(year) 7.686 8.448 59.12 <2e-16
Method: REML Optimizer: outer newton
full convergence after 7 iterations.
Gradient range [-9.328195e-07,6.627805e-07]
(score 1530.247 & scale 1.257273).
Hessian positive definite, eigenvalue range [2.148638,488.523].
Model rank = 15 / 16
Basis dimension (k) checking results. Low p-value (k-index<1) may
indicate that k is too low, especially if edf is close to k'.
k' edf k-index p-value
s(year) 9.00 7.69 0.93 0.01 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Но gam.check
показывает плохое соответствие (k низкое)
Если я делаю ту же самую формулу, но только для взрослых мужчин моего вида (то есть удаляю половой фактор и возраст), у меня нет проблем, и подходит с gam.check
gam(PC1~ s(year)+month, data=be, method="REML")
Family: gaussian
Link function: identity
Formula:
PC1 ~ s(year) + month
Parametric Terms:
df F p-value
month 1 0.023 0.881
Approximate significance of smooth terms:
edf Ref.df F p-value
s(year) 7.973 8.678 57.3 <2e-16
Method: REML Optimizer: outer newton
full convergence after 6 iterations.
Gradient range [-1.254728e-07,1.856222e-08]
(score 351.9589 & scale 0.8301404).
Hessian positive definite, eigenvalue range [1.9333,124.0996].
Model rank = 11 / 11
Basis dimension (k) checking results. Low p-value (k-index<1) may
indicate that k is too low, especially if edf is close to k'.
k' edf k-index p-value
s(year) 9.00 7.97 0.95 0.18
Но как мне избежать различий по возрасту и полу?