3 votos

Problema de "rango de nudos demasiado amplio" al ajustar un modelo GAM

Esta pregunta puede ser muy básica. Estoy ajustando un modelo GAM (para una clasificación de dos clases) con unas cuantas variables numéricas. Algunas de ellas son así:

una gran parte de los valores se establece en -999, lo que significa que no hay registro, mientras que el resto tiene valores significativos > 0

Como la parte > 0 todavía tiene cierto poder discriminatorio, no quiero eliminar estas variables del modelo. Sin embargo, cuando utilizo estas variables, mi modelo da advertencias como las siguientes:

knot range is so wide that there is *no* information about some basis coefficients

Supongo que esto se debe a que entre (-999, 0) no hay nudo. El uso de variables de esta manera puede cambiar significativamente las splines de suavizado de otras características y hacer que el ajuste sea peor.

¿Cuál es una buena práctica en esta situación? ¿Deberíamos ajustar splines sólo a la parte > 0 de estas variables?

1voto

eldering Puntos 3814

Consideremos que, en lugar de codificar los datos que faltan mediante la imputación $-999$ en lugar de imputar el valor medio de los datos que no faltan en los datos de entrenamiento.

Por supuesto, esto afectará al ajuste del spline. Debería poder rectificar esto introduciendo un nuevo indicador binario en su conjunto de modelos en $1$ para los datos que faltan y $0$ para los datos que no faltan. Entonces el modelo utilizará el indicador para absorber la señal de los datos que faltan, y el spline queda libre para recoger la verdadera tendencia de los datos que no faltan.

Se trata de una técnica bastante eficaz para los glms estándar, y no me parece que haya nada que impida su generalización a los gams.

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