Quando dovrei usare lasso vs ridge?


167

Supponiamo che io voglia stimare un gran numero di parametri e voglio penalizzarne alcuni perché credo che dovrebbero avere scarso effetto rispetto agli altri. Come faccio a decidere quale schema di penalizzazione utilizzare? Quando è più appropriata la regressione della cresta? Quando dovrei usare il lazo?


"Diciamo che voglio stimare un gran numero di parametri" questo potrebbe essere reso più preciso: qual è il framework? Immagino sia una regressione lineare?
Robin Girard,

2
Una domanda simile è appena stata posta su metaoptimize (tenendo presente che l1 = LASSO e l2 = cresta): metaoptimize.com/qa/questions/5205/…
Gael Varoquaux

Dici "lazo vs cresta" come se fossero le uniche due opzioni: che dire del doppio pareto generalizzato, ferro di cavallo, bma, bridge, tra gli altri?
probabilityislogic

Risposte:


106

Tieni presente che la regressione della cresta non può azzerare i coefficienti; pertanto, si finisce per includere tutti i coefficienti nel modello o nessuno di essi. Al contrario, LASSO esegue automaticamente sia la riduzione dei parametri sia la selezione delle variabili. Se alcune delle tue covariate sono altamente correlate, ti consigliamo di esaminare la rete elastica [3] anziché il LASSO.

Personalmente consiglierei di usare la Garotte Non Negativa (NNG) [1] in quanto coerente in termini di stima e selezione delle variabili [2]. A differenza di LASSO e della regressione della cresta, NNG richiede una stima iniziale che viene poi ridotta verso l'origine. Nel documento originale, Breiman raccomanda la soluzione dei minimi quadrati per la stima iniziale (potresti comunque voler iniziare la ricerca da una soluzione di regressione della cresta e usare qualcosa come GCV per selezionare il parametro di penalità).

In termini di software disponibile, ho implementato l'NNG originale in MATLAB (basato sul codice FORTRAN originale di Breiman). Puoi scaricarlo da:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

A proposito, se preferisci una soluzione bayesiana, controlla [4,5].

Riferimenti:

[1] Breiman, L. Migliore regressione del sottoinsieme utilizzando la tecnologia non negativa di Garrote, 1995, 37, 373-384

[2] Yuan, M. & Lin, Y. Sullo stimatore non negativo di garrotte Journal of Royal Statistical Society (Serie B), 2007, 69, 143-161

[3] Zou, H. & Hastie, T. Regolarizzazione e selezione variabile tramite la rete elastica Journal of Royal Statistical Society (Serie B), 2005, 67, 301-320

[4] Park, T. & Casella, G. The Bayesian Lasso Journal of American Statistical Association, 2008, 103, 681-686

[5] Kyung, M .; Gill, J .; Ghosh, M. & Casella, G. Regressione penalizzata, errori standard e analisi bayesiana di Lassos bayesiani, 2010, 5, 369-412


2
Potresti essere più specifico su ridge vs lasso? La selezione automatica delle variabili è l'unica ragione per preferire il lazo?
Chogg,

42

La cresta o il lazo sono forme di regressioni lineari regolarizzate. La regolarizzazione può anche essere interpretata come precedente in un metodo di stima a posteriori massimo. Secondo questa interpretazione, la cresta e il lazo fanno ipotesi diverse sulla classe di trasformazione lineare che inferiscono per mettere in relazione i dati di input e output. Nella cresta, i coefficienti della trasformazione lineare sono distribuiti normalmente e nel lazo sono distribuiti in Laplace. Nel lazo, questo rende più facile che i coefficienti siano zero e quindi più facile eliminare alcune delle variabili di input in quanto non contribuiscono all'output.

Ci sono anche alcune considerazioni pratiche. La cresta è un po 'più facile da implementare e più veloce da calcolare, il che può importare a seconda del tipo di dati che hai.

Se entrambi sono stati implementati, utilizzare sottoinsiemi di dati per trovare la cresta e il lazo e confrontare la loro efficacia sui dati lasciati fuori. Gli errori dovrebbero darti un'idea di quale utilizzare.


8
Non capisco - come faresti a sapere se i tuoi coefficienti sono distribuiti o distribuiti normalmente?
ihadanny,

1
Perché la regressione di Ridge è più veloce da calcolare?
Archie,

4
@Hbar: "La regolarizzazione può anche essere interpretata come precedente in un metodo di stima a posteriori massimo": potresti spiegare questa parte in modo più dettagliato con simboli matematici o almeno fornire un riferimento? Grazie!
Mathmath,

2
@ihadanny Probabilmente non lo sapresti, ed è questo il punto. Puoi solo decidere quale tenere a posteriori .
Firebug,

30

Generalmente, quando hai molti effetti di piccole / medie dimensioni, dovresti andare con la cresta. Se hai solo poche variabili con un effetto medio / grande, scegli Lazo. Hastie, Tibshirani, Friedman


4
Ma quando hai alcune variabili, potresti volerle tenere tutte nei tuoi modelli se hanno effetti medio / grandi, il che non succederà nel lazo perché potrebbe rimuoverne uno. Puoi per favore spiegarlo in dettaglio? Sento che quando hai molte variabili usiamo Lasso per rimuovere le variabili non necessarie e non la cresta.
aditya bhandari,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.