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 Private
a une entrée dans le premier tableau mais son entrée est vide dans le second. C'est parce que Private
c'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
- 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)
- 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)
-> x
dans 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 Expend
garanties 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.Board
continue 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.Board
soit 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::gam
modè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::gam
modè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
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.