7.5 La selezione dei predittori

Nel caso in cui si hanno a disposizione più predittori, è utile una strategia per selezionare il miglior insieme di predittori da usare in un modello di regressione.

Un approccio comune che è non raccomandato è quello di rappresentare graficamente la variabile da prevedere contro un particolare predittore e nel caso non ci sia una relazione evidente, cancellare quel predittore dal modello. Questo modo di procedere non è valido perché non è sempre possibile riconoscere la relazione utilizzando lo scatterplot, specialmente quando gli effetti degli altri predittori non sono stati considerati.

Un altro approccio comune che è altrettanto non valido consiste nello stimare un modello di regressione lineare multipla considerando tutti i predittori per poi eliminare quelle variabili i cui \(p\)-value sono più grandi di 0.05. Per cominciare, è utile osservare che significatività statistica non sempre è indice anche di valore previsivo. Anche se la previsione non fosse l’obiettivo, questo approccio non rappresenta una buona strategia perché i \(p\)-value possono essere fuorvianti quando due o più predittori sono correlati tra di loro (si veda il paragrafo 7.8).

Si utilizzeranno invece misure di accuratezza predittiva. Cinque di queste misure saranno introdotte in questo paragrafo. Queste possono essere mostrate utilizzando la funzione glance(), di seguito applicata al modello per i consumi per gli Stati Uniti:

glance(fit_consMR) %>%
  select(adj_r_squared, CV, AIC, AICc, BIC)
#> # A tibble: 1 × 5
#>   adj_r_squared    CV   AIC  AICc   BIC
#>           <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1         0.763 0.104 -457. -456. -437.

Questi valori saranno confrontati con i valori corrispondenti ottenuti da altri modelli. Per le misure CV, AIC, AICc e BIC, l’obiettivo è trovare il modello con il valore più piccolo; per l’\(R^2\) aggiustato, si cerca invece il modello con il valore più grande.

R\(^2\) aggiustato

L’output di una regressione prodotto da qualsiasi computer comprende sempre il valore dell’\(R^2\), discusso nel paragrafo 7.2. Tuttavia, questo indicatore non rappresenta una buona misura dell’abilità previsiva di un modello. L’indice \(R^2\) misura infatti quanto bene il modello si adatta ai dati storici, ma non misura quanto bene il modello prevederà osservazioni future.

Inoltre, l’\(R^2\) non consente “gradi di libertà”. Includendo una qualsiasi variabile, si ottiene un incremento del valore dell’\(R^2\), anche se la variabile inclusa è irrilevante. Per queste ragioni, chi fa previsioni non utilizza l’\(R^2\) per determinare se un modello produrrà buone previsioni, visto che il suo utilizzo può condurre al fenomeno del sovra-adattamento.

Un’idea equivalente consiste nel selezionare il modello che produce la somma degli errori quadratici (sum of squared errors, SSE) minima, data da \[ \text{SSE} = \sum_{t=1}^T e_{t}^2. \]

Minimizzare l’indicatore SSE è equivalente a massimizzare l’\(R^2\) e conduce sempre a scegliere il modello con il maggior numero di variabili, e quindi non rappresenta un approccio valido alla selezione dei predittori.

Un modo alternativo che è stato ideato per superare i precedenti problemi è rappresentato dall’impiego dell’\(R^2\) aggiustato (anche chiamato “R-quadro-segnato”): \[ \bar{R}^2 = 1-(1-R^2)\frac{T-1}{T-k-1}, \] dove \(T\) rappresenta il numero di osservazioni e \(k\) il numero di predittori. Questo indicatore rappresenta un miglioramento rispetto all’\(R^2\), visto che non cresce all’aumentare del numero di predittori inclusi nel modello. Utilizzando questa misura, il modello migliore è quello con il valore maggiore di \(\bar{R}^2\). Massimizzare l’\(\bar{R}^2\) è equivalente a minimizzare l’errore standard \(\hat{\sigma}_e\) nell’equazione (7.3).

L’approccio basato sulla massimizzazione dell’indice \(\bar{R}^2\) funziona abbastanza bene come metodo per la selezione dei predittori, sebbene questo criterio tenda a sbagliare nel senso di scegliere troppi predittori.

Convalida incrociata (cross-validation)

La convalida incrociata (cross-validation) per serie temporali è stata introdotta nel paragrafo 5.8 come uno strumento generale per determinare l’abilità predittiva di un modello. Per i modelli di regressione, è anche possibile utilizzare la classica strategia della convalida incrociata basata sull’esclusione di un’osservazione (leave-one-out) alla volta per la selezione dei predittori (Bergmeir et al., 2018). Questa procedura risulta più veloce e consiste in un uso più efficiente dei dati. La procedura si sostanzia nei seguenti passi:

  1. Rimuovere l’osservazione \(t\) dal data set, e stimare il modello utilizzando i dati rimanenti. Successivamente, calcolare l’errore (\(e_{t}^*=y_{t}-\hat{y}_{t}\)) per l’osservazione omessa. (Questo non coincide con il vettore dei residui perché l’osservazione \(t\)esima non è stata utilizzata nel calcolo del valore di \(\hat{y}_{t}\).)
  2. Ripetere il passo 1 per \(t=1,\dots,T\).
  3. Calcolare l’MSE usando \(e_{1}^*,\dots,e_{T}^*\). Il valore così ottenuto verrà indicato con CV.

Nonostante quest’ultima procedura possa sembrare costosa in termini di tempo impiegato, esistono dei metodi veloci per calcolare CV, che non richiedono più tempo di quello richiesto per stimare un modello sull’intero dataset. L’equazione per il calcolo di CV in maniera efficiente è fornita nel paragrafo 7.9. Adoperando questo criterio il miglior modello scelto è quello cui corrisponde il valore più piccolo di CV.

Criterio di informazione di Akaike

Un metodo strettamente collegato al precedente è il criterio di informazione di Akaike (AIC), che è definito nel modo seguente \[ \text{AIC} = T\log\left(\frac{\text{SSE}}{T}\right) + 2(k+2), \] dove \(T\) rappresenta il numero di osservazioni utilizzate per la stima dei parametri e \(k\) è il numero di predittori utilizzati nel modello. Molti software statistici utilizzano definizioni leggermente diverse dell’AIC, nonostante tutti questi metodi portino alla selezione dello stesso modello. La parte dell’equazione legata a \(k+2\) è introdotta perché ci sono \(k+2\) parametri nel modello: i \(k\) coefficienti dei predittori, l’intercetta e la varianza dei residui. L’idea che viene sfruttata è quella di penalizzare l’adattamento del modello (SSE) utilizzando il numero di parametri che devono essere stimati.

Il modello cui corrisponde il valore più piccolo dell’AIC coincide spesso con il miglior modello in previsione. Per valori grandi di \(T\), minimizzare l’AIC è equivalente a minimizzare il valore CV.

Criterio di informazione di Akaike corretto

Per dimensioni campionarie \(T\) piccole, la tendenza dell’AIC a selezionare un numero tipicamente ampio di predittori, ha portato allo sviluppo di una versione di AIC corretta per la distorsione (bias-corrected AIC), \[ \text{AIC}_{\text{c}} = \text{AIC} + \frac{2(k+2)(k+3)}{T-k-3}. \] Come accade per l’AIC, l’AICc deve essere minimizzato.

Criterio di informazione bayesiano di Schwarz

Una misura collegata alle precedenti è rappresentata dal criterio di informazione bayesiano di Schwarz (tipicamente abbreviato come BIC, SBIC o SC): \[ \text{BIC} = T\log\left(\frac{\text{SSE}}{T}\right) + (k+2)\log(T). \] Come per l’AIC, il modello migliore è quello cui corrisponde il valore minimo del BIC. Il modello scelto dal BIC coincide con il modello scelto dall’AIC o, in alternativa, con un modello con un numero minore di parametri. Questo si verifica perché il BIC penalizza maggiormente per il numero di parametri rispetto a quanto accade per l’AIC. Per valori grandi di \(T\), minimizzare il BIC produce risultati simili a quelli ottenuti dall’approccio basato sulla cross-validation che esclude \(v\) osservazioni (leave-\(v\)-out cross-validation) con \(v = T[1-1/(\log(T)-1)]\).

Quale misura utilizzare?

Nonostante l’indice \(\bar{R}^2\) sia molto impiegato, e sia stato introdotto da molto più tempo delle altre misure, la sua tendenza a selezionare troppi predittori lo rende meno utilizzabile a fini prefisivi.

Molti statistici trovano conveniente impiegare il BIC per la sua caratteristica che consiste nel selezionare il modello vero a condizione che tale modello esista e venga impiegato un numero sufficiente di osservazioni. Tuttavia, nella realtà, il modello vero sottostante esiste raramente oppure non esiste, e anche nel caso in cui il modello vero esista, selezionare tale modello non necessariamente conduce alle previsioni migliori (questo si verifica perché le stime dei parametri potrebbero non essere molto accurate).

Concludendo, si raccomanda l’utilizzo delle statistiche AICc, AIC o CV, perché ciascuna delle precedenti ha la previsione come obiettivo. Se il numero di osservazioni \(T\) è sufficientemente grande, tutte le precedenti statistiche conducono alla selezione del medesimo modello. Nella gran parte degli esempi riportati in questo libro si utilizzerà l’indice AICc per selezionare il modello di previsione.

Esempio: consumi negli Stati Uniti

Nel precedente esempio sulla regressione multipla per prevedere il consumi negli Stati Uniti sono stati considerati quattro predittori. Con quattro predittori, esistono \(2^4=16\) combinazioni di modelli possibili. Si può ora verificare se tutti e quattro i regressori sono veramente utili, oppure se è possibile escludere uno o più di questi regressori. Sono stati stimati tutti i 16 modelli, ed i residui sono riassunti in tabella 7.1. Un “⬤” indicatche il corrispondente predittore è stato incluso nel modello, quindi la prima riga della tabella mostra le misure di accuratezza predittiva per il modello che include tutti e quattro i regressori.

I risultati sono ordinati rispetto al valore dell’indice AICc. Conseguentemente i modelli migliori sono riportati all’inizio della tabella, mentre i peggiori sono riportati alla fine della tabella.

Tabella 7.1: I 16 modelli possibili per prevedere i consumi negli Stati Uniti con 4 predittori.
Income Production Savings Unemployment AdjR2 CV AIC AICc BIC
0.763 0.104 -456.6 -456.1 -436.9
0.761 0.105 -455.2 -454.9 -438.7
0.760 0.104 -454.4 -454.1 -437.9
0.735 0.114 -435.7 -435.5 -422.6
0.366 0.271 -262.3 -262.0 -245.8
0.349 0.279 -257.1 -256.8 -240.7
0.345 0.276 -256.9 -256.6 -243.7
0.336 0.282 -254.2 -254.0 -241.0
0.324 0.287 -250.7 -250.5 -237.5
0.311 0.291 -246.9 -246.7 -233.7
0.308 0.293 -246.1 -245.9 -232.9
0.276 0.304 -238.1 -238.0 -228.2
0.274 0.303 -237.4 -237.3 -227.5
0.143 0.356 -204.6 -204.5 -194.7
0.061 0.388 -186.5 -186.4 -176.7
0.000 0.409 -175.1 -175.0 -168.5

Il modello migliore contiene tutti e quattro i predittori. Tuttavia, un’analisi più approfondita dei risultati rivela alcuni aspetti interessanti. Innanzitutto esiste una chiara separazione tra i modelli riportati nelle prime quattro righe della tabella e quelli riportati immediatamente dopo. Questo indica che Income e Savings risultano essere entrambe variabili più rilevanti di Production e Unemployment. Inoltre, le prime tre righe della tabella manifestano valori di CV, AIC e AICc quasi identici. Si può quindi escludere una delle variabili Production e Unemployment ottenendo previsioni simili. Si nota anche che, come mostrato in figura 7.5, Production e Unemployment risultano essere fortemente correlate negativamente in modo tale che la maggior parte dell’informazione previsiva della variabile Production è anche contenuta nella variabile Unemployment.

Regressione sul migliore sottoinsieme (best subset regression)

Quando possibile, tutti i modelli di regressione dovrebbero essere stimati (come fatto nell’esempio precedente) e il modello migliore dovrebbe essere selezionato utilizzando una delle misure discusse in precedenza. Questo approccio è conosciuto come regressione “con il miglior sottoinsieme” (best subset regression) o, alternativamente, come regressione “con tutti i possibili sottoinsiemi”.

Regressione stepwise

Se il numero di predittori è grande, non è possibile stimare tutti i possibili modelli. Per esempio, con 40 predittori si avrebbero \(2^{40} >\) un trilione di possibili modelli! Conseguentemente, è necessario adottare una strategia per limitare il numero di modelli da esplorare.

Un approccio che funziona abbastanza bene è quello che consiste nella regressione backward stepwise:

  • Si inizia considerando il modello che contiene tutti i potenziali predittori.
  • Si rimuove un predittore alla volta e si seleziona il modello se questo corrisponde ad un miglioramento della misura di accuratezza previsiva.
  • Si iterano i passi precedenti finché non ci sono ulteriori miglioramenti della misura di accuratezza predittiva.

Se il numero di potenziali predittori è troppo grande, allora la regressione stepwise all’indietro (backward) non funziona e la regressione stepwise in avanti (regressione forward stepwise) può sostituirla. Questa procedura inizia con un modello che include solo l’intercetta. I predittori sono successivamente inclusi uno alla volta e il regressore cui corrisponde il maggior incremento dell’accuratezza predittiva viene incluso nel modello. La procedura è ripetuta fino quando non si ottengono ulteriori miglioramenti.

Alternativamente, per entrambe le direzioni in avanti (forward) e all’indietro (backward), può essere selezionato come modello iniziale quel modello che include un sottoinsieme di predittori. In questo caso, è necessario un passo ulteriore. Nel caso della procedura di selezione all’indietro si considera la possibilità di aggiungere un predittore ad ogni passo, mentre per la procedura in avanti si considera invece la possibilità di escludere un predittore ad ogni passo. Queste procedure sono chiamate procedure ibride.

È importante capire che qualunque approccio stepwise non garantisce il modello migliore possibile, anche se quasi sempre la procedura fornisce un buon modello. Per ulteriori dettagli si consulti James et al. (2014).

Attenzione all’inferenza dopo la selezione dei predittori

In questo libro non si discuterà l’inferenza statistica sui predittori (ad esempio l’analisi dei \(p\)-value associati a ciascun predittore). Se l’interesse è quello di guardare alla significatività statistica dei predittori, è importante sottolineare che qualsiasi procedura che comporti la selezione iniziale dei predittori invaliderà ogni assunzione sottostante ai \(p\)-value. Le procedure presentate per la selezione dei predittori sono utili quando il modello è utilizzato per la previsione; non sono invece utili se si vuole studiare l’effetto di un predittore sulla variabile da prevedere.

Bibliografia

Bergmeir, C., Hyndman, R. J., & Koo, B. (2018). A note on the validity of cross-validation for evaluating autoregressive time series prediction. Computational Statistics and Data Analysis, 120, 70–83. [DOI]
James, G., Witten, D., Hastie, T., & Tibshirani, R. (2014). An introduction to statistical learning: With applications in R. Springer. [Amazon]