Résumé d'un ajustement GAM

12

Si nous adaptons un GAM comme:

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)

Où, nous utilisons l'ensemble de données College, qui peut être trouvé à l'intérieur du package ISLR.
Maintenant, si nous trouvons le résumé de cet ajustement, nous pouvons voir 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

Ici, je ne comprends pas le sens de la partie "Anova pour les effets paramétriques" ainsi que "Anova pour les effets non paramétriques". Bien que je connaisse le fonctionnement du test ANOVA, mais je ne parviens pas à comprendre la partie «effets paramétriques» et «effets non paramétriques» du résumé. Que signifient-ils donc? Quelle est leur signification?


Cette question a été soulevée en raison de la partie (d) de cette réponse, pour la question 10, chapitre 7 de l' introduction de l'apprentissage statistique .

Mooncrater
la source

Réponses:

22

La façon dont le résultat de cette approche de l'ajustement des GAM est structuré consiste à regrouper les parties linéaires des lissoirs avec les autres termes paramétriques. L'avis Privatea une entrée dans le premier tableau mais son entrée est vide dans le second. C'est parce que Privatec'est un terme strictement paramétrique; c'est une variable factorielle et est donc associée à un paramètre estimé qui représente l'effet de Private. La raison pour laquelle les termes lisses sont séparés en deux types d'effets est que cette sortie vous permet de décider si un terme lisse a

  1. un effet non linéaire : regardez le tableau non paramétrique et évaluez la signification. En cas de signification, laissez comme un effet non linéaire lisse. S'il n'est pas significatif, considérez l'effet linéaire (2. ci-dessous)
  2. un effet linéaire : regardez le tableau paramétrique et évaluez l'importance de l'effet linéaire. S'il est significatif, vous pouvez transformer le terme en un lisse s(x)-> xdans la formule décrivant le modèle. Si elle est insignifiante, vous pourriez envisager de supprimer complètement le terme du modèle (mais soyez prudent avec cela --- cela revient à affirmer fortement que le véritable effet est == 0).

Tableau paramétrique

Les entrées ici sont comme ce que vous obtiendriez si vous ajustiez ce modèle linéaire et calculiez la table ANOVA, sauf qu'aucune estimation pour les coefficients du modèle associé n'est affichée. Au lieu des coefficients estimés et des erreurs-types, et des tests t ou Wald associés , la quantité de variance expliquée (en termes de sommes de carrés) est indiquée à côté des tests F. Comme pour les autres modèles de régression équipés de covariables multiples (ou fonctions de covariables), les entrées du tableau sont conditionnelles aux autres termes / fonctions du modèle.

Tableau non paramétrique

Les effets non paramétriques concernent les parties non linéaires des lisseuses ajustées. Aucun de ces effets non linéaires n'est significatif, à l'exception de l'effet non linéaire de Expend. Il existe des preuves d'un effet non linéaire de Room.Board. Chacun de ces éléments est associé à un certain nombre de degrés de liberté non paramétriques ( Npar Df) et ils expliquent une quantité de variation de la réponse, dont la quantité est évaluée via un test F (par défaut, voir l'argument test).

Ces tests dans la section non paramétrique peuvent être interprétés comme un test de l'hypothèse nulle d'une relation linéaire au lieu d'une relation non linéaire .

La façon dont vous pouvez interpréter cela est que seuls les Expendgaranties sont traitées comme un effet non linéaire fluide. Les autres lissages pourraient être convertis en termes paramétriques linéaires. Vous voudrez peut-être vérifier que le lissage de Room.Boardcontinue d'avoir un effet non paramétrique non significatif une fois que vous avez converti les autres lissages en termes paramétriques linéaires; il se peut que l'effet de Room.Boardsoit légèrement non linéaire, mais cela est affecté par la présence des autres termes lisses dans le modèle.

Cependant, cela pourrait dépendre en grande partie du fait que de nombreux lissages n'étaient autorisés qu'à utiliser 2 degrés de liberté; pourquoi 2?

Sélection automatique de la douceur

Des approches plus récentes pour ajuster les GAM choisiraient le degré de lissage pour vous via des approches de sélection de lissage automatique telles que l'approche de spline pénalisée de Simon Wood, implémentée dans le package recommandé 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')

Le résumé du modèle est plus concis et considère directement la fonction lisse dans son ensemble plutôt que comme une contribution linéaire (paramétrique) et non linéaire (non paramétrique):

> 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

Maintenant, la sortie rassemble les termes lisses et les termes paramétriques dans des tableaux séparés, ces derniers obtenant une sortie plus familière similaire à celle d'un modèle linéaire. L'effet entier des termes lisses est indiqué dans le tableau inférieur. Ce ne sont pas les mêmes tests que pour le gam::gammodèle que vous montrez; ce sont des tests contre l'hypothèse nulle que l'effet lisse est une ligne plate et horizontale, un effet nul ou montrant un effet nul. L'alternative est que le véritable effet non linéaire est différent de zéro.

Notez que les FED sont tous supérieurs à 2 sauf pour s(perc.alumni), ce qui suggère que le gam::gammodèle peut être un peu restrictif.

Les lisses ajustées pour comparaison sont données par

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

qui produit

entrez la description de l'image ici

La sélection automatique du lissage peut également être cooptée pour réduire entièrement les termes du modèle:

Cela fait, nous voyons que l'ajustement du modèle n'a pas vraiment changé

> 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

Tous les lissages semblent suggérer des effets légèrement non linéaires même après avoir réduit les parties linéaires et non linéaires des splines.

Personnellement, je trouve la sortie de mgcv plus facile à interpréter, et parce qu'il a été démontré que les méthodes de sélection automatique du lissage auront tendance à s'adapter à un effet linéaire si cela est pris en charge par les données.

Réintégrer Monica - G. Simpson
la source
4
+1 Grande explication. (Je suis curieux de savoir ce que vous entendez par "test F non paramétrique", cependant: en quoi différerait-il d'un test F standard, le cas échéant?)
Whuber
4
@whuber c'est juste une mauvaise formulation; c'est un test F standard, mais en raison de la décomposition des lissages en parties linéaires et non linéaires, ce sont des tests de ce que la sortie appelle le bit "non paramétrique". Je vais éditer ça.
Reinstate Monica - G. Simpson
3
les valeurs p ne fonctionnent pas de cette façon; pour que le test soit même effectué, nous avons supposé que l'hypothèse nulle est vraie . Ce que fait ce test, c'est de supposer que la relation est linéaire, à quel point est-ce en contradiction avec cette hypothèse que les preuves sont apportées par les données? Si les preuves apportées par les données sont cohérentes avec celles auxquelles nous nous attendons si la valeur nulle est vraie. Si les preuves sont incompatibles avec l'hypothèse nulle, il est peu probable que nous ayons observé les données que nous avons obtenues si la valeur nulle était vraie. La valeur p est une mesure de la preuve par rapport au nul.
Rétablir Monica - G. Simpson
1
Vous dites de la table paramétrique: "Les entrées ici sont essentiellement ce que vous obtiendriez si vous ajustiez cela comme un modèle linéaire et calculiez la table ANOVA." Je suppose que ce n'est pas littéralement vrai (c'est-à-dire que la partie non linéaire du modèle n'a aucun impact sur les estimations de signification pour la partie linéaire). Certes, l'estimation des parties linéaires et non linéaires est effectuée conjointement, et la partie non linéaire affecte les coefficients de la partie linéaire ainsi que leur signification, non?
Jacob Socolar du
1
@JacobSocolar Autant que je sache, la spline est décomposable en une composante linéaire et certaines composantes non linéaires (dont le nombre dépend des degrés de liberté autorisés pour la spline). Ce que je voulais dire, c'est le type de sortie que vous obtiendriez d'un ajustement de modèle linéaire suivi par ANOVA (c'est-à-dire un test F pour le carré moyen). Mais oui, ce sont des effets partiels dans le sens où la variance expliquée par une partie du modèle dépend des autres termes (& fonctions de base) du modèle. Et oui, je ne voulais pas dire cette citation littéralement; Je reformulerai "comme ce que vous voudriez ...".
Rétablir Monica - G. Simpson