Resumen de un ajuste GAM

12

Si encajamos 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)

Call: 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)
Deviance Residuals:
     Min       1Q   Median       3Q      Max 
-7522.66 -1140.99    55.18  1287.51  7918.22 

(Dispersion Parameter for gaussian family taken to be 3475698)

    Null Deviance: 12559297426 on 776 degrees of freedom
Residual Deviance: 2648482333 on 762.0001 degrees of freedom
AIC: 13924.52 

Number of Local Scoring Iterations: 2 

Anova for Parametric Effects
                        Df     Sum Sq    Mean Sq F value    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 ***
Residuals              762 2648482333    3475698                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Anova for Nonparametric Effects
                       Npar Df 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    
---
Signif. codes:  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 conozco el funcionamiento de la prueba ANOVA, pero no puedo entender la parte de los "efectos paramétricos" y "efectos no paramétricos" del resumen. Entonces, ¿qué significan? ¿Cuál es su significado?


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

Mooncrater
fuente

Respuestas:

22

La forma en que se estructura el resultado de este enfoque para ajustar los GAM es agrupar las partes lineales de los suavizadores con los otros términos paramétricos. Notice Privatetiene una entrada en la primera tabla pero su entrada está vacía en la segunda. Esto se debe a que Privatees 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 Private. La razón por la que los términos suaves se separan en dos tipos de efectos es que esta salida le permite decidir si un término suave tiene

  1. un efecto no lineal : mire la tabla no paramétrica y evalúe la significancia. Si es significativo, déjelo como un efecto no lineal suave. Si es insignificante, considere el efecto lineal (2. a continuación)
  2. un efecto lineal : mira la tabla paramétrica y evalúa la importancia del efecto lineal. Si es significativo, puede convertir el término en suave s(x)-> xen la fórmula que describe el modelo. Si es insignificante, podría considerar eliminar el término del modelo por completo (pero tenga cuidado con esto --- eso equivale a una declaración fuerte de que el verdadero efecto es == 0).

Tabla paramétrica

Las entradas aquí son como las que obtendrías si ajustaras este modelo lineal y calcularas la tabla ANOVA, excepto que no se muestran estimaciones de los coeficientes del modelo asociado. En lugar de los coeficientes estimados y los errores estándar, y las pruebas asociadas de t o Wald, la cantidad de varianza explicada (en términos de sumas de cuadrados) se muestra junto con las pruebas F. Al igual que con otros modelos de regresión equipados con múltiples covariables (o funciones de covariables), las entradas en la tabla están condicionadas 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 instalados. Ninguno de estos efectos no lineales es significativo, excepto el efecto no lineal de Expend. Hay alguna evidencia de un efecto no lineal de Room.Board. Cada uno de estos está asociado con un cierto número de grados de libertad no paramétricos ( Npar Df) y explican una cantidad de variación en la respuesta, cuya cantidad se evalúa mediante una prueba F (por defecto, ver argumento test).

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 puede interpretar esto es que solo Expendgarantiza ser tratado como un efecto no lineal suave. Los otros suavizados podrían convertirse a términos paramétricos lineales. Es posible que desee comprobar que el suavizado Room.Boardcontinúa teniendo un efecto no paramétrico no significativo una vez que convierte los otros suavizados en términos lineales y paramétricos; Puede ser que el efecto de Room.Boardsea ​​ligeramente no lineal, pero esto se ve afectado por la presencia de otros términos suaves en el modelo.

Sin embargo, mucho de esto podría depender del hecho de que a muchos suavizados solo se les permitía usar 2 grados de libertad; por qué 2?

Selección automática de suavidad

Los enfoques más nuevos para ajustar los GAM elegirían el grado de suavidad para usted a través de los enfoques de selección automática de suavidad, como el enfoque de spline penalizado de Simon Wood implementado en el paquete recomendado mgcv :

data(College, package = 'ISLR')
library('mgcv')

set.seed(1)
nr <- nrow(College)
train <- with(College, sample(nr, ceiling(nr/2)))
College.train <- College[train, ]
m <- mgcv::gam(Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
               s(Expend) + s(Grad.Rate), data = College.train,
               method = 'REML')

El resumen del modelo es más conciso y considera directamente la función suave como un todo en lugar de como una contribución lineal (paramétrica) y no lineal (no paramétrica):

> summary(m)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8544.1      217.2  39.330   <2e-16 ***
PrivateYes    2499.2      274.2   9.115   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  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(Expend)      4.528  5.592 19.614  < 2e-16 ***
s(Grad.Rate)   2.125  2.710  6.553 0.000452 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.2%
-REML = 3436.4  Scale est. = 3.3143e+06  n = 389

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

Tenga en cuenta que los FED son todos mayores que 2, excepto s(perc.alumni), lo que sugiere que el gam::gammodelo puede ser un poco restrictivo.

Los lisos ajustados para comparación están dados por

plot(m, pages = 1, scheme = 1, all.terms = TRUE, seWithMean = TRUE)

que produce

ingrese la descripción de la imagen aquí

La selección automática de suavidad también se puede elegir para reducir los términos del modelo por completo:

Una vez hecho esto, vemos que el ajuste del modelo no ha cambiado realmente

> summary(m2)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8539.4      214.8  39.755   <2e-16 ***
PrivateYes    2505.7      270.4   9.266   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  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(Expend)      4.234      9 13.517  < 2e-16 ***
s(Grad.Rate)   2.114      9  2.209 1.01e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.1%
-REML = 3475.3  Scale est. = 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 de selección automática de suavidad tenderán a ajustarse a un efecto lineal si los datos lo admiten.

Restablece a Mónica - G. Simpson
fuente
44
+1 Gran explicación. (Tengo curiosidad por lo que entendemos por una "prueba no paramétrica F", sin embargo: ¿cómo podría diferir de una prueba estándar F, en todo caso?)
whuber
44
@whuber eso es solo una pobre redacción; es una prueba F estándar, pero debido a la descomposición de los suavizados en partes lineales y no lineales, esas son pruebas de lo que la salida llama el bit "no paramétrico". Lo editaré.
Restablece a Monica - G. Simpson el
3
Los valores p no funcionan de esa manera; incluso para realizar la prueba, hemos asumido que la hipótesis nula es verdadera . Lo que está haciendo esa prueba es decir, supongamos que la relación es lineal, ¿cuánto en conflicto con ese supuesto es la evidencia aportada por los datos? Si la evidencia aportada por los datos es consistente con la que esperamos si la nula fuera cierta. Si la evidencia es inconsistente con la hipótesis nula, sería improbable que hubiéramos observado los datos que hicimos si la nula fuera cierta. El valor p es una medida de la evidencia contra el nulo.
Restablece a Monica - G. Simpson el
1
Usted dice de la tabla paramétrica: "Las entradas aquí son esencialmente lo que obtendría si ajustara esto como un modelo lineal y calculara la tabla ANOVA". Supongo que esto no es literalmente cierto (es decir, que la parte no lineal del modelo no afecta las estimaciones de significación para la parte lineal). Seguramente la estimación de las partes lineales y no lineales se realiza conjuntamente, y la parte no lineal afecta los coeficientes de la parte lineal, así como su importancia, ¿verdad?
Jacob Socolar
1
@JacobSocolar Según tengo entendido, la spline es descomponible en un componente lineal y algunos componentes no lineales (cuyo número depende de los grados de libertad permitidos para la spline). Lo que quise decir es que este es el tipo de salida que obtendría de un ajuste de modelo lineal seguido de ANOVA (es decir, una prueba F para el cuadrado medio). Pero sí, estos son efectos parciales en el sentido de que la varianza explicada por una parte del modelo depende de los otros términos (y funciones básicas) en el modelo. Y sí, no quise decir esa cita literalmente; Reformularé "me gusta lo que quisieras ...".
Restablece a Monica - G. Simpson el