LASSO con termini di interazione: va bene se gli effetti principali sono ridotti a zero?


25

La regressione di LASSO riduce i coefficienti verso zero, fornendo così un'efficace selezione del modello. Credo che nei miei dati vi siano interazioni significative tra covariate nominali e continue. Non necessariamente, tuttavia, gli "effetti principali" del modello reale sono significativi (diversi da zero). Ovviamente non lo so poiché il vero modello è sconosciuto. I miei obiettivi sono trovare il vero modello e prevedere il risultato il più vicino possibile.

Ho imparato che l'approccio classico alla costruzione di modelli includerebbe sempre un effetto principale prima di includere un'interazione. Quindi non può esserci un modello senza un effetto principale di due covariate e se esiste un'interazione delle covariate nello stesso modello. Di conseguenza, la funzione seleziona attentamente i termini del modello (ad es. Basati su AIC indietro o avanti) rispettando questa regola.XZXZstepR

LASSO sembra funzionare diversamente. Poiché tutti i parametri sono penalizzati, può senza dubbio accadere che un effetto principale sia ridotto a zero, mentre l'interazione del modello migliore (ad es. Con convalida incrociata) è diversa da zero. Questo lo trovo in particolare per i miei dati quando utilizzo Ril glmnetpacchetto.

Ho ricevuto critiche basate sulla prima regola sopra citata, ovvero il mio modello di Lasso finale convalidato in modo incrociato non include i termini dell'effetto principale corrispondenti di alcune interazioni diverse da zero. Tuttavia, questa regola sembra alquanto strana in questo contesto. Ciò che si riduce è la domanda se il parametro nel modello vero è zero. Supponiamo che lo sia, ma l'interazione è diversa da zero, quindi LASSO lo identificherà forse, trovando così il modello corretto. In effetti sembra che le previsioni di questo modello saranno più precise perché il modello non contiene l'effetto principale true-zero, che è effettivamente una variabile di rumore.

Posso confutare le critiche basate su questo motivo o dovrei prendere precauzioni in qualche modo che LASSO includa l'effetto principale prima del termine di interazione?


2
Qualcuno ha declassato questo. Sarei interessato al perché ...
Tomka,

1
La previsione, l'inferenza o qualcos'altro del tuo obiettivo sono tutti insieme?
Andrew M,

@AndrewM Voglio stimare il modello vero nel miglior modo possibile, interpretare le variabili che causano le variabili dipendenti e anche usare i valori previsti.
tomka,

2
Per il tuo primo obiettivo, tieni presente che la convalida incrociata non è coerente per la selezione del modello. In effetti, è stato dimostrato che il modello secondo cui il modello "vero" tende a essere un sottoinsieme di quello che massimizza la nostra stima delle prestazioni predittive. Per il tuo secondo obiettivo, nota che il lazo fornisce stime fortemente distorte. Quindi penso che devi decidere qual è il tuo obiettivo principale e modificare la tua domanda per chiarire prima che possano essere offerti consigli utili.
Andrew M,

@AndrewM la mia domanda è: l'effetto principale dovrebbe essere incluso nel modello quando si usa LASSO? È possibile rispondere a questa domanda per entrambi i miei obiettivi separatamente. Non credo che la domanda necessiti di ulteriori emendamenti, ma è importante sottolineare questi obiettivi, vedi modifica nel primo paragrafo.
tomka,

Risposte:


10

Una difficoltà a rispondere a questa domanda è che è difficile conciliare LASSO con l'idea di un modello "vero" nella maggior parte delle applicazioni del mondo reale, che in genere hanno correlazioni non trascurabili tra le variabili predittive. In tal caso, come con qualsiasi tecnica di selezione variabile, i predittori particolari restituiti con coefficienti diversi da LASSO dipenderanno dai capricci del campionamento dalla popolazione sottostante. È possibile verificare ciò eseguendo LASSO su più campioni bootstrap dallo stesso set di dati e confrontando i set di variabili predittive restituite.

Inoltre, come notato da @AndrewM in un commento, la distorsione delle stime fornite da LASSO significa che non si prevedono risultati "il più vicino possibile". Piuttosto, si prevedono risultati basati su una scelta particolare dell'inevitabile compromesso di bias varianza.

Quindi, date queste difficoltà, spero che tu voglia conoscere da solo, non solo per soddisfare un critico, l'entità dei principali effetti delle variabili che contribuiscono all'interazione. C'è un pacchetto disponibile in R, glinternet , che sembra fare esattamente ciò di cui hai bisogno (anche se non ho esperienza con esso):

Gruppo-Lazo INTERAZIONE-NET. Adatto a modelli lineari di interazione di coppia che soddisfano una forte gerarchia: se un coefficiente di interazione è stimato diverso da zero, i suoi due effetti principali associati hanno anche coefficienti stimati diversi da zero. Accomoda variabili categoriali (fattori) con numeri arbitrari di livelli, variabili continue e loro combinazioni.

In alternativa, se non si dispone di troppi predittori, è possibile prendere in considerazione la regressione della cresta, che restituirà coefficienti per tutte le variabili che potrebbero essere molto meno dipendenti dai capricci del particolare campione di dati.


9

Sono in ritardo per una festa, ma ecco alcuni dei miei pensieri sul tuo problema.

  1. Lazo seleziona ciò che è informativo. Consideriamo il lazo come un metodo per ottenere le massime prestazioni predittive con il minor numero di funzionalità. È del tutto bene che in alcuni casi il lazo selezioni l'interazione e non gli effetti principali. Significa solo che gli effetti principali non sono informativi, ma lo sono le interazioni.

  2. Stai solo segnalando ciò che hai scoperto. Hai usato un metodo e ha prodotto alcuni risultati. Lo segnalate in modo trasparente che consente la riproducibilità. Secondo me, il tuo lavoro è finito. I risultati sono obiettivi, hai trovato quello che hai trovato e non è il tuo lavoro giustificare, perché non hai trovato qualcos'altro.

  3. Tutte le unità sono arbitrarie. Le interazioni sono solo unità. Diciamo che studi i colori. I colori possono essere inclusi nel modello come lunghezza d'onda, lunghezza d'onda del registro, oppure come 3 variabili RGB o come interazione di una tonalità e tonalità e così via. Non esiste una rappresentazione intrinsecamente corretta o errata dei colori. Sceglierai quello che ha più senso per il tuo problema. Le interazioni sono anche solo unità che puoi usare arbitrariamente. L'area di una finestra è solo l'interazione della sua altezza e larghezza, dovresti includere l'altezza e la larghezza di una finestra nel tuo modello? La velocità è solo interazione di massa e velocità. E la velocità è solo interazione di tempo e distanza. Manhours è solo interazione di tempo e numero di persone che lavorano. La dose di trattamento matematicamente * l'età è uguale all'altezza * larghezza. Il detto "devi sempre includere gli effetti principali" è sopravvalutato.

  4. il lazo non si avvicina al modello reale, non è pensato per l'inferenza e le variabili selezionate sono instabili. Se hai predittori informativi correlati, il lazo tende a sceglierne uno e a spingere gli altri a 0, quindi il tuo modello ometterà una percentuale significativa di variabili informative. Inoltre, come è stato sottolineato nei commenti, se trovi la migliore lambda nella crossvalidation, il lazo sceglierà più variabili rispetto a un modello reale. Un altro problema è che le selezioni da Lazo sono instabili. Quindi, se esegui nuovamente il lazo su un campione diverso da una popolazione, finirai con un diverso set di variabili selezionate. Quindi non dare molto peso alle variabili selezionate. Inoltre, i beta sono di parte e pertanto non possono essere utilizzati per un test di ipotesi parametrica classica. Tuttavia, ci sono modi per aggirarlo (punto successivo)

  5. inferenza con il lazo. Il lazo può essere usato per fare una deduzione sui predittori. Il modo più semplice è quello di avviarlo e contare quante volte viene selezionata ciascuna variabile, dividere per il numero di campioni e si hanno i valori p. P in quel caso è una probabilità che una variabile sia selezionata dal lazo. Puoi ancora finire con significativi effetti di interazione ed effetti principali insignificanti, ma questo non è un problema, può succedere anche con il normale test di ipotesi. Un grande trattamento di questo argomento è nell'Hastie et. al. libro gratuito: Statistical Learning With Sparsity, capitolo 6 http://web.stanford.edu/~hastie/StatLearnSparsity/Il bootstrap può essere eseguito per l'intero intervallo di valori lambda, il che comporterà un percorso di stabilità per tutte le variabili. Questo può essere esteso con un approccio di selezione della stabilità per trovare un insieme di variabili significative corrette per errori familiari. http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2010.00740.x/abstract Esistono anche altri metodi per dedurre il lazo, che potrebbero essere utili. Vale a dire lazo adattivo o lazo disparificato. La recensione con l'implementazione R è qui DOI: 10.1214 / 15-STS527 o IMO spiegazione più accessibile nel Buhlmanm, van de Geer Book: Statistics for High-Dimensional http://wwwhpringer.com/la/book/9783642201912

  6. Altre cose relative al lazo devono essere consapevoli. Per quanto ne so la cresta o la rete elastica tende a sovraperformare il lazo. Se esiste una conoscenza del dominio sulle variabili, è possibile utilizzare il lazo di gruppo o il lazo di gruppo sparso per forzare il lazo a mantenere o scartare l'intero gruppo di predittori invece di trattarli singolarmente (ad es. Percorsi genici, variabile fittizia con fattore codificato). Per i dati spaziali o ordinati è possibile utilizzare il lazo fuso. Il lazo randomizzato, introdotto nel documento di selezione della stabilità sopra menzionato, tende a produrre modelli più sparsi con le stesse prestazioni di un lazo standard.


1
mi è piaciuto molto # 3
user4581

0

Ho un'applicazione in cui desidero specificamente non penalizzare un numero limitato di effetti principali. Lascia Y = X.main beta + X.inter beta.inter + eps

a) fit.Y = OLS (X.main, Y). Consenti a tilde.Y = Y - di prevedere (fit.Y, X.main) b) fit [, j] = OLS (X.main, X.inter [, j]) per j = 1 ... k. Lascia che tilde.X.inter [, j] = X.inter [, j] - predict (fit.j, X.main) c) fit = Lasso (tilde.X.inter, tilde.y). Il coefficiente sull'effetto principale è uguale a fit.Y - coef (fit) * fit [, 1: dim (X.inter) [2]]. Il coefficiente sull'effetto di interazione è uguale a coef (adattamento)

Nei passaggi aeb, non è necessario eseguire la suddivisione del campione. Per me va bene!

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.