Rapporto di calcolo dei dati campione utilizzati per l'adattamento / l'addestramento e la validazione del modello


9

Fornito una dimensione del campione "N" che ho intenzione di utilizzare per prevedere i dati. Quali sono alcuni modi per suddividere i dati in modo che io ne usi alcuni per stabilire un modello e i dati rimanenti per convalidare il modello?

So che non esiste una risposta in bianco e nero a questo, ma sarebbe interessante conoscere alcune "regole empiriche" o rapporti generalmente usati. Conosco all'università, uno dei nostri professori era solito dire modello sul 60% e validare sul 40%.

Risposte:


7

Bene, come hai detto, non esiste una risposta in bianco e nero. In genere non divido i dati in 2 parti ma uso invece metodi come la validazione incrociata di k-fold.

Nella k-fold cross validation dividi i tuoi dati casualmente in k parti e adatta il tuo modello su k-1 parti e testi gli errori sulla parte lasciata fuori. Ripetete il processo k volte lasciando ogni parte fuori dal raccordo una per una. È possibile prendere l'errore medio da ciascuna delle iterazioni come indicazione dell'errore del modello. Funziona davvero bene se si desidera confrontare il potere predittivo di diversi modelli.

Una forma estrema di convalida incrociata di k-fold è la convalida incrociata generalizzata in cui si lascia fuori un solo punto dati per il test e si adatta il modello a tutti i punti rimanenti. Quindi ripetere il processo n volte tralasciando ogni punto dati uno per uno. In genere preferisco la convalida incrociata k-fold rispetto alla convalida incrociata generalizzata ... solo una scelta personale


2
CV usando il set completo per la selezione del modello, eh? È un errore comune (ancora anche Wikipedia lo menziona), perché è un overfit nascosto. Devi fare un CV di livello superiore o lasciare qualche test per farlo bene.

5

Dipende davvero dalla quantità di dati che hai, dal costo specifico dei metodi e da come vuoi esattamente il risultato.

Qualche esempio:

Se hai pochi dati, probabilmente vorrai usare la validazione incrociata (k-fold, Leave-one-out, ecc.) Il tuo modello probabilmente non richiederà molte risorse per addestrare e testare comunque. Sono buoni modi per ottenere il massimo dai tuoi dati

Hai molti dati: probabilmente vorrai fare un set di test ragionevolmente ampio, assicurandoti che ci siano poche possibilità che alcuni strani campioni possano dare molta varianza ai tuoi risultati. Quanti dati dovresti prendere? Dipende completamente dai tuoi dati e modello. Nel riconoscimento vocale, ad esempio, se prendessi troppi dati (diciamo 3000 frasi), i tuoi esperimenti richiederebbero giorni, poiché un fattore in tempo reale di 7-10 è comune. Se prendi troppo poco, dipende troppo dagli altoparlanti che stai scegliendo (che non sono ammessi nel set di allenamento).

Ricorda anche che in molti casi è bene avere anche un set di validazione / sviluppo!


5

Test 1:10: il rapporto del treno è popolare perché sembra rotondo, 1: 9 è popolare a causa del CV 10 volte, 1: 2 è popolare perché è anche rotondo e riassembla il bootstrap. A volte si ottiene un test da alcuni criteri specifici dei dati, ad esempio l'anno scorso per i test, anni prima per la formazione.

La regola generale è tale: il treno deve essere abbastanza grande da non ridurre in modo significativo l'accuratezza e il test deve essere abbastanza grande da rendere silenziose le fluttuazioni casuali.

Preferisco ancora CV, dal momento che ti dà anche una distribuzione dell'errore.


4

Come estensione della risposta k-fold, la scelta "normale" di k è 5 o 10. Il metodo di esclusione ha la tendenza a produrre modelli troppo conservativi. Cordiali saluti, ecco un riferimento su questo fatto:

Shao, J. (1993), Selezione del modello lineare di Cross-Validation, Journal of American Statistical Association, Vol. 88, n. 422, pagg. 486-494


Hai mai letto questo documento? Tuttavia funziona solo per modelli lineari (anche il titolo lo mostra!) Riguarda il comportamento asintotico per un numero infinito di oggetti. 100 non è abbastanza.

1
E ti auguro buona fortuna nel fare 10 convalide incrociate sul set con 9 oggetti.

@mbq: dico la "solita" scelta. Non significa ogni scelta
Albort,

@mbq: ho letto il documento; Shao riferisce di uno studio di simulazione con solo 40 osservazioni e mostra che LOOCV sottoperforma il CV di Monte-Carlo, tranne nel caso in cui nessuna sottoselezione sia appropriata (l'intero set di funzionalità è ottimale). 100 è molto più che sufficiente, almeno per la selezione dei sottoinsiemi nei modelli lineari.
shabbychef,

@shabbychef Mi hai portato qui; il secondo argomento nel mio primo commento è ovviamente una cianfrusaglie, avevo in mente altri lavori e troppo generici. Tuttavia, continuerò a sostenere che il documento di Shao non è un buon riferimento per il generale "LOO fallisce per la grande N" poiché il suo campo di applicazione è ridotto a modelli lineari.
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.