17 votos

Resumen de un ajuste GAM

Si ajustamos un GAM como:

gam.fit = gam::gam(Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, df = 2) + 
    s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, df = 2), data = College)

Donde usamos el conjunto de datos College, que se puede encontrar dentro del paquete ISLR.
Ahora, si encontramos el resumen de este ajuste, entonces podemos ver que:

> summary(gam.fit)

Llamada: gam(formula = Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, 
    df = 2) + s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, 
    df = 2), data = College)
Residuos de desviación:
     Mínimo       1Q   Mediana       3Q      Máximo 
-7522.66 -1140.99    55.18  1287.51  7918.22 

Parámetro de dispersión para la familia gaussiana tomado como 3475698

    Desviación nula: 12559297426 en 776 grados de libertad
Desviación residual: 2648482333 en 762.0001 grados de libertad
AIC: 13924.52 

Número de iteraciones de puntuación local: 2 

Anova para Efectos Paramétricos
                        Df     Sum Sq    Mean Sq Valor F    Pr(>F)    
Private                  1 3377801998 3377801998 971.834 < 2.2e-16 ***
s(Room.Board, df = 2)    1 2484460409 2484460409 714.809 < 2.2e-16 ***
s(PhD, df = 2)           1  839368837  839368837 241.496 < 2.2e-16 ***
s(perc.alumni, df = 2)   1  509679160  509679160 146.641 < 2.2e-16 ***
s(Expend, df = 5)        1 1019968912 1019968912 293.457 < 2.2e-16 ***
s(Grad.Rate, df = 2)     1  148052210  148052210  42.596 1.227e-10 ***
Residuos              762 2648482333    3475698                      
---
Códigos significativos:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Anova para Efectos No Paramétricos
                       Df Npar Npar F   Pr(F)    
(Intercept)                                      
Private                                          
s(Room.Board, df = 2)        1  3.480 0.06252 .  
s(PhD, df = 2)               1  1.916 0.16668    
s(perc.alumni, df = 2)       1  1.471 0.22552    
s(Expend, df = 5)            4 34.350 < 2e-16 ***
s(Grad.Rate, df = 2)         1  1.981 0.15971    
---
Códigos significativos:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Aquí, no entiendo el significado de la parte "Anova para efectos paramétricos" así como "Anova para efectos no paramétricos". Aunque sé cómo funciona la prueba ANOVA, no logro entender la parte de "efectos paramétricos" y "efectos no paramétricos" del resumen. Entonces, ¿qué significan? ¿Cuál es su importancia?


Esta pregunta surgió debido a la parte (d) de la respuesta de la pregunta 10, capítulo 7 de Introducción al Aprendizaje Estadístico.

29voto

David J. Sokol Puntos 1730

La forma en que se estructura la salida de este enfoque para ajustar GAMs es agrupando las partes lineales de los suavizadores con otros términos paramétricos. Observa que Privado tiene una entrada en la primera tabla pero su entrada está vacía en la segunda. Esto se debe a que Privado es un término estrictamente paramétrico; es una variable de factor y por lo tanto está asociada con un parámetro estimado que representa el efecto de Privado. La razón por la que los términos suaves se separan en dos tipos de efecto es que esta salida te permite decidir si un término suave tiene

  1. un efecto no lineal: observa la tabla no paramétrica y evalúa la significancia. Si es significativo, déjalo como un efecto suave no lineal. Si no es significativo, considera el efecto lineal (2. abajo)
  2. un efecto lineal: observa la tabla paramétrica y evalúa la significancia del efecto lineal. Si es significativo, puedes convertir el término en un suavizado s(x) -> x en la fórmula que describe el modelo. Si no es significativo, podrías considerar eliminar el término del modelo por completo (pero ten cuidado con esto --- eso equivale a afirmar fuertemente que el verdadero efecto es == 0).

Tabla paramétrica

Las entradas aquí son similares a las que obtendrías si ajustaras un modelo lineal y calcularas la tabla ANOVA, excepto que no se muestran estimaciones para los coeficientes del modelo. En lugar de coeficientes estimados y errores estándar, y pruebas asociadas t o Wald, se muestra la cantidad de varianza explicada (en términos de sumas de cuadrados) junto con pruebas F. Al igual que con otros modelos de regresión ajustados con múltiples covariables (o funciones de covariables), las entradas en la tabla son condicionales a los otros términos/funciones en el modelo.

Tabla no paramétrica

Los efectos no paramétricos se relacionan con las partes no lineales de los suavizadores ajustados. Ninguno de estos efectos no lineales es significativo excepto por el efecto no lineal de Gasto. Hay cierta evidencia de un efecto no lineal de Habitación/Pensión. Cada uno de estos está asociado con un número de grados de libertad no paramétricos (DF Npar) y explican una cantidad de variación en la respuesta, la cantidad de la cual se evalúa a través de una prueba F (por defecto, ver argumento prueba).

Estas pruebas en la sección no paramétrica pueden interpretarse como una prueba de la hipótesis nula de una relación lineal en lugar de una relación no lineal.

La forma en que puedes interpretar esto es que solo Gasto merece ser tratado como un efecto suave no lineal. Los otros suavizados podrían convertirse en términos paramétricos lineales. Es posible que desees verificar si el suavizado de Habitación/Pensión sigue teniendo un efecto no paramétrico no significativo una vez que conviertas los otros suavizados en términos lineales y paramétricos; puede ser que el efecto de Habitación/Pensión sea ligeramente no lineal pero esto esté siendo afectado por la presencia de los otros términos suaves en el modelo.

Sin embargo, gran parte de esto podría depender del hecho de que muchos suavizados solo pudieron usar 2 grados de libertad; ¿por qué 2?

Selección automática de suavidad

Enfoques más nuevos para ajustar GAMs elegirían el grado de suavidad por ti a través de enfoques de selección automática de suavidad como el enfoque de spline penalizado de Simon Wood implementado en el paquete recomendado mgcv:

datos(College, paquete = 'ISLR')
biblioteca('mgcv')

establecer.semilla(1)
nr <- nrow(College)
entrenar <- con(College, muestra(nr, techo(nr/2)))
College.entrenamiento <- College[entrenar, ]
m <- mgcv::gam(Outstate ~ Privado + s(Habitación/Pensión) + s(PhD) + s(perc.alumni) + 
               s(Gasto) + s(Rate.Grad), datos = College.entrenamiento,
               método = 'REML')

El resumen del modelo es más conciso y considera directamente la función suave en su totalidad en lugar de como contribuciones lineales (paramétricas) y no lineales (no paramétricas):

> resumen(m)

Familia: gaussiana 
Función de enlace: identidad 

Fórmula:
Outstate ~ Privado + s(Habitación/Pensión) + s(PhD) + s(perc.alumni) + 
    s(Gasto) + s(Rate.Grad)

Coeficientes paramétricos:
            Estimación Error estándar Valor t Valor p    
(Intercepto)   8544.1      217.2  39.330   <2e-16 ***
PrivadoSí    2499.2      274.2   9.115   <2e-16 ***
---
Códigos de significancia:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Significación aproximada de los términos suaves:
                 edf Ref.df      F  valor.p    
s(Habitación/Pensión)  2.190  2.776 20.233 3.91e-11 ***
s(PhD)         2.433  3.116  3.037 0.029249 *  
s(perc.alumni) 1.656  2.072 15.888 1.84e-07 ***
s(Gasto)      4.528  5.592 19.614  < 2e-16 ***
s(Rate.Grad)   2.125  2.710  6.553 0.000452 ***
---
Códigos de significancia:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-cuad.(adj) =  0.794   Deviance explicado = 80.2%
-REML = 3436.4  Est. escala = 3.3143e+06  n = 389

Ahora la salida reúne los términos suaves y los términos paramétricos en tablas separadas, siendo que los últimos obtienen una salida más familiar similar a la de un modelo lineal. El efecto completo de los términos suaves se muestra en la tabla inferior. Estas no son las mismas pruebas que para el modelo gam::gam que mostraste; son pruebas contra la hipótesis nula de que el efecto suave es una línea plana, horizontal, un efecto nulo o que muestra un efecto igual a cero. La alternativa es que el verdadero efecto no lineal sea diferente de cero.

Observa que los EDFs son todos mayores que 2 excepto por s(perc.alumni), lo que sugiere que el modelo gam::gam puede ser un poco restrictivo.

Los suavizados ajustados para comparación se muestran por

plot(m, páginas = 1, esquema = 1, todos.terminos = TRUE, errorConMedia = TRUE)

lo cual produce

introducir descripción de la imagen aquí

La selección automática de suavidad también puede ser utilizada para eliminar términos del modelo por completo:

Habiendo hecho eso, vemos que el ajuste del modelo no ha cambiado realmente

> resumen(m2)

Familia: gaussiana 
Función de enlace: identidad 

Fórmula:
Outstate ~ Privado + s(Habitación/Pensión) + s(PhD) + s(perc.alumni) + 
    s(Gasto) + s(Rate.Grad)

Coeficientes paramétricos:
            Estimación Error estándar Valor t Valor p    
(Intercepto)   8539.4      214.8  39.755   <2e-16 ***
PrivadoSí    2505.7      270.4   9.266   <2e-16 ***
---
Códigos de significancia:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Significación aproximada de los términos suaves:
                 edf Ref.df      F  valor.p    
s(Habitación/Pensión)  2.260      9  6.338 3.95e-14 ***
s(PhD)         1.809      9  0.913  0.00611 ** 
s(perc.alumni) 1.544      9  3.542 8.21e-09 ***
s(Gasto)      4.234      9 13.517  < 2e-16 ***
s(Rate.Grad)   2.114      9  2.209 1.01e-05 ***
---
Códigos de significancia:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-cuad.(adj) =  0.794   Deviance explicado = 80.1%
-REML = 3475.3  Est. escala = 3.3145e+06  n = 389

Todos los suavizados parecen sugerir efectos ligeramente no lineales incluso después de haber reducido las partes lineales y no lineales de las splines.

Personalmente, encuentro que la salida de mgcv es más fácil de interpretar, y porque se ha demostrado que los métodos automáticos de selección de suavidad tienden a ajustar un efecto lineal si los datos lo respaldan.

4 votos

+1 Gran explicación. (Estoy curioso/a de lo que quieres decir con una "prueba F no paramétrica", sin embargo: ¿cómo sería diferente de una prueba F estándar, si es que lo es?)

4 votos

@whuber eso es solo una mala formulación; es una prueba F estándar, pero debido a la descomposición de las suavizadas en partes lineales y no lineales, esas son pruebas de lo que la salida llama la parte "no paramétrica". Editaré eso.

0 votos

¡Gracias por la excelente respuesta! Mientras tanto, me preguntaba acerca de, "Estas pruebas en la sección no paramétrica se pueden interpretar como pruebas de la hipótesis nula de una relación lineal en lugar de una relación no lineal", en la que "pruebas de la hipótesis nula de una relación lineal" significaría que un valor de $p$ más alto daría una mayor posibilidad de que la hipótesis nula sea cierta. Es decir, una relación no lineal. Por lo tanto, uno más bajo indicaría una relación lineal, por lo tanto Expend debería tener una tendencia lineal en lugar de una no lineal. Pero eso es contradictorio.

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