Sei sulla pagina 1di 25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Regolarizzazione (Shrinkage)

Strumenti quantitativi per la gestione


Emanuele Taufer

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

1/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

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)

2/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Regressione ridge
Nella stima di un modello di regressione, il metodo dei minimi
quadrati determina ^ = (^ , , ^ ) minimizzando
0

n
2

RSS = (yi 0 1 xi1 p xip )


i=1

La regressione ridge determina le stime ^ minimizzando

n
2

(yi 0 1 xi1 p xip )

+ (

+ + p )

i=1
p

= RSS +

j=1

dove > 0 un parametro di adattamento che deve essere


determinato esogenamente

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

3/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Il termine una penalit che decresce quando i parametri


si ritirano (shrinking) verso lo 0 .
p

j=1

Il parametro controlla limpatto relativo dei due componenti: RSS


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 , poich non avrebbe senso
0

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

4/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Standardizzare i predittori
Nella stima dei minimi quadrati (OLS), il cambiamento di scala di una
variabile non ha effetto pratico:
se il predittore X moltiplicato per una costante c, il relativo coefficiente
stimato viene automaticamente diviso per c dagli OLS.
j

in altre parole, leffetto ^ X rimane lo stesso indipendentemente dalla scala


di misurazione di X (equivarianza)
j

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
~
xij =

xij

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

i=1

(xij x
j )

5/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Dati Credit.csv
credit<read.csv("http://www.cs.unitn.it/~taufer/Data/Credit.csv",header=T)
head(credit)

XIncomeLimitRatingCardsAgeEducationGenderStudentMarried
1114.891360628323411MaleNoYes
22106.025664548338215FemaleYesYes
33104.593707551447111MaleNoNo
44148.924950468133611FemaleNoNo
5555.882489735726816MaleNoYes
6680.180804756947710MaleNoNo
EthnicityBalance
1Caucasian333
2Asian903
3Asian580
4Asian964
5Caucasian331
6Caucasian1151

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

6/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Ridge per i dati Credit.csv

A sinistra: coefficienti ^ per 0 < <

^
|| ||

^
|| ||

A destra: coefficienti ^ per 0 <

< 1

||||

j=1
j

indica la distanza dallorigine del vettore

.
R

^
|| ||

^
|| ||

misura la distanza dallorigine di ^ in termini relativi a

(OLS)
R

Se = 0 ,

^
|| ||

= 1

^
|| ||

Se ,

^
|| ||

^
|| ||

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

7/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

8/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Trade-off bias-varianza
R

Allaumentare 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.

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

9/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Simulazioni

Dati simulati con p = 45, n = 50


Nero: Bias (al quadrato)
Verde: Varianza
Viola: test MSE

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

10/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Ridge - OLS
Efficienza
Se p molto elevato, quasi quanto n, gli OLS tendono ad avere
elevata variabilit. Se p > n gli OLS non possono essere usati.
In entrambi i casi la regressione ridge pu funzionare piuttosto bene.

Aspetti computazionali
Nella selezione best subset con gli OLS necessario effettuare 2 fit
del modello.
p

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

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

11/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

La regressione ridge produce un modello con tutte le variabili, di cui


una parte con coefficienti prossimi allo 0 .
Allaumento 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.
Linterpretazione pu essere a volte problematica
La regressione LASSO cerca di superare questo aspetto

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

12/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Regressione LASSO
L

La regressione LASSO determina le stime ^ minimizzando

n
2

(yi 0 1 xi1 p xip )


i=1

+ |j |
j=1

= RSS + |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.

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

13/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

LASSO per i dati Credit.csv

A sinistra: coefficienti ^ per 0 < <

^
|| ||

^
|| ||

A destra: coefficienti ^ per 0 <

< 1

||||

|j |

j=1

indica la distanza L dallorigine del vettore


1

.
L

^
|| ||

^
|| ||

misura la distanza dallorigine di ^ in termini relativi a

(OLS)
L

Se = 0 ,

^
|| ||

= 1

^
|| ||

Se ,

^
|| ||

^
|| ||

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

14/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

15/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Alcuni dettagli teorici


E possibile verificare che LASSO e ridge risolvono un problema di
minimizzazione vincolata, rispettivamente
n

min (yi 0 j xij )

i=1

con il vincolo

j=1

|j | s
j=1

e
n

min (yi 0 j xij )

i=1

j=1

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

con il vincolo

j=1

16/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Interpretazione grafica dei vincoli,


p = 2

Sinistra: regressione LASSO


Destra: regressione ridge

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

17/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Best subset
Analogamente, possibile verificare che la best subset selection
minimizza
n

min (yi 0 j xij )

i=1

con il vincolo

j=1

I (j 0) s
j=1

dove I (x) = 1 se x 0 e 0 altrimenti


Ossia RSS 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

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

18/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Comparazione LASSO - ridge


Sia LASSO che ridge bilanciano il trade-off bias-varianza attraverso la
scelta di
Lasso implicitamente assume che parte dei coefficienti siano pari a 0 o
comunque non significativi.
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

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

19/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

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).
R sui dati training
2

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

20/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Dati simulati con p = 45, n = 50 - solo 2 predittori legati a Y


Sinistra: bias (nero), varianza (verde), test MSE (viola) della LASSO
Destra: confronto LASSO (linea continua) - ridge (linea tratteggiata).
R sui dati training
2

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

21/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

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 unaltra misura di errore) con cross


validazione

3.

scegliere il valore di che minimizza il test MSE stimato e


utilizzarlo per stimare il modello.

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

22/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Esempio: Ridge su Credit.csv

Sinistra: stima dellerrore test con LOOCV - regressione ridge


Destra: coefficienti
In questo caso non vi grossa differenza tra i risultati della regressione
ridge e gli OLS

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

23/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

Esempio: LASSO su dati simulati

Dati simulati con p = 45, n = 50 - solo 2 predittori legati a Y


Sinistra: stima dellerrore test con 10-fold CV - regressione LASSO
Destra: coefficienti
Nota: la LASSO individua correttamente i due predittori legati a Y

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/6b_LASSO.html#(1)

24/25

4/20/2015

Regolarizzazione(Shrinkage)(1)

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#(1)

25/25