1 votos

Selección automática de GAM: términos suaves y paramétricos

Estoy empezando a experimentar con el mgcv Mi problema es el siguiente: estoy modelando el recuento de un estudio de aves en el espacio, con un número de diferentes variables predictoras de hábitat. Tengo un GAM que tiene una suavidad espacial s(x,y) y luego diez términos lineales paramétricos. El GAM tiene la forma:

~gam(count ~ s(X,Y) A + B + C + D + E + F + G + H + I + J,
             offset = log(d),
             family = poisson,
             link = log)

Tengo 60 conjuntos de datos diferentes, cada uno de los cuales representa el recuento de una especie específica en el espacio durante un periodo de tiempo concreto, junto con las variables predictoras. Mi objetivo es ajustar un GAM para cada conjunto de datos, de forma automática. Quiero identificar el "mejor" ajuste. Después de leer un poco, la selección de modelos por pasos no parece ser lo más adecuado. También soy consciente de que los términos suaves pueden ser penalizados, seleccionándolos efectivamente fuera del ajuste. Pero no está claro cómo hacer esto con términos paramétricos lineales. Así que agradecería cualquier consejo metodológico sobre cómo automatizar la selección del modelo para mi problema particular.

3voto

David J. Sokol Puntos 1730

Creo que la forma más fácil de hacer esto con mgcv sería no forzar la linealidad para los efectos paramétricos, sino admitir el potencial de una pequeña cantidad de no linealidad y entonces se puede utilizar la doble penalización en todos los términos con select = TRUE .

gam(count ~ s(X,Y) +
      s(A, k = 3) + s(B, k = 3) + s(C, k = 3) + s(D, k = 3) + s(E, k = 3) + 
      s(F, k = 3) + s(G, k = 3) + s(H, k = 3) + s(I, k = 3) + s(J, k = 3) +
      offset(log(d)),
    method = "REML",
    family = poisson(link = "log"),
    select = TRUE)

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