Estoy tratando de averiguar cómo controlar los parámetros de suavizado en un mgcv::gam
modelo.
Tengo una variable binomial que estoy tratando de modelar como una función principalmente de coordenadas x e y en una cuadrícula fija, además de algunas otras variables con influencias menores. En el pasado he construido un modelo de regresión local razonablemente bueno utilizando el paquete locfit
y sólo los valores (x,y).
Sin embargo, quiero intentar incorporar las demás variables al modelo, y parecía que los modelos aditivos generalizados (GAM) eran una buena posibilidad. Tras examinar los paquetes gam y mgcv, ambos con una función GAM, opté por este último, ya que varios comentarios en hilos de listas de correo parecen recomendarlo. Una desventaja es que no parece soportar un suavizador de regresión local como loess o locfit.
Para empezar, sólo quería tratar de replicar aproximadamente el modelo locfit, utilizando sólo (x,y) coordenadas. Lo intenté tanto con suavizados regulares como con suavizados de producto tensorial:
my.gam.te <- gam(z ~ te(x, y),
family=binomial(logit), data=my.data,
scale = -1)
my.gam.s <- gam(z ~ s(x, y),
family=binomial(logit), data=my.data,
scale = -1)
Sin embargo, al trazar las predicciones del modelo, éstas están mucho más suavizadas en comparación con el modelo locfit. Así que he estado intentando ajustar el modelo para que no se suavice tanto. He intentado ajustar los parámetros sp y k, pero no me queda claro cómo afectan al suavizado. En locfit, el parámetro nn controla la amplitud de la vecindad utilizada, con valores más pequeños que permiten menos suavizado y más "ondulación", lo que ayuda a capturar algunas áreas de la cuadrícula donde la probabilidad de los resultados binomiales cambia rápidamente. ¿Cómo puedo configurar el modelo gam para que se comporte de forma similar?