Qual è la procedura per la "validazione bootstrap" (aka "ricampionamento convalida incrociata")?


15

"Convalida bootstrap" / "ricampionamento convalida incrociata" è nuovo per me, ma è stato discusso dalla risposta a questa domanda . Capisco che coinvolge 2 tipi di dati: i dati reali e i dati simulati, in cui un dato insieme di dati simulati viene generato dai dati reali ricampionando-con-sostituzione fino a quando i dati simulati hanno le stesse dimensioni dei dati reali. Mi vengono in mente due approcci all'utilizzo di tali tipi di dati: (1) adattare il modello una volta, valutarlo più volte su molti set di dati simulati; (2) adattare il modello molte volte utilizzando ciascuno dei molti set di dati simulati, ogni volta valutandolo rispetto ai dati reali. Quale (se uno dei due) è il migliore?

Risposte:


20

Risposta breve: entrambe le tecniche di validazione comportano l'addestramento e il collaudo di numerosi modelli.

Risposta lunga su come farlo al meglio: dipende ovviamente. Ma ecco alcuni pensieri che utilizzo per guidare le mie decisioni sul ricampionamento della convalida. Sono chemometrico, quindi queste strategie e anche i termini sono più o meno strettamente correlati a problemi chimico-analitici.

Per spiegare un po 'i miei pensieri, penso alla convalida come alla misurazione della qualità del modello e alla formazione come alla misurazione dei parametri del modello - questo porta ad un'analogia abbastanza potente con ogni altro tipo di misurazione.

Esistono due diversi punti di vista su questi approcci rispetto alla validazione:

  1. un punto di vista tradizionale per la convalida del ricampionamento è: il set di dati ricampionato (a volte chiamato set di dati surrogato o sottoinsieme) è praticamente lo stesso del set di dati originale (reale).
    Pertanto, un "modello surrogato" adatto all'insieme di dati surrogato è praticamente lo stesso dell'adattamento del modello all'intero set di dati reale. Ma alcuni esempi sono esclusi dal set di dati surrogati, il modello è indipendente da questi. Pertanto, prendo quei campioni lasciati fuori o fuori dal bootstrap come set di validazione indipendente per il modello surrogato e uso il risultato come approssimazione del modello di dati interi.
    Tuttavia, il modello surrogato spesso non è realmente equivalente al modello a dati interi: sono stati utilizzati meno campioni per l'allenamento (anche per il bootstrap, il numero di campioni diversi è inferiore). Finché la curva di apprendimento è in aumento, il modello surrogato è in media un po 'peggio del modello a dati interi. Questo è il noto pregiudizio pessimistico della convalida del ricampionamento (se si finisce con un pregiudizio ottimistico, questo di solito è un indicatore del fatto che il set di test lasciato fuori / oob non era indipendente dal modello).

  2. Il secondo punto di vista è che il set di dati ricampionato è una versione perturbata dell'intero set di dati. Esaminando il modo in cui i modelli surrogati (o le loro previsioni per i campioni lasciato fuori / oob) differiscono dal modello di dati completi, si dice qualcosa sulla stabilità del modello rispetto ai dati di addestramento.
    Da questo punto di vista, i modelli surrogati sono qualcosa come misurazioni ripetute. Supponi che il tuo compito sia misurare il contenuto di alcuni minerali di un intero treno di minerali. Il minerale non è omogeneo. Quindi prendi campioni fisici da diverse posizioni e poi guardi il contenuto generale e la sua variazione attraverso il treno. Allo stesso modo, se ritieni che il tuo modello potrebbe non essere stabile, puoi esaminare le prestazioni generali e la variazione dei modelli surrogati.

n eseguito con casi già noti al modello. In altre parole, vengono testati solo i casi esclusi. Ciò viene ripetuto più volte (ogni modello esclude una diversa serie di casi) al fine di (a) misurare e (b) calcolare la media nel miglior modo possibile delle variazioni dovute alle dimensioni finite (piccole) del campione (sia per i test che per la formazione) .

La convalida del ricampionamento non consente di misurare le prestazioni per campioni sconosciuti . Se inoltre si desidera misurare le prestazioni per campioni futuri sconosciuti (deriva strumentale!), È necessario un set di test che viene misurato "in futuro", cioè un certo tempo dopo che tutti i campioni di allenamento sono stati misurati. Nella chimica analitica, questo è necessario, ad esempio, se vuoi scoprire con quale frequenza devi ripetere la calibrazione del tuo strumento (per ogni determinazione, giornaliera, settimanale, mensile, ...)

Bootstrap vs. terminologia di convalida incrociata :

  • il ricampionamento con la sostituzione è spesso chiamato bootstrap,
  • ricampionamento senza convalida incrociata sostitutiva.

Entrambi possono avere una sorta di stratificazione. Storicamente, la suddivisione per la convalida incrociata (almeno in chemiometria) è stata spesso eseguita in modo non casuale, ad esempio una convalida incrociata tripla del modulo abcabc..abc (set di dati ordinati in base al risultato) per la calibrazione / regressione se si hanno pochissimi casi (campioni fisici) e si desidera assicurarsi che l'intero intervallo di dati sia coperto.

Entrambe le tecniche sono di solito ripetute / ripetute più volte. Ancora per ragioni storiche e almeno in chemiometria, la validazione incrociata di k-fold spesso significa addestramento e test di modelli k (ciascuno testato con l'1 / kth dei dati che non era coinvolto nell'allenamento). Se tale suddivisione casuale viene ripetuta, la gente la chiama ripetizione ripetuta iterata o ripetuta.

KKnnn

  • Si noti che il bootstrap non è appropriato per alcune tecniche di adattamento del modello che rimuovono prima le misurazioni duplicate.
  • Esistono alcune varianti del bootstrap, ad esempio .632-bootstrap e .632 + -bootstrap

KK


La lunga risposta è buona.
Momo,

(+1) ottima prospettiva. Sono abbastanza sicuro che il termine surrogato rimarrà.
Steffen,

@steffen, grazie. Non sono affatto l'inventore del termine. Penso di essermi incontrato per la prima volta in un articolo di U. Braga-Neto (forse questo: ncbi.nlm.nih.gov/pubmed/14960464 ) ma sono stato immediatamente convinto del termine ...
cbeleites supporta Monica

Riguardo all'osservazione nella domanda sui dati simulati. Il bootstrap di per sé non comporta dati simulati. I dati simulati verranno utilizzati come modo per valutare se il metodo bootstrap funziona su un problema specifico. Ma il bootstrap stesso è solo un riutilizzo dei dati basato sull'esempio bootstrap. Campioni selezionati a caso con sostituzione dal set di dati originale. Questo di solito implica il prelievo di n campioni dove n è la dimensione del campione originale. Monte Carlo entra come un modo per approssimare la distribuzione bootstrap generando effettivamente campioni bootstrap sul computer.
Michael R. Chernick,

3

Non conosco "best" (che probabilmente dipende da cosa lo usi), ma uso la validazione bootstrap per stimare l'errore sui nuovi dati nel modo seguente (terzo modo se vuoi):

  1. Disegna un set di addestramento di N osservazioni dai dati originali (di dimensione N) con sostituzione.
  2. Adatta il modello ai dati di allenamento.
  3. Valutare il modello sui campioni out-of-bag (oob)

Ciò che è fuori borsa non è sempre chiaramente definito. Spesso sono tutte quelle osservazioni che non facevano parte del set di addestramento. Sarebbe più rigoroso (lo uso in questo modo) avere solo osservazioni nel campione di oob che hanno una realizzazione dell'intero vettore predittore che non fa parte del set di addestramento (che è particolarmente utile se si hanno molti fattori). Ancora più rigoroso è usare un campione di oob che contenga solo quelle osservazioni che hanno una diversa realizzazione della variabile predittiva sui predittori scelti nel modello (particolarmente utile se il modello viene trovato con una procedura di selezione variabile, ad esempio alberi).

Quindi di solito lo ripeto un numero di volte k e risultati aggregati sulle pieghe k (media o mediana o qualsiasi statistica utile). Il modello scelto in questo modo può quindi essere adattato al set di dati complessivo (come nella tua opzione 2) per valutare ulteriormente se c'è ancora una tendenza a sovrautilizzare (la misura delle prestazioni non dovrebbe essere troppo lontana dai campioni bootstrap).

Se ho più modelli o una griglia di parametri o simili, li inserisco tutti in ciascun set di allenamento e li valuto tutti su ciascun campione di oob. È anche possibile non utilizzare un set di allenamento due volte, ma per ogni combinazione di parametri di tuning o modello per disegnare una nuova coppia di allenamento / oob.

Vedi ad esempio La progettazione e l'analisi di esperimenti di benchmarking .

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.