Questa è già una domanda piuttosto vecchia, ma ritengo che nel frattempo la maggior parte delle risposte qui siano piuttosto obsolete (e quella che viene verificata come risposta corretta è chiaramente un errore).
In primo luogo, in termini di prestazioni ottimali di previsione, non è universalmente vero che LASSO sia sempre migliore di quello graduale. L'articolo "Confronti estesi della migliore selezione di sottogruppi, selezione progressiva in avanti e il lazo" di Hastie et al (2017) fornisce un ampio confronto di avanzamento graduale, LASSO e alcune varianti di LASSO come il rilassato LASSO e il miglior sottoinsieme, e loro mostra che a volte è meglio di LASSO. Una variante di LASSO però - rilassata LASSO - è stata quella che ha prodotto la massima precisione di previsione del modello nella più ampia gamma di circostanze. La conclusione su quale sia la migliore dipende molto da ciò che si considera meglio, ad esempio se si tratterebbe della massima precisione di previsione o della selezione del minor numero di variabili false positive.
C'è un intero zoo di metodi di apprendimento sparsi, la maggior parte dei quali sono migliori di LASSO. Es c'è di Meinhausen LASSO rilassato , LASSO adattivo e regressione SCAD e MCP penalizzata come implementato nel ncvreg
pacchetto, che hanno tutti meno bias di LASSO standard e quindi sono preferibile. Inoltre, se si è interessati alla soluzione più sparsa assoluta con le migliori prestazioni di predizione, allora L0 ha penalizzato la regressione (ovvero il miglior sottoinsieme, ovvero basato sulla penalizzazione del nr di coefficienti diversi da zero rispetto alla somma del valore assoluto dei coefficienti in LASSO) è migliore di LASSO, vedere ad esempio il l0ara
pacchetto che approssima i GLM penalizzati L0 usando una procedura di cresta adattativa iterativae che a differenza di LASSO funziona anche molto bene con variabili altamente collineari, e il L0Learn
pacchetto , che può adattarsi ai modelli di regressione penalizzata L0 usando la discesa delle coordinate , potenzialmente in combinazione con una penalità L2 per regolarizzare la collinearità.
Quindi, per tornare alla tua domanda originale: perché non usare LASSO per la selezione delle variabili? :
(1) perché i coefficienti saranno fortemente distorti, il che è migliorato nella regressione penalizzata LASSO, MCP e SCAD, e risolto completamente nella regressione penalizzata L0 (che ha una proprietà oracolare completa, cioè può scegliere sia le variabili causali che riaccendere coefficienti imparziali, anche per p> n casi)
(2) perché tende a produrre molti più falsi positivi rispetto alla regressione penalizzata di L0 (nei miei test l0ara
funziona meglio allora, ovvero cresta adattativa iterativa, seguita da L0Learn
)
(3) perché non è in grado di gestire bene le variabili collineari (essenzialmente selezionerebbe casualmente una delle variabili collineari) - la cresta adattativa iterativa / l0ara
e le penalità L0L2 L0Learn
sono molto più efficaci nel gestirla .
Naturalmente, in generale, dovrai comunque utilizzare la convalida incrociata per ottimizzare i parametri di regolarizzazione per ottenere prestazioni di previsione ottimali, ma non è un problema. E puoi anche fare un'inferenza dimensionale elevata sui tuoi parametri e calcolare intervalli di confidenza al 95% sui tuoi coefficienti se ti piace tramite il bootstrap non parametrico (anche tenendo conto dell'incertezza sulla selezione della regolarizzazione ottimale se esegui la convalida incrociata anche su ogni set di dati bootstrap , anche se poi diventa piuttosto lento).
Dal punto di vista computazionale LASSO non è più lento rispetto agli approcci graduali tra l'altro, certamente non se si utilizza un codice altamente ottimizzato che utilizza gli avviamenti a caldo per ottimizzare la regolarizzazione di LASSO (è possibile confrontarsi usando il fs
comando per avanzare gradualmente e lasso
per LASSO nel bestsubset
pacchetto). Il fatto che gli approcci graduali siano ancora popolari probabilmente ha a che fare con la convinzione errata di molti che si potrebbe semplicemente mantenere il modello finale e riportare i valori p associati - che in realtà non è una cosa corretta da fare, poiché ciò non lo fa tenere conto dell'incertezza introdotta dalla selezione del modello, risultando in valori p troppo ottimistici.
Spero che sia di aiuto?