Come interpretare le variabili che sono escluse o incluse nel modello lazo?


9

Da altri post ho ottenuto che non si può attribuire "importanza" o "significato" alle variabili predittive che entrano in un modello di lazo perché il calcolo dei valori p di tali variabili o deviazioni standard è ancora in corso.

In base a tale ragionamento, è corretto affermare che NON PUO 'dire che le variabili ESCLUSE dal modello di lazo siano "irrilevanti" o "insignificanti"?

In tal caso, cosa posso effettivamente rivendicare sulle variabili che sono escluse o incluse in un modello lazo? Nel mio caso specifico, ho selezionato il parametro di sintonia lambda ripetendo 10 volte la convalida incrociata 100 volte al fine di ridurre l'abbandono e la media delle curve di errore.

AGGIORNAMENTO1: Ho seguito un suggerimento di seguito e ho eseguito nuovamente il lazo usando esempi bootstrap. Ho provato 100 campioni (quella quantità era ciò che il mio computer poteva gestire dall'oggi al domani) e sono emersi alcuni schemi. 2 delle mie 41 variabili sono entrate nel modello più del 95% delle volte, 3 variabili oltre il 90% e 5 variabili oltre l'85%. Quelle 5 variabili sono tra le 9 che sono entrate nel modello quando l'avevo eseguito con il campione originale ed erano quelle con i valori di coefficiente più alti di allora. Se eseguo lazo con diciamo 1000 campioni bootstrap e quei modelli vengano mantenuti, quale sarebbe il modo migliore per presentare i miei risultati?

  • 1000 campioni bootstrap suonano abbastanza? (La mia dimensione del campione è 116)

  • Dovrei elencare tutte le variabili e la frequenza con cui entrano nel modello, e quindi sostenere che quelle che entrano più frequentemente hanno maggiori probabilità di essere significative?

  • È per quanto posso andare con le mie affermazioni? Perché è un work in progress (vedi sopra) non posso usare un valore di cut-off, giusto?

AGGIORNAMENTO2: Seguendo un suggerimento di seguito, ho calcolato quanto segue: in media, il 78% delle variabili nel modello originale ha inserito i modelli generati per i 100 campioni bootstrap. D'altra parte, solo il 41% per il contrario. Ciò ha a che fare in gran parte con il fatto che i modelli generati per i campioni bootstrap tendevano a includere molte più variabili (17 in media) rispetto al modello originale (9).

AGGIORNAMENTO3: Se potessi aiutarmi a interpretare i risultati ottenuti dal bootstrap e dalla simulazione Monte Carlo, dai un'occhiata a questo altro post.

Risposte:


10

La tua conclusione è corretta. Pensa a due aspetti:

  1. Potere statistico per rilevare un effetto. A meno che il potere non sia molto elevato, si possono perdere anche grandi effetti reali.
  2. Affidabilità: avere un'alta probabilità di trovare le giuste (vere) caratteristiche.

Vi sono almeno 4 considerazioni principali:

  1. Il metodo è riproducibile da te utilizzando lo stesso set di dati?
  2. Il metodo è riproducibile da altri utilizzando lo stesso set di dati?
  3. I risultati sono riproducibili utilizzando altri set di dati?
  4. Il risultato è affidabile?

Quando si desidera fare qualcosa di più della previsione, ma trarre delle conclusioni su quali caratteristiche sono importanti nella previsione del risultato, 3. e 4. sono cruciali.

Hai risolto il problema 3. (e per questo motivo sono sufficienti 100 bootstrap), ma oltre alle singole frazioni di inclusione delle funzionalità, dobbiamo conoscere la "distanza" media assoluta tra un set di funzionalità bootstrap e il set di funzionalità selezionato originale. Ad esempio, qual è il numero medio di funzionalità rilevate dall'intero campione che sono state trovate nell'esempio bootstrap? Qual è il numero medio di funzionalità selezionate da un campione bootstrap che sono state trovate nell'analisi originale? Qual è la percentuale di volte in cui un bootstrap ha trovato una corrispondenza esatta con il set di funzionalità originale? Qual è la proporzione che un bootstrap era all'interno di una caratteristica di concordare esattamente con l'originale? Due caratteristiche?

Non sarebbe appropriato dire che qualsiasi cutoff dovrebbe essere usato per trarre una conclusione generale.

Per quanto riguarda la parte 4. Nulla di tutto ciò affronta l'affidabilità del processo, vale a dire quanto è vicina la serie di funzionalità alla serie di funzioni "vera". Per ovviare a questo, potresti fare uno studio di re-simulazione Monte-Carlo in cui prendi il risultato lazo del campione originale come "verità" e simuli nuovi vettori di risposta diverse centinaia di volte usando una struttura di errore presunta. Per ogni nuova simulazione si esegue il lazo sull'intera matrice predittiva originale originale e sul nuovo vettore di risposta e si determina la vicinanza del set di funzionalità del lazo selezionato alla verità da cui si è simulato. Condizioni di ri-simulazione sull'intero set di predittori candidati e utilizza le stime dei coefficienti dal modello inizialmente montato (e nel caso del lazo, l'insieme di predittori selezionati) come una "verità" conveniente da cui simulare.

Per simulare nuove realizzazioni di data la matrice originale e ora i veri coefficienti di regressione, si può usare la varianza residua e assumere la normalità con zero medio, o essere ancora più empirici, salvare tutti i residui dall'adattamento originale e prendere un campione bootstrap da essi per aggiungere residui al predittore lineare noto per ogni simulazione. Quindi il processo di modellazione originale viene eseguito da zero (inclusa la selezione della penalità ottimale) e viene sviluppato un nuovo modello. Per ognuna delle circa 100 iterazioni, confronta il nuovo modello con il modello reale da cui stai simulando.YXXβ

Ancora una volta, questo è un buon controllo sull'affidabilità del processo: la capacità di trovare le funzionalità "vere" e ottenere buone stime di .β

Quando è binario, invece di trattare i residui, la ri-simulazione implica il calcolo del predittore lineare originale (ad esempio, utilizzando il lazo), prendendo la trasformazione logistica e generando per ogni simulazione Monte Carlo un nuovo vettore per adattarsi di nuovo. In R si può dire per esempioYXβY

lp <- predict(...) # assuming suitable predict method available, or fitted()
probs <- plogis(lp)
y <- ifelse(runif(n) <= probs, 1, 0)

3
Avresti dovuto dirlo in anticipo e avrei dovuto chiedere. Stai spingendo la busta ben oltre ciò che le informazioni disponibili supporteranno. Pensare in questo modo. Per un risultato binario, al fine di stimare solo l'intercettazione in un modello logistico binario, è necessario disporre di almeno 96 osservazioni. Quindi sono necessari circa 15 eventi per predittore candidato (se non penalizzante). La probabilità che il processo venga convalidato in un set di dati futuro è piuttosto ridotta. Un altro modo di guardare è che tutta questa discussione è ancora più importante (rispetto ad avere una più grande ). N
Frank Harrell,

1
Non mi riferivo al bootstrap. Mi riferivo al fatto che puoi imparare qualcosa da dozzine di variabili candidate quando hai solo 32 eventi.
Frank Harrell,

3
Il lazo è più appropriato della maggior parte dei metodi ma l'affidabilità diminuisce con una dimensione del campione così ridotta. Stai richiedendo parsimonia usando il lazo anziché una penalità quadratica (cresta; L2). Indubbiamente otterrai una migliore discriminazione predittiva usando una penalità quadratica e non chiedendo parsimonia. Oppure fai una grave riduzione dei dati (mascherata su ), quindi adatta un modello ordinario non aperto. Y
Frank Harrell,

1
Fai l'esperimento di re-simulazione che ti ho suggerito di verificare l'effettiva affidabilità del metodo nella tua impostazione esatta.
Frank Harrell,

2
Devo firmare questa discussione: la risposta di base alla tua domanda è la programmazione R di base e dai un'occhiata a semplici simulazioni in biostat.mc.vanderbilt.edu/rms .
Frank Harrell,
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.