Superiorità di LASSO sulla selezione in avanti / eliminazione all'indietro in termini di errore di previsione della convalida incrociata del modello


10

Ho ottenuto tre modelli ridotti da un modello completo originale usando

  • selezione in avanti
  • eliminazione all'indietro
  • Tecnica di penalizzazione L1 (LASSO)

Per i modelli ottenuti utilizzando la selezione in avanti / eliminazione all'indietro, ho ottenuto la stima convalidata incrociata dell'errore di predizione utilizzando CVlmnel pacchetto DAAGdisponibile in R. Per il modello selezionato tramite LASSO, ho usato cv.glm.

L'errore di predizione per LASSO era inferiore a quello ottenuto per gli altri. Quindi il modello ottenuto tramite LASSO sembra essere migliore in termini di capacità predittiva e variabilità. È un fenomeno generale che si verifica sempre o è un problema specifico? Qual è il ragionamento teorico per questo se questo è un fenomeno generale?


3
Assicurati di non utilizzare una regola di punteggio di accuratezza impropria come proporzione classificata corretta, poiché ciò premia previsioni / modelli inappropriati. E confronta con la norma L2. Scommetto che sarà meglio dei 3 approcci che hai provato.
Frank Harrell,

Risposte:


16

LASSO e la selezione del modello avanti / indietro hanno entrambi punti di forza e limitazioni. Non è possibile formulare raccomandazioni di vasta portata. La simulazione può sempre essere esplorata per risolvere questo problema.

Entrambi possono essere compresi nel senso della dimensionalità: facendo riferimento a il numero di parametri del modello e il numero di osservazioni. Se sei stato in grado di adattare i modelli utilizzando la selezione dei modelli all'indietro , probabilmente non avevi . In tal caso, il modello "best fitting" è quello che utilizza tutti i parametri ... se validato internamente! Questa è semplicemente una questione di overfitting.n p npnp»n

Il superfitting viene risolto utilizzando la convalida incrociata del campione diviso (CV) per la valutazione del modello. Dato che non l'hai descritto, suppongo che non l'abbia fatto. A differenza della selezione graduale del modello, LASSO utilizza un parametro di ottimizzazione per penalizzare il numero di parametri nel modello. È possibile correggere il parametro di ottimizzazione o utilizzare un processo iterativo complicato per scegliere questo valore. Di default , LASSO fa quest'ultimo. Questo viene fatto con CV in modo da ridurre al minimo l'MSE della previsione. Non sono a conoscenza di alcuna implementazione della selezione di modelli graduale che utilizza tecniche così sofisticate, anche il BIC come criterio risentirebbe di pregiudizi di validazione interna. Secondo il mio account, ciò conferisce automaticamente a LASSO una leva sulla selezione graduale del modello "out-of-the-box".

Infine, la selezione graduale del modello può avere criteri diversi per l'inclusione / esclusione di regressori diversi. Se si utilizzano i valori p per il test Wald dei parametri del modello specifico o il modello risultante R ^ 2, non si farà bene, principalmente a causa di errori di convalida interni (di nuovo, potrebbe essere risolto con CV). Trovo sorprendente che questo sia ancora il modo in cui tali modelli tendono ad essere implementati. AIC o BIC sono criteri molto migliori per la selezione del modello.

Esistono numerosi problemi con ciascun metodo. I problemi di selezione del modello graduale sono molto meglio compresi e molto peggio di quelli di LASSO. Il problema principale che vedo con la tua domanda è che stai usando gli strumenti di selezione delle funzionalità per valutare la previsione . Sono compiti distinti. LASSO è migliore per la selezione delle funzioni o la selezione dei modelli sparsi. La regressione della cresta può fornire una previsione migliore poiché utilizza tutte le variabili.

Il grande punto di forza di LASSO è che può stimare modelli in cui , come può essere il caso della regressione graduale in avanti (ma non all'indietro). In entrambi i casi, questi modelli possono essere efficaci per la previsione solo in presenza di una manciata di predittori molto potenti. Se un risultato viene predetto meglio da molti predittori deboli, la regressione della cresta o l'insaccamento / potenziamento supereranno sia la regressione graduale in avanti che LASSO di un colpo lungo. LASSO è molto più veloce della regressione graduale in avanti.p»n

C'è ovviamente molta sovrapposizione tra la selezione delle funzioni e la previsione, ma non ti dico mai quanto bene una chiave inglese funge da martello. In generale, per la previsione con un numero scarso di coefficienti del modello e , preferirei LASSO piuttosto che la selezione del modello graduale in avanti.p»n


4

Si desidera scegliere un sottoinsieme di predittori in base ad alcuni criteri. Potrebbe essere AIC nel campione o aggiustato R ^ 2 o cross-validation, non importa.

È possibile testare ogni singola combinazione di sottoinsieme di predittori e selezionare il sottoinsieme migliore. però

  • Molto dispendioso in termini di tempo a causa dell'esplosione combinatoria dei parametri.
  • Funziona se hai più parametri che osservazioni nel senso che testerai tutte le combinazioni di predittori che danno una soluzione

È possibile utilizzare la selezione progressiva in avanti

  • Meno dispendioso in termini di tempo, ma potrebbe non essere la combinazione migliore in assoluto, esp. quando i predittori sono correlati (può scegliere un predittore e non essere in grado di ottenere un ulteriore miglioramento quando l'aggiunta di altri 2 predittori avrebbe mostrato un miglioramento)
  • Funziona anche quando hai più parametri delle osservazioni

È possibile utilizzare l'eliminazione all'indietro

  • Non funziona se hai più parametri delle osservazioni, nessun singolo buon punto di partenza (in teoria potresti iniziare da tutti i punti di partenza validi, lavorare all'indietro, sceglierne uno migliore, ma non è quello che normalmente si intende per eliminazione all'indietro)
  • Come avanzare gradualmente, richiede meno tempo di tutti i sottoinsiemi, ma potrebbe non ottenere la migliore combinazione assoluta, esp. quando i predittori sono correlati

Puoi usare LASSO

  • Funziona anche quando hai più parametri delle osservazioni
  • CPU efficiente quando si hanno molti parametri ed esplosione combinatoria di sottoinsiemi
  • Aggiunge regolarizzazione

Quanto alla tua domanda sul perché LASSO abbia un rendimento migliore sui tuoi dati nel CV

  • Una possibilità è la dipendenza dal percorso sopra descritta: LASSO può trovare un sottoinsieme migliore. Forse è stato fortunato, forse LASSO in generale / a volte ottiene sottoinsiemi migliori, non ne sono sicuro. Forse c'è della letteratura sull'argomento.
  • Un'altra possibilità (più probabile) è che la regolarizzazione di LASSO prevenga un eccesso di adattamento, quindi LASSO offre prestazioni migliori in CV / fuori campione.

In conclusione, LASSO offre regolarizzazione ed efficiente selezione di sottoinsiemi, specialmente quando si hanno molti predittori.

A proposito, puoi fare LASSO e selezionare il tuo modello usando CV (più comune) ma anche usando AIC o qualche altro criterio. Esegui il tuo modello con regolarizzazione L1 e nessun vincolo, quindi restringilo gradualmente fino a quando AIC raggiunge un minimo, o errore CV, o il criterio di tua scelta. Vedi http://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_model_selection.html

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.