pdf2
Transcript
pdf2
4/20/2015 Regolarizzazione (Shrinkage) Regolarizzazione (Shrinkage) Strumenti quantitativi per la gestione Emanuele Taufer Metodi di regolarizzazione o shrinkage Regressione ridge Standardizzare i predittori Dati Credit.csv Ridge per i dati Credit.csv Tradeoff biasvarianza Simulazioni Ridge OLS Efficienza Aspetti computazionali Regressione LASSO LASSO per i dati Credit.csv Alcuni dettagli teorici Interpretazione grafica dei vincoli, p Best subset Comparazione LASSO ridge Confronto grafico = 2 Selezione di λ Esempio: Ridge su Credit.csv Esempio: LASSO su dati simulati Riferimenti bibliografici Metodi di regolarizzazione o shrinkage In alternativa ai metodi di selezione discussi (best subset, forward, backward, ibrido) è possibile utilizzare dei metodi che utilizzano tutti i predittori ma vincolano (o regolarizzano) i coefficienti portandoli verso valori molto piccoli o pari a zero (shrinkage) Questi metodi si configurano in effetti come metodi di selezione automatica delle variabili. Sono particolarmente efficaci quando p ha dimensione elevata I due metodi di regolarizzazione più usati sono La regressione ridge Il LASSO (Least Absolute Shrinkage and Selection Operator) file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 1/10 4/20/2015 Regolarizzazione (Shrinkage) Regressione ridge Nella stima di un modello di regressione, il metodo dei minimi quadrati determina β^ minimizzando ^ ^ = (β 0 , … , β p ) n 2 RS S = ∑ (yi − β 0 − β 1 x i1 − ⋯ − β p x ip ) i=1 R La regressione ridge determina le stime β^λ minimizzando n 2 ∑(yi − β 0 − β 1 x i1 − ⋯ − β p x ip ) + λ(β 2 1 2 + ⋯ + βp ) i=1 p = RS S + λ ∑ β 2 j j=1 dove λ > 0 è un parametro di adattamento che deve essere determinato esogenamente p Il termine λ ∑j=1 β j2 è una penalità che decresce quando i parametri β si ritirano (shrinking) verso lo 0 . Il parametro λ controlla l’impatto relativo dei due componenti: RS S e il termine di penalità. Se λ = 0 la regressione ridge coincide con il metodo dei minimi quadrati. Se λ → ∞ tutti i coefficienti stimati tendono a 0 La regressione ridge produce stime differenti per differenti valori di λ La scelta ottimale di λ è cruciale e viene di solito fatta con cross validazione Si noti che la penalità non è applicata a β 0 , poiché non avrebbe senso Standardizzare i predittori Nella stima dei minimi quadrati (OLS), il cambiamento di scala di una variabile non ha effetto pratico: se il predittore Xj è moltiplicato per una costante c , il relativo coefficiente stimato viene automaticamente diviso per c dagli OLS. in altre parole, l’effetto β^j Xj rimane lo stesso indipendentemente dalla scala di misurazione di Xj (equivarianza) Nella regressione ridge, una trasformazione di scala ha effetti sostanziali e pertanto per evitare di ottenere risultati diversi a seconda della scala di misurazione di un predittore, è opportuno procedere a una standardizzazione di tutti i predittori prima di stimare il modello. Si usi la formula ~ x ij = x ij −−−−−−−−−−−−−− √ file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 1 n ∑ n i=1 (x ij − x̄ j ) 2 2/10 4/20/2015 Regolarizzazione (Shrinkage) Dati Credit.csv credit<‐read.csv("http://www.cs.unitn.it/~taufer/Data/Credit.csv",header=T) head(credit) X Income Limit Rating Cards Age Education Gender Student Married 1 1 14.891 3606 283 2 34 11 Male No Yes 2 2 106.025 6645 483 3 82 15 Female Yes Yes 3 3 104.593 7075 514 4 71 11 Male No No 4 4 148.924 9504 681 3 36 11 Female No No 5 5 55.882 4897 357 2 68 16 Male No Yes 6 6 80.180 8047 569 4 77 10 Male No No Ethnicity Balance 1 Caucasian 333 2 Asian 903 3 Asian 580 4 Asian 964 5 Caucasian 331 6 Caucasian 1151 Ridge per i dati Credit.csv R A sinistra: coefficienti β^λ per 0 A destra: coefficienti R ^ βλ per 0 < λ < ∞ < ^ ||β R λ || 2 ^ ||β || < 1 2 − − − −− −− ||β|| p 2 2 = √∑ β j=1 j indica la distanza dall’origine del vettore β . file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 3/10 4/20/2015 Regolarizzazione (Shrinkage) ^ ||β R λ || 2 ^ ||β || R misura la distanza dall’origine di β^λ in termini relativi a β^ (OLS) 2 Se λ = 0 , ^ ||β R λ || 2 = 1 ^ ||β || 2 Se λ → ∞ , ^ ||β R λ || 2 ^ ||β || → 0 2 Tradeoff biasvarianza R All’aumentare di λ, alcuni (o molti) dei coefficienti β^λ si restringono a 0 e la flessibilità del modello diminuisce. Si ricordi che minor flessibilità implica maggior bias e minore varianza delle stime. Una scelta ottimale di λ permette di tarare in maniera appropriata i due effetti ed ottenere un test MSE ottimale, o quasi. Simulazioni Dati simulati con p = 45 , n = 50 Nero: Bias (al quadrato) Verde: Varianza Viola: test MSE Ridge OLS file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 4/10 4/20/2015 Regolarizzazione (Shrinkage) Efficienza Se p è molto elevato, quasi quanto n , gli OLS tendono ad avere elevata variabilità. Se p non possono essere usati. > n gli OLS In entrambi i casi la regressione ridge può funzionare piuttosto bene. Aspetti computazionali Nella selezione best subset con gli OLS è necessario effettuare 2p fit del modello. La regressione ridge stima un solo modello per ciascun valore di λ e, attraverso algoritmi computazionali, il numero di operazioni necessarie per stimare la regressione ridge simultaneamente per tutti i valori di λ è praticamente equivalente al numero di operazioni necessarie per stimare un modello con gli OLS La regressione ridge produce un modello con tutte le variabili, di cui una parte con coefficienti prossimi allo 0 . All’aumento di λ sempre più coefficienti saranno prossimi allo 0 ma quasi mai esattamente pari a 0 , a meno che λ = ∞ Per la previsione questo non è un problema. L’interpretazione può essere a volte problematica La regressione LASSO cerca di superare questo aspetto Regressione LASSO L La regressione LASSO determina le stime β^λ minimizzando p n 2 ∑(yi − β 0 − β 1 x i1 − ⋯ − β p x ip ) i=1 + λ ∑ |β j | j=1 p = RS S + λ ∑ |β j | j=1 dove λ > 0 è un parametro di adattamento che deve essere determinato esogenamente Il termine di penalità della LASSO, usando il valore assoluto, piuttosto che il quadrato come nella regressione ridge, forza alcuni coefficenti ad essere esattamente uguali a 0 , se λ è sufficientemente grande. La LASSO effettua automaticamente una vera e propria selezione delle variabili. LASSO per i dati Credit.csv file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 5/10 4/20/2015 Regolarizzazione (Shrinkage) L A sinistra: coefficienti β^λ per 0 A destra: coefficienti L ^ βλ per 0 < λ < ∞ < ^ ||β L λ || 1 ^ ||β || < 1 1 ||β|| ^ ||β 1 = ∑ p |β j | j=1 indica la distanza L1 dall’origine del vettore β . L λ || 1 ^ ||β || L misura la distanza dall’origine di β^λ in termini relativi a β^ (OLS) 1 Se λ = 0 , ^ ||β L λ || 1 = 1 ^ ||β || 1 Se λ → ∞ , ^ ||β L λ || 1 ^ ||β || → 0 1 Alcuni dettagli teorici E’ possibile verificare che LASSO e ridge risolvono un problema di minimizzazione vincolata, rispettivamente n p 2 min ∑ (yi − β 0 − ∑ β j x ij ) β i=1 p con il vincolo j=1 ∑ |β j | ≤ s j=1 e n p 2 min ∑ (yi − β 0 − ∑ β j x ij ) β i=1 j=1 file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html p con il vincolo ∑β 2 j ≤ s j=1 6/10 4/20/2015 Regolarizzazione (Shrinkage) Interpretazione grafica dei vincoli, p = 2 Sinistra: regressione LASSO Destra: regressione ridge Best subset Analogamente, è possibile verificare che la best subset selection minimizza p n 2 min ∑ (yi − β 0 − ∑ β j x ij ) β dove I (x) = 1 i=1 se x ≠ 0 p con il vincolo j=1 ∑ I (β j ≠ 0) ≤ s j=1 e 0 altrimenti Ossia RS S è minimizzato sotto il vincolo che solo alcuni coefficienti siano diversi da 0 Abbiamo visto che questo approccio è troppo intenso dal punto di vista computazionale. Ridge e LASSO possono essere viste come alternative possibili, dal punto di vista computazionale, al best subset selection Comparazione LASSO ridge Sia LASSO che ridge bilanciano il tradeoff biasvarianza attraverso la scelta di λ Lasso implicitamente assume che parte dei coefficienti siano pari a 0 o comunque non significativi. file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 7/10 4/20/2015 Regolarizzazione (Shrinkage) La LASSO tende ad avere una performance superiore a ridge nei casi in cui molti predittori non sono effettivamente legati alla variabile Y . In casi opposti la ridge tende ad avere performance migliori. Entrambi gli approcci possono essere comparati per mezzo di cross validazione Confronto grafico Dati simulati con p = 45 , n = 50 tutti i predittori legati a Y Sinistra: bias (nero), varianza (verde), test MSE (viola) della LASSO Destra: confronto LASSO (linea continua) ridge (linea tratteggiata). R2 sui dati training Dati simulati con p = 45 , n = 50 solo 2 predittori legati a Y file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 8/10 4/20/2015 Regolarizzazione (Shrinkage) Sinistra: bias (nero), varianza (verde), test MSE (viola) della LASSO Destra: confronto LASSO (linea continua) ridge (linea tratteggiata). R2 sui dati training Selezione di λ Per selezionare λ (dettagli pratici nel laboratorio): 1. scegliere una griglia di valori di λ, Es. 0.5 , 1 , 1.5 ⋯ 2. stimare il test MSE (o un’altra misura di errore) con cross validazione 3. scegliere il valore di λ che minimizza il test MSE stimato e utilizzarlo per stimare il modello. Esempio: Ridge su Credit.csv Sinistra: stima dell’errore test con LOOCV regressione ridge Destra: coefficienti In questo caso non vi è grossa differenza tra i risultati della regressione ridge e gli OLS Esempio: LASSO su dati simulati file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 9/10 4/20/2015 Dati simulati con p Regolarizzazione (Shrinkage) = 45 , n = 50 solo 2 predittori legati a Y Sinistra: stima dell’errore test con 10fold CV regressione LASSO Destra: coefficienti Nota: la LASSO individua correttamente i due predittori legati a Y Riferimenti bibliografici An Introduction to Statistical Learning, with applications in R. (Springer, 2013) Alcune delle figure in questa presentazione sono tratte dal testo con il permesso degli autori: G. James, D. Witten, T. Hastie e R. Tibshirani file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html 10/10