Comprensione del bootstrap per la validazione e la selezione del modello


13

Penso di capire come funzionano i fondamenti del bootstrap , ma non sono sicuro di capire come posso utilizzare il bootstrap per la selezione del modello o per evitare un eccesso di adattamento.

Per la selezione del modello, ad esempio, sceglieresti semplicemente il modello che produce l'errore più basso (forse varianza?) Tra i suoi campioni bootstrap?

Ci sono dei testi che discutono su come utilizzare il bootstrap per la selezione o la validazione del modello?

EDIT: vedi questa discussione e la risposta di @ mark999 per ulteriori contesti dietro questa domanda.


@suncoolsu Se avessi il modello A, B e C tra cui scegliere, in genere utilizzerei la convalida incrociata o il bootstrap per scegliere un modello quando 1) Sono interessato all'accuratezza / classificazione della previsione e 2) Non ho abbastanza dati per un controllo set di validazione. Perché non sarebbe una buona idea (e so che la convalida nidificata è importante per la selezione delle funzionalità, ecc.).
B_Miner,

La risposta di @ mark999 in questo thread suggerisce la convalida del bootstrap come soluzione per l'apprendimento di un modello sull'insieme di dati completo, pur continuando a far fronte a un overfitting. Questa risposta è ciò che ha ispirato questa domanda in larga misura, e la domanda originale in quel thread dovrebbe anche aggiungere contesto a questa domanda.
Amelio Vazquez-Reina,

1
Mi dispiace, probabilmente sono io che sono uno statistico, ma penso che la convalida incrociata e il bootstrap siano due cose diverse. La convalida incrociata è ottima e deve essere eseguita (e anche bootstrap). Ma se ti trovi in ​​scenari come la scelta tra A, B, C (solo tre modelli), BIC potrebbe essere una scelta migliore. Come ho detto, la soluzione dipende dal problema attuale e possono essere appropriati approcci multipli.
suncoolsu,

2
L'AIC generalmente produce meno underfitting rispetto al BIC.
Frank Harrell,

Risposte:


14

Per prima cosa devi decidere se hai davvero bisogno della selezione del modello o se devi solo modellare. Nella maggior parte delle situazioni, a seconda della dimensionalità, è preferibile montare un modello globale flessibile.

Il bootstrap è un ottimo modo per stimare le prestazioni di un modello. La cosa più semplice da stimare è la varianza. Più precisamente al punto originale, il bootstrap può stimare le probabili prestazioni future di una determinata procedura di modellazione, su nuovi dati non ancora realizzati.

Se si utilizza il ricampionamento (bootstrap o cross-validation) sia per scegliere i parametri di ottimizzazione del modello sia per stimare il modello, sarà necessario un bootstrap doppio o una validazione incrociata nidificata.

In generale, il bootstrap richiede meno adattamenti del modello (spesso circa 300) rispetto alla convalida incrociata (la convalida incrociata 10 volte dovrebbe essere ripetuta 50-100 volte per stabilità).

Alcuni studi di simulazione sono disponibili all'indirizzo http://biostat.mc.vanderbilt.edu/rms


2
Wow, non sapevo che il CV di 10 volte dovesse essere ripetuto 50-100 volte! Dovrò rivisitare il mio ultimo progetto e provare invece i test bootstrap. Adoro questo sito web: imparo qualcosa ogni giorno!
Wayne,

Grazie @Frank! Supponiamo che io abbia una serie di modelli candidati con lo stesso numero di parametri, quelli con una varianza inferiore nelle stime del bootstrap sono i migliori candidati (supponendo che la perdita o il rischio totale sia lo stesso per tutti loro) per combattere il sovrautilizzo?
Amelio Vazquez-Reina,

Non lo presumo, ma è possibile.
Frank Harrell,

Ottima risposta, grazie! Non sapevo che il bootstrap potesse essere utilizzato anche per la validazione del modello E la validazione incrociata doveva essere ripetuta più volte. Vedo un altro vantaggio di questo metodo: la convalida incrociata richiede che il numero di pieghe sia determinato (soggettivamente) in anticipo, in genere 10, che è più o meno euristico piuttosto che ottimale. Ma mentre questo è un ottimo metodo, perché non sembra così popolare come la validazione incrociata?
SiXUlm

La convalida del modello Bootstrap è abbastanza popolare, ma la convalida incrociata è in circolazione da più tempo. Ma come hai detto c'è qualche arbitrarietà nella scelta delle # pieghe in cv.
Frank Harrell,

3

Prendi in considerazione l'utilizzo del bootstrap per la media del modello .

Il documento di seguito potrebbe essere d'aiuto, in quanto confronta un approccio di media del modello bootstrap alla media di modellazione bayesiana (più comunemente usata?) E delinea una ricetta per eseguire la media del modello.

Media del modello Bootstrap negli studi di serie storiche sull'inquinamento atmosferico e sulla mortalità del particolato


Non consiglierei il bootstrap per la media dei modelli nella maggior parte dei casi. Bootstrap è il migliore per dirti come si comporta una procedura di modellazione, piuttosto che per dirti come creare una nuova procedura. Ci sono eccezioni a questo, però.
Frank Harrell,

@Frank Harrell - Concordato. Il documento a cui ho fatto riferimento si applica all'area in cui lavoro a volte e ho usato il bootstrap per lo scenario che hai dichiarato: valutare la variabilità di un particolare modello a causa di un errore di campionamento. Ma l'incertezza dovuta alla selezione del modello stesso è ancora più difficile da valutare e l'approccio della media del modello bootstrap potrebbe essere utile come aiuto, specialmente per i professionisti come me che non hanno esperienza / background per riformulare i problemi della media del modello bayesiano.
Josh Hemann,

2
No, direi che il bootstrap è eccellente per dare una valutazione del danno causato dal non conoscere il modello in anticipo. Ciò non implica che dovresti necessariamente utilizzare il bootstrap per migliorare le cose, come la media su una serie di modelli incerti. Se dovessi usare il bootstrap in questo modo, avresti bisogno di un doppio bootstrap per ottenere una valutazione onesta delle prestazioni del modello mediato. Dovrei notare che le foreste casuali sono una forma di media del modello che utilizza il bootstrap.
Frank Harrell,

Un buon punto sul doppio bootstrap. Gli autori dell'articolo a cui ho fatto riferimento hanno un articolo di follow-up su questo: Bootstrap-after-Bootstrap Model Averaging per la riduzione dell'incertezza dei modelli nella selezione dei modelli per gli studi sulla mortalità dell'inquinamento dell'aria
Josh Hemann,

Buona. Ricorda solo che spesso è eccessivo. Spesso è meglio porre un modello completo basato sull'argomento e usare il restringimento (penalizzazione) se si adatta troppo; ma è ancora un modello.
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.