2 votos

¿Desviación explicada aceptable/razonable para la GAM ajustada?

Gracias a todos por cualquier ayuda de antemano.

He construido una serie de GAM anidados en mgcv para explicar la presencia/ausencia de anticuerpos en una población de animales y he utilizado AIC para seleccionar mi modelo de mejor ajuste. A pesar de incluir todas las variables explicativas biológicamente plausibles a las que tengo acceso, mi mejor modelo basado en AIC sólo explica el 36,6% de la desviación en mis datos.

Mi pregunta es: ¿cuál sería de esperar que fuera el valor de la desviación explicada si mi modelo se ajusta bien/razonablemente bien a mis datos? Basándose en la poca información proporcionada, ¿sugeriría que este modelo se ajusta bien a mis datos o no, por qué/por qué no?

Me preocupa el ajuste del modelo (por ejemplo, la no normalidad de los residuos), pero no tengo más predictores que incluir....

Entiendo que la desviación explicada es algo similar al R2 de una regresión lineal, por ejemplo, ver aquí . Cuando se utiliza R2, diferentes investigadores utilizan diferentes reglas empíricas en lo que respecta a la magnitud del valor que es generalmente indicativo de un ajuste razonable del modelo - algunos investigadores dicen que R2>0,6 es un buen ajuste, otros dicen que R2>0,4 o incluso menos es un buen ajuste, dependiendo del problema específico en cuestión. En la regresión logística existe un valor similar, McFadden R2. En general, la magnitud de McFadden R2 que indica un ajuste razonable del modelo es mucho menor que la de R2 para la regresión lineal. ¿Qué valor/valores pueden ser indicativos de un ajuste razonable del modelo para la desviación explicada? ¿Existen reglas empíricas o referencias?

Esta es la primera vez que utilizo GAM, por lo que no tengo experiencia previa para comparar los valores explicados de desviación que he obtenido en otros conjuntos de datos. A continuación he proporcionado un resumen de mi gam y la salida de gam.check() para más antecedentes.

Resumen del modelo

Family: binomial 
Link function: logit 

Formula:
cbind(cnt_RHDV1_pos, cnt_RHDV1_neg) ~ s(prev_rcv, k = 10) + RHDV2_arrive_cat + 
    breed_season + s(ave_age, k = 10) + s(ave_ajust_abun, k = 10) + 
    s(RHDV2_arrive_cat, breed_season, bs = "re", k = 2) + 
    s(ave_ajust_abun, RHDV2_arrive_cat, bs = "fs", k = 30) + 
    s(ave_age, RHDV2_arrive_cat, bs = "fs", k = 30) + s(lat, 
    long, k = 11)

Parametric coefficients:
                  Estimate Std. Error z value Pr(>|z|)    
(Intercept)      -0.706873   0.067609 -10.455   <2e-16
RHDV2_arrive_cat  0.000000   0.000000      NA       NA    
breed_season      0.002608   0.136810   0.019    0.985    
---

Approximate significance of smooth terms:
                                      edf Ref.df Chi.sq  p-value    
s(prev_rcv)                        3.0480  3.754 35.345 4.18e-07 
s(ave_age)                         1.0002  1.000  0.810 0.368089    
s(ave_ajust_abun)                  1.0004  1.001  7.460 0.006329  
s(RHDV2_arrive_cat,breed_season)   0.8871  1.000  7.724 0.002459 
s(ave_ajust_abun,RHDV2_arrive_cat) 2.9496  3.937 14.362 0.006457 
s(ave_age,RHDV2_arrive_cat)        8.7334 27.000 25.084 0.000495 
s(lat,long)                        4.8955  5.353 45.387 2.52e-08 
---

Rank: 94/95
R-sq.(adj) =  0.289   Deviance explained = 36.6%
-REML = 443.79  Scale est. = 1         n = 159

Resultado de gam.check()

Method: REML   Optimizer: outer newton
full convergence after 10 iterations.
Gradient range [-0.0001601705,6.142111e-05]
(score 443.7918 & scale 1).
Hessian positive definite, eigenvalue range [6.788685e-05,1.222609].
Model rank =  94 / 95 

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(prev_rcv)                         9.000  3.048    1.01    0.52
s(ave_age)                          9.000  1.000    0.99    0.45
s(ave_ajust_abun)                   9.000  1.000    0.95    0.24
s(RHDV2_arrive_cat,breed_season)    1.000  0.887    1.09    0.92
s(ave_ajust_abun,RHDV2_arrive_cat) 27.000  2.950    1.05    0.68
s(ave_age,RHDV2_arrive_cat)        27.000  8.733    1.05    0.77
s(lat,long)                        10.000  4.895    1.00    0.46

qqplot of resids resids vs linear predhist of residsresponse vs fitted values

1voto

Zizzencs Puntos 1358

Preguntas como "¿hasta qué punto es bueno este ajuste?" o "¿cuál es un ajuste razonable?" dependen de cada campo (por ejemplo, generalmente obtenemos peores ajustes en psicología que en física) y, dentro de cualquier campo, pueden depender de las preguntas. Las "reglas empíricas" que citas para la regresión lineal son, en mi opinión, demasiado generales para ser útiles.

Creo que lo que tienes que hacer es mirar el valor ajustado frente a la respuesta, empezando por tu último gráfico, y comparar ese grado de ajuste con el estándar de tu campo. Además del gráfico de dispersión que muestras, podrías ver un gráfico de caja de los residuos, un gráfico de diferencia de medias de Tukey (también conocido como gráfico de Bland Altman) y quizás otras cosas para juzgar lo bien que lo estás haciendo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X