Addestramento, test, validazione in un problema di analisi di sopravvivenza


14

Ho cercato qui vari thread, ma non credo che la mia domanda esatta abbia una risposta.

Ho un set di dati di circa 50.000 studenti e il loro tempo di abbandono. Eseguirò una regressione dei rischi proporzionale con un gran numero di potenziali covariate. Farò anche una regressione logistica sull'abbandono / permanenza. L'obiettivo principale sarà la previsione per nuove coorti di studenti, ma non abbiamo motivo di credere che varieranno molto dalla coorte dell'anno scorso.

Di solito, non ho un tale lusso di dati e modellare il modello con una sorta di penalizzazione, ma questa volta ho pensato di dividere la formazione int e testare i set di dati e quindi fare la selezione variabile sul set di training; quindi utilizzando il set di dati di test per stimare i parametri e la capacità predittiva.

È una buona strategia? In caso contrario, cosa è meglio?

Citazioni benvenute ma non necessarie.

Risposte:


8

Con una frequenza di risultato simile ho scoperto che la suddivisione dei dati può funzionare se . E fornisce una stima imparziale delle prestazioni del modello, penalizzando adeguatamente la selezione del modello (se hai davvero bisogno della selezione del modello; la penalizzazione è ancora più probabile che risulti in un modello migliore) se usi il campione solo una volta. MA non utilizzare il campione di prova per alcuna rivalutazione dei parametri. La suddivisione dei dati si basa sul modello creato utilizzando il campione di addestramento per essere messo in "congelamento profondo" e applicato al campione di prova senza modificare.n>20,000


Grazie. Consiglieresti 80-20? 90-10? Qualcos'altro? Qualche riferimento su questo?
Peter Flom - Ripristina Monica

2
Non ho tenuto il passo con la letteratura relativa alla configurazione ottimale della divisione. Ma si applicano alcuni principi generali. Per il campione di validazione hai bisogno di abbastanza grande da poter stimare la curva di calibrazione con grande precisione, quindi devi vedere che ciò che rimane è più che adeguato per un adattamento del modello affidabile (usando, diciamo, un rapporto di eventi 20: 1: candidato parametri se non penalizzi). n
Frank Harrell,

3

Ho esaminato questo documento da solo per il compito analogo di convalida incrociata della previsione di sopravvivenza. Le parti buone iniziano dal capitolo 2.


Questo sembra confrontare 5 volte con la stima basata sul modello CV (e conclude che 5 volte è migliore). Ma ero più interessato a dividere i dati in 2 parti e usare uno per convalidare l'altro.
Peter Flom - Ripristina Monica

1
Il take-away che ho trovato da questo, e perché inizialmente ero attratto da questo documento, era come affrontare la censura nelle previsioni di sopravvivenza, cioè quale funzione di perdita usare (sebbene rileggendo la tua domanda, potresti non avere censura).
Cam.Davidson.Pilon

Ho una censura e la tesi è interessante, ma non è una risposta alla mia domanda, non credo.
Peter Flom - Ripristina Monica

1

Da allora ho trovato questo documento che non solo risponde alla mia domanda, ma fornisce un metodo per capire la suddivisione ottimale per particolari set di dati. L'ho trovato grazie all'uso di @FrankHarrell del termine "configurazione split ottimale" che ho poi cercato su Google.


2
Peter Penso che la carta abbia usato una regola di punteggio impropria. Risultati diversi possono essere ottenuti quando si utilizzano le regole di punteggio appropriate. Inoltre, l'articolo non ha affrontato la "volatilità" dell'analisi. Considerando lì piccole dimensioni totali del campione, la ripetizione del processo utilizzando una diversa divisione casuale comporterà modelli molto diversi e una precisione molto diversa rispetto alla prima divisione. Vedo che è molto indesiderabile.
Frank Harrell,

@FrankHarrell: vedo il tuo punto ed è davvero un ottimo punto. Che cosa mi consigliate di fare? Peform Monte Carlo corre su treni / prove di divisione e poi su ogni corsa ix k-fold CV (o bootstrap)? Ma poi questo contaminerebbe l'intero set di dati .... Non vedo soluzione migliore che trovare un modo appropriato per dividere il set di dati in set di treni e test (quali sarebbero i criteri?) Non mi sento a mio agio nell'usare tutti i set di dati per addestrare e validare (usando CV o boot) i modelli (da cui uno (o più) saranno usati per prevedere valori di output sconosciuti basati su alcuni dati di input).
jpcgandre,

Ho risolto il problema nel post che hai appena inserito in un'altra pagina dell'argomento.
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.