T-test accoppiato (o qualcos'altro) per confrontare le prestazioni del modello, utilizzando una suddivisione ripetuta di treno/test?
Sto cercando il test statistico corretto per confrontare il test ROC AUC di due modelli. Ho fatto quanto segue:
- Casualmente
train
/test
dividi il mio set di dati di 1.000 osservazioni (700/300) - Imputa i valori mancanti utilizzando due diverse metodologie (predittiva vs mediana/modalità):
train_a
,train_b
,test_a
,test_b
- Costruisci due modelli identici sui set di dati del treno:
model_a
&model_b
- Valuta questi due modelli sui set di dati di test utilizzando ROC AUC:
test_AUC_a
&test_AUC_b
- Ripeti i passaggi 1 - 4, con una partizione casuale diversa (per un totale di 100 volte)
I miei risultati sono simili a questo (i vettori hanno una lunghezza di 100):
test_AUC_a <- c(0.786, 0.767, 0.730, 0.728, 0.784)
test_AUC_b <- c(0.777, 0.751, 0.733, 0.700, 0.767)
Sto cercando il test statistico "corretto" da eseguire per confrontare questi due metodi di imputazione dei valori mancanti, quindi in realtà sto cercando di chiedere "La metodologia si a
traduce in un AUC di test più elevato rispetto alla metodologia b
" .
Ho davvero due domande qui:
- Un test a una coda è appropriato qui? Ho intenzione di attenermi alla metodologia più semplice
b
(imputazione mediana/mode) a meno che non ci siano prove chea
(imputazione predittiva) fornisca risultati migliori - Il test t appaiato è appropriato? Quindi, utilizzando uno dei seguenti:
t.test(test_AUC_a, test_AUC_b, paired = T, alternative = "greater")
t.test(test_AUC_a, test_AUC_b, paired = T, alternative = "two.sided")
Nella mia ricerca sembra che potrei essere sulla buona strada con un test t accoppiato, ma mi sono imbattuto in Nadeau Bengio (pagina 16) che propone una statistica del test t ricampionata corretta (violazione dell'assunzione di indipendenza, dal momento che il treno & i set di test si sovrapporranno a ogni ricampionamento dei dati), ma non sono sicuro di aver compreso correttamente il documento e se è appropriato qui.
Se sono onesto, ho anche qualche problema a capire tutta la matematica e a tradurla in codice R, quindi non ho idea di come eseguire il test corretto (1 o 2 code) se lo volessi.
Spero davvero che qualcuno possa aiutarmi! La verifica delle ipotesi non è proprio il mio forte
Risposte
Questo è stato un bene per me perché non ero a conoscenza del documento Nadeau & Bengio, che in realtà è molto interessante. È un documento difficile e non posso garantire che la mia comprensione sia corretta al 100%, quindi qualunque cosa io scriva ora su quel documento non ha alcuna garanzia. Per quanto interessante sia il documento, non credo sia scritto nel modo più chiaro, vedi sotto.
(1) Ciò che è importante qui è su quale "popolazione di problemi" vuoi fare affermazioni generali. Se vuoi solo vedere quale metodo sta andando meglio nei tuoi esperimenti, non hai bisogno di un test; puoi semplicemente guardare la differenza tra mezzi e display visivi.
(2) Ora ovviamente c'è qualche variazione casuale in questo, e il test consiste nel chiedere se le differenze che vedi possono essere spiegate da variazioni casuali, ma devi decidere quale tipo di variazione è rilevante. Ho capito che hai solo un singolo set di dati. Ora una prospettiva (P1 da ora) sarebbe che dici che il set di dati è fisso e sei interessato solo a fare affermazioni sulla variazione casuale sulle divisioni casuali. Un'altra prospettiva (P2) è che si tiene conto anche del fatto che il set di dati è casuale e si desidera fare affermazioni sulla popolazione sottostante$P$di set di dati. Il mio primo commento qui è che P2 sembra a prima vista senza speranza; hai solo un singolo set di dati, ovvero hai una dimensione effettiva del campione di uno dei set di dati di quella popolazione. Dalla dimensione del campione non si può dire molto.
(3) Discuterò P2, il documento di Nadeau e Bengio e la questione della generalizzazione a$P$in (6). Questo è sottile e difficile, e per prima cosa faccio alcune affermazioni più semplici.
(4) Sotto P1, le diverse suddivisioni dei dati sono di fatto indipendenti (non lo sono sotto P2, da cui deriva la difficoltà in Nadeau e Bengio), quindi un test t accoppiato standard dovrebbe andare bene qui supponendo che il tuo numero di repliche è abbastanza grande e 100 dovrebbero bastare. Ma ovviamente questo ti consente solo di generalizzare a ciò che dovrebbe accadere con più divisioni sullo stesso set di dati (in realtà penso che sia il meglio che otterrai, vedi sotto).
(5) La domanda se scegli un test a una o due code dipende dal fatto che la tua domanda iniziale sia asimmetrica o simmetrica. Se sei interessato solo a sapere se il metodo A è migliore (perché è quello nuovo, e se non è migliore, lo getterai via indipendentemente dal fatto che sia peggiore o se siano uguali), usi un unilaterale test. Se sei interessato se ci sono prove che su questo set di dati i metodi sono diversi in qualsiasi direzione, usa un test a due code.
(6) In realtà sembra che P2 sia ciò che Nadeau e Bengio affrontano nel loro articolo; in tutta la loro modellazione il set di dati viene trattato come casuale e sembra che stiano cercando un errore di generalizzazione che può essere stimato dall'avere un singolo set di dati, ma il loro documento non lo rende molto chiaro. In realtà, nel loro studio di simulazione, generano 1000 set di dati, tuttavia notano a p.259 che i metodi in Sez. 4 (di cui ne hai citato uno) si applicano a un singolo set di dati. Quindi Nadeau e Bengio trattano una configurazione di cui dico intuitivamente che questa è una situazione di "dimensione del campione efficace uno" in cui non puoi davvero dire molto. Sto dicendo che hanno torto nel farlo? Beh, dipende. Se presumi che il tuo set di dati$Z=(Z_1,\ldots,Z_n)$è iid, e anche estratto a caso da una popolazione$P$di tali set di dati (il che significa che non solo i dati in$Z$sono iid, ma anche diversi set di dati completi$Z$sarebbe iid se ne fosse disegnato più di uno), in realtà$Z$contiene un bel po' di informazioni, se$n$è abbastanza grande, circa la variazione attesa in$P$. Quindi i calcoli di Nadeau e Bengio sono legittimi (e nella loro simulazione ovviamente trattano tali casi, quindi esistono), tuttavia penso che in pratica abbiano una rilevanza piuttosto limitata. Questo perché di solito se si dispone di un solo set di dati, è molto difficile dimostrare che questo è tratto iid da una popolazione ben definita. Quella$P$è fittizio; è "immaginiamo che ci sia una popolazione rappresentata in modo iid da questo set di dati", il che significa sostanzialmente che il set di dati definisce implicitamente la popolazione e alla fine stai ancora facendo solo inferenze sul set di dati stesso. (Non escludo la possibilità che ci siano situazioni in cui si possa fare un caso più convincente a favore dell'applicabilità di quella teoria, ma penso che siano molto eccezionali nella migliore delle ipotesi.)
Leggendo l'articolo possiamo anche renderci conto che Nadeau e Bengio usano alcune approssimazioni su cui suonano molto cauti e che non si basano su prove matematiche di validità. La validità dipenderebbe in realtà dalla natura precisa di$P$, su cui gli autori non fanno ipotesi (che in ogni caso non potrebbero mai essere verificate con una dimensione effettiva del campione di 1). La mia comprensione è che le imprecisioni in questo articolo (su cui gli autori sono lodevolmente aperti) derivano esattamente dal fatto che per dire qualcosa di preciso avrebbero bisogno di ipotesi audaci su$P$che non sono verificabili in nessuna situazione reale, a meno che tu non abbia sostanzialmente più di un set di dati. Per quanto i metodi che propongono funzionino bene nelle loro simulazioni, ciò è dovuto al fatto che sono state scelte configurazioni di simulazione che funzionano ragionevolmente bene, oltre al fatto che ovviamente nelle loro simulazioni il$Z$è infatti iid tratto da$P$, che è l'assunto chiave che di fatto fanno. Nella maggior parte delle situazioni reali, se si dispone di un set di dati reale$Z$e prova ad applicare questi metodi, il fatto stesso che questo sia l'unico set di dati che hai già significa che è speciale in qualche modo e non è stato estratto casualmente da una popolazione ben definita di set di dati! (Altrimenti perché sarebbe un problema disegnare di più?)
Quindi la mia impressione è che la metodologia di Nadeau e Bengio non ti porterà molto oltre un semplice t-test accoppiato; e puoi solo generalizzare in modo affidabile a ciò che accadrebbe con più divisioni sullo stesso set di dati. Se vuoi di più, hai bisogno di più set di dati (veramente indipendenti).