Il modo in cui è strutturato l'output di questo approccio all'adattamento dei GAM è di raggruppare le parti lineari dei smoother con gli altri termini parametrici. L'avviso Private
ha una voce nella prima tabella ma la sua voce è vuota nella seconda. Questo perché Private
è un termine strettamente parametrico; è una variabile fattore e quindi è associata a un parametro stimato che rappresenta l'effetto di Private
. Il motivo per cui i termini uniformi sono separati in due tipi di effetti è che questo output consente di decidere se un termine regolare ha
- un effetto non lineare : osserva la tabella non parametrica e valuta il significato. Se significativo, lascia come effetto liscio non lineare. Se insignificante, considera l'effetto lineare (2. sotto)
- un effetto lineare : osserva la tabella parametrica e valuta il significato dell'effetto lineare. Se significativo, puoi trasformare il termine in liscio
s(x)
-> x
nella formula che descrive il modello. Se insignificante potresti considerare di eliminare del tutto il termine dal modello (ma fai attenzione con questo --- ciò equivale a una forte affermazione che il vero effetto è == 0).
Tabella parametrica
Le voci qui sono come quelle che si otterrebbero se si inserisse questo modello lineare e si calcolasse la tabella ANOVA, tranne per il fatto che non vengono mostrate stime per i coefficienti dei modelli associati. Invece di coefficienti stimati ed errori standard e test t o Wald associati , la quantità di varianza spiegata (in termini di somme di quadrati) viene mostrata accanto ai test F. Come con altri modelli di regressione dotati di più covariate (o funzioni di covariate), le voci nella tabella sono subordinate agli altri termini / funzioni del modello.
Tabella non parametrica
Gli effetti non parametrici si riferiscono alle parti non lineari dei rasoi montati. Nessuno di questi effetti non lineari è significativo ad eccezione dell'effetto non lineare di Expend
. Ci sono alcune prove di un effetto non lineare di Room.Board
. Ognuno di questi è associato a un certo numero di gradi di libertà non parametrici ( Npar Df
) e spiegano una quantità di variazione nella risposta, la cui quantità viene valutata tramite un test F (per impostazione predefinita, vedere l'argomento test
).
Questi test nella sezione non parametrica possono essere interpretati come test dell'ipotesi nulla di una relazione lineare anziché di una relazione non lineare .
Il modo in cui puoi interpretarlo è che solo i Expend
warrant sono trattati come un liscio effetto non lineare. Gli altri smooth potrebbero essere convertiti in termini parametrici lineari. Potresti voler verificare che il smooth di Room.Board
continui ad avere un effetto non parametrico non significativo una volta convertiti gli altri smooth in termini lineari e parametrici; può darsi che l'effetto di Room.Board
sia leggermente non lineare, ma ciò è influenzato dalla presenza di altri termini uniformi nel modello.
Tuttavia, molto di questo potrebbe dipendere dal fatto che a molti smooth è stato permesso di usare solo 2 gradi di libertà; perché 2?
Selezione automatica della scorrevolezza
Gli approcci più recenti per l'adattamento dei GAM sceglierebbero il grado di scorrevolezza per te tramite approcci di selezione automatica della scorrevolezza come l'approccio spline penalizzato di Simon Wood come implementato nel pacchetto raccomandato 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')
Il riepilogo del modello è più conciso e considera direttamente la funzione smooth nel suo insieme piuttosto che come contributi lineari (parametrici) e non lineari (non parametrici):
> 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
Ora l'output riunisce i termini smooth e quelli parametrici in tabelle separate, con quest'ultima che ottiene un output più familiare simile a quello di un modello lineare. I termini uniformi dell'intero effetto sono mostrati nella tabella inferiore. Questi non sono gli stessi test del gam::gam
modello che mostri; sono test contro l'ipotesi nulla che l'effetto liscio sia una linea piatta, orizzontale, un effetto nullo o che mostri un effetto zero. L'alternativa è che il vero effetto non lineare è diverso da zero.
Si noti che i FES sono tutti più grandi di 2 tranne s(perc.alumni)
, suggerendo che il gam::gam
modello potrebbe essere un po 'restrittivo.
I smooth montati per il confronto sono dati da
plot(m, pages = 1, scheme = 1, all.terms = TRUE, seWithMean = TRUE)
che produce
La selezione automatica della levigatezza può anche essere cooptata per ridurre completamente i termini fuori dal modello:
Fatto ciò, vediamo che l'adattamento del modello non è realmente cambiato
> 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
Tutti i levigati sembrano suggerire effetti leggermente non lineari anche dopo che abbiamo ridotto le parti lineari e non lineari delle spline.
Personalmente, trovo che l'output di mgcv sia più facile da interpretare, e poiché è stato dimostrato che i metodi di selezione automatica della levigatura tenderanno ad adattarsi a un effetto lineare se supportato dai dati.