Гам модели в R. k-index - PullRequest
       40

Гам модели в R. k-index

0 голосов
/ 29 апреля 2020

Я занимаюсь 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

Но как мне избежать различий по возрасту и полу?

...