Test multipli: quando cercare abbastanza garantisce di trovare
Un test al 5% sbaglia una volta su venti. Fanne venti, e l’errore non è più un’eventualità remota: è quasi un’aspettativa. Questo capitolo è su cosa succede quando i test smettono di essere uno e diventano molti — e su perché ogni grid search di iperparametri e ogni leaderboard di modelli è, senza dichiararlo, un esperimento a centinaia di test.
Perché questo capitolo
Sezione intitolata “Perché questo capitolo”Il capitolo Test di ipotesi si chiude con una promessa scomoda. La garanzia che regge l’intero apparato — “se fisso , rifiuto l’ipotesi nulla per sbaglio solo il 5% delle volte” — vale per un test. Uno. Deciso prima di vedere i dati, eseguito una volta sola, riportato qualunque sia l’esito. Quasi nessuna situazione reale è così.
Chi confronta modelli ne confronta tanti. Chi cerca iperparametri prova decine, centinaia di configurazioni. Chi valuta un sistema lo prova su molti benchmark. Chi gestisce un A/B test guarda non una metrica ma dieci.
In ognuno di questi casi i test non sono uno: sono molti, e la garanzia del 5% — pensata per uno — non si estende gratis. Anzi, si rompe in un modo preciso e calcolabile: più test si fanno, più diventa probabile che almeno uno dia un falso positivo, fino al punto in cui trovare “qualcosa di significativo” non è più una scoperta ma una certezza statistica, vera anche quando non c’è assolutamente niente da scoprire.
Questo capitolo costruisce l’aritmetica di quella rottura e gli strumenti per ripararla. Mostra come si misura il rischio di un intero insieme di test invece che di uno solo, e presenta due famiglie di soluzioni con due filosofie diverse: una che pretende di non sbagliare mai — la correzione di Bonferroni e le sue varianti — e una che accetta di sbagliare un po’, purché in proporzione controllata — il false discovery rate. La distinzione fra le due non è un tecnicismo: è la scelta fra due idee diverse di cosa significhi “non barare con i dati”.
C’è poi la ragione che rende questo capitolo non opzionale per chi lavora con sistemi AI. Il problema dei test multipli, nel machine learning, non è un caso particolare: è la norma, ed è quasi sempre invisibile.
Una ricerca di iperparametri è un esperimento a test multipli mascherato da procedura di ottimizzazione. Una leaderboard pubblica è un esperimento a test multipli mascherato da classifica. Scegliere il modello migliore fra venti, riportare il benchmark in cui si vince e tacere gli altri, provare cinque seed e tenere il fortunato: tutte queste pratiche, quotidiane e dall’aria innocente, sono lo stesso errore statistico, e tutte gonfiano i falsi positivi esattamente nel modo che questo capitolo smonta.
Contesto
Sezione intitolata “Contesto”Il capitolo Test di ipotesi ha costruito la macchina del singolo test: l’ipotesi nulla (l’affermazione di “nessun effetto”), l’errore di tipo I (rifiutare quando era vera — un falso positivo), il livello di significatività (la probabilità di errore di tipo I che si è disposti a tollerare, per convenzione 0,05), e il p-value (la probabilità, calcolata sotto , di osservare dati estremi almeno quanto quelli ottenuti). Se uno di questi termini suona poco familiare, quello è il capitolo da rivedere prima di questo: tutto ciò che segue lo dà per acquisito.
Il presente capitolo poggia su un’unica osservazione che il precedente ha lasciato volutamente in sospeso. La proprietà ” controlla il rischio di errore” è una proprietà di un singolo test, e non di una collezione di test. Eseguire molti test e poi raccogliere i risultati significativi è un atto statistico nuovo, con un rischio nuovo, che va misurato e controllato con strumenti propri. Quegli strumenti sono il tema del capitolo.
La storia ha un punto di svolta netto e una data. Per decenni la statistica ha avuto un solo modo di pensare al problema: tenere a bada la probabilità di commettere anche un solo errore in tutta la famiglia di test. Quel modo — formalizzato nel concetto di family-wise error rate che vedremo fra poco — è la linea delle correzioni classiche.
La più semplice porta il nome del matematico italiano Carlo Emilio Bonferroni, attivo nella prima metà del Novecento; una versione più efficiente fu data dallo statistico svedese Sture Holm nel 1979. Tutte funzionano, ma condividono un difetto: sono severe, e in discipline dove i test si contano a migliaia rendono quasi impossibile scoprire alcunché.
Il caso che mise quel difetto sotto pressione fu la genomica. Dagli anni ‘90 le tecnologie di microarray resero possibile misurare in un solo esperimento l’espressione di decine di migliaia di geni — decine di migliaia di test simultanei, “questo gene è coinvolto nella malattia?”. Applicare a quel regime una correzione che pretende zero falsi positivi significa alzare la soglia a un punto in cui nessun gene la supera: l’esperimento, tecnicamente impeccabile, non scopre nulla. Serviva un obiettivo diverso.
Nel 1995 due statistici israeliani, Yoav Benjamini e Yosef Hochberg, pubblicarono sul Journal of the Royal Statistical Society un articolo — Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing — che propose proprio questo: non azzerare la probabilità di sbagliare, ma controllare la frazione di errori fra le scoperte. Quell’articolo, oggi fra i più citati di tutta la statistica, ha diviso il capitolo in due metà: prima di Benjamini-Hochberg e dopo. Le due metà non si rimpiazzano — convivono, e la scelta fra loro è la prima decisione di ogni analisi.
Nel grafo di questa wiki, questo è l’ottavo capitolo della Parte V e il prolungamento diretto di Test di ipotesi: senza la macchina del singolo test, il problema dei test multipli non si pone nemmeno. Usa il linguaggio di base — popolazione, campione, parametro — fissato in Popolazione, campione, stimatore. Guarda avanti verso correlazione-causalita (in preparazione) e verso statistica-e-ml (in preparazione), il capitolo sul perché un machine learning senza disciplina statistica produce sistematicamente overclaim — e i test multipli non contati sono una delle sue sorgenti più costanti.
L’intuizione
Sezione intitolata “L’intuizione”Prima delle formule, quattro angoli sul problema. Il primo — le molte monete — fissa l’aritmetica della rottura. Il secondo — il cecchino texano — fissa perché contare i test conta, anche quando sembra che il test sia uno solo. Il terzo — i due ispettori — fissa la differenza fra le due filosofie di correzione, che è il cuore concettuale del capitolo. Il quarto — il budget di errore — fissa l’idea che fa funzionare tutte le correzioni: c’è una quantità fissa di “rischio” da spartire fra i test.
Primo angolo: le molte monete
Sezione intitolata “Primo angolo: le molte monete”Torna la moneta sospetta del capitolo Test di ipotesi. Un amico ti propone il gioco, lanci otto volte, escono otto croci: probabilità sotto l’ipotesi di moneta onesta , circa lo 0,4%. È raro abbastanza da farti sospettare il trucco. Un test, un esito sorprendente, una conclusione.
Ora cambia la scena. Non un amico con una moneta, ma una stanza con mille persone, ognuna con la sua moneta, tutte oneste — lo sai per certo, le hai comprate tu. Ognuna lancia otto volte. Quante faranno otto croci di fila? In media persone. Quattro persone, su mille, otterranno un risultato che — preso isolato — griderebbe “moneta truccata!”. Eppure ogni moneta è onesta. Quelle quattro non hanno trucchi: hanno avuto fortuna.
Qui sta tutto il problema dei test multipli. Se dopo i mille lanci tu giri per la stanza, trovi le quattro persone con otto croci e annunci “ecco i bari”, hai commesso quattro falsi positivi con la coscienza pulita — ogni singola accusa, isolata, sembra solida. L’errore non è in nessuna delle quattro analisi: è nell’aver fatto mille test e poi aver guardato solo i vincitori. Un evento raro per la singola moneta diventa un evento atteso per la stanza intera. La rarità non si è dissolta: si è moltiplicata per mille.
Il conto generale è immediato. Un test al livello , con vera, produce un falso positivo con probabilità . Fai test indipendenti, tutti con vera: il numero atteso di falsi positivi è semplicemente . Con test al 5%, te ne aspetti cinque — cinque risultati “significativi” che sono solo rumore.
E la probabilità che almeno uno dei test dia un falso positivo è : la probabilità che nessuno sbagli, , sottratta da 1. Quel numero cresce in fretta. Con supera il 50%: basta una quindicina di test perché un falso positivo, da rara eventualità, diventi l’esito più probabile. Con arriva al 99,4%: trovare qualcosa di “significativo” non è più una scoperta, è una garanzia. È la stessa curva che incontreremo, sotto vesti diverse, in ogni esempio del capitolo — dai voxel di una scansione fMRI alle metriche di una dashboard.
Secondo angolo: il cecchino texano
Sezione intitolata “Secondo angolo: il cecchino texano”Il primo angolo riguarda test che si contano: mille monete, cento confronti, venti benchmark. Ma il problema ha una forma più sottile, e per vederla serve una vecchia storiella statistica: il cecchino texano.
Un uomo spara una raffica di colpi contro la parete di un fienile. Poi prende un secchio di vernice, si avvicina alla parete crivellata, e disegna il bersaglio intorno al gruppo di fori più fitto. Risultato: tutti i colpi nel centro, mira perfetta. La fallacia — nota in inglese come Texas sharpshooter fallacy — è ovvia quando è raccontata così: il bersaglio è stato deciso dopo aver visto dove erano andati i colpi.
Lo stesso gesto, nella ricerca, è quasi invisibile. Andrew Gelman, statistico della Columbia University, ed Eric Loken, in un saggio del 2013 intitolato The Garden of Forking Paths — “il giardino dei sentieri che si biforcano”, dal racconto di Borges — hanno mostrato che il problema dei test multipli colpisce anche un ricercatore che fa una sola analisi e guarda i dati una volta sola.
Come? Perché le scelte dell’analisi — quali dati anomali escludere, come raggruppare una variabile continua in categorie, quale sottogruppo guardare, quale di due metriche affini riportare — vengono prese guardando i dati. Anche se l’analisi eseguita è una, esistevano molti sentieri alternativi che lo stesso ricercatore avrebbe percorso se i dati fossero usciti diversi. La famiglia di test reale non è “il test che ho fatto”: è “tutti i test che avrei potuto fare”, e quella famiglia è grande, anche quando sul foglio compare un solo p-value.
È un punto importante perché smonta una difesa comune: “non ho fatto cherry-picking, ho fatto una sola analisi”. La buona fede non basta. Se la scelta dell’analisi dipende dai dati, il bersaglio è stato disegnato dopo i colpi, e il p-value calcolato come se l’analisi fosse stata fissata prima sovrastima la solidità del risultato. Gelman e Loken chiamano questo p-hacking senza intenzione: nessuno bara, eppure il tasso di falsi positivi è gonfiato. Tieni stretta questa immagine — torna, identica, quando parleremo di iperparametri.
Un conto rende concreto quanto velocemente la famiglia implicita si gonfia. Immagina un’analisi con tre punti di decisione, ciascuno presa guardando i dati: includere o no gli outlier (2 scelte), usare la metrica grezza o quella normalizzata (2 scelte), guardare il campione intero o il sottogruppo principale (2 scelte). Tre forchette binarie. I sentieri possibili non sono tre: sono . Otto analisi, di cui ne è stata percorsa e riportata una sola.
Con cinque punti di decisione i sentieri diventano ; con sette, . La famiglia di test cresce in modo esponenziale nel numero di scelte contingenti ai dati, e nessuno di quei test “fantasma” compare nel report — ma il falso positivo che producono è reale. È per questo che la sola onestà non protegge: il problema non è mentire, è non poter contare ciò che non si è scritto.
Terzo angolo: i due ispettori
Sezione intitolata “Terzo angolo: i due ispettori”Il terzo angolo introduce la distinzione che è il cuore del capitolo. Immagina due ispettori incaricati di controllare un magazzino di mille scatole, sapendo che qualcuna contiene merce difettosa, e di decidere quali scartare.
Il primo ispettore ha una regola assoluta: “non voglio scartare nemmeno una scatola buona per sbaglio”. Per lui ogni singolo errore — anche uno solo — è inaccettabile. Per rispettare la regola sarà costretto a essere prudentissimo: scarterà solo le scatole palesemente, indiscutibilmente rovinate, e ne lascerà passare molte difettose pur di non rischiare un errore. La sua coscienza è pulita ma il magazzino resta pieno di merce guasta.
Il secondo ispettore ha una regola diversa: “delle scatole che scarto, voglio che non più del 5% siano in realtà buone”. Non promette di non sbagliare mai. Promette che i suoi errori saranno una frazione piccola e controllata del totale degli scarti. Se a fine giornata ha scartato cento scatole, accetta che fino a cinque fossero buone — ma in cambio scarta molte più scatole davvero difettose, perché non è paralizzato dal terrore del singolo errore.
Questi due ispettori sono le due filosofie del controllo dei test multipli. Il primo controlla il family-wise error rate: la probabilità di commettere anche un solo falso positivo nell’intera famiglia. Il secondo controlla il false discovery rate: la frazione attesa di falsi positivi fra le scoperte.
Nessuno dei due ha torto — hanno priorità diverse. Il primo è giusto quando un singolo errore è disastroso: certificare un farmaco, fare un’affermazione scientifica definitiva. Il secondo è giusto quando si è in fase esplorativa, si genera una lista di candidati da verificare poi uno per uno, e qualche falso allarme costa poco. La scelta dell’ispettore — non la formula — è la prima decisione di ogni analisi a test multipli.
Un dettaglio dell’analogia va estratto, perché è il punto più frainteso del capitolo. La regola del secondo ispettore — “non più del 5% degli scarti siano buoni” — è una promessa sul mucchio degli scarti, non su una scatola in particolare. Se prendi una singola scatola dal mucchio degli scartati e chiedi “questa è davvero difettosa?”, la regola del 5% non risponde: dice solo che, contando tutte le scatole scartate, in media una su venti è buona.
Il primo ispettore fa una promessa di natura diversa: “con alta probabilità, in tutto il mucchio degli scarti non c’è nemmeno una scatola buona”. Sono due garanzie su oggetti diversi — una sulla frazione media, una sulla presenza di un singolo errore — e scambiarle è la fonte di un overclaim preciso che la sezione “Dove si rompe” smonta in dettaglio.
Quarto angolo: il budget di errore
Sezione intitolata “Quarto angolo: il budget di errore”L’ultimo angolo è quello che rende intuitivo come le correzioni del FWER funzionano, e basta una metafora economica. Pensa al rischio di errore come a un budget da spendere. Quando fai un solo test, hai un budget di : te lo puoi permettere tutto su quell’unico test, e quel test rifiuta se il suo p-value sta sotto 0,05. Hai speso tutto il budget su una sola scommessa.
Adesso devi fare venti test, ma il budget complessivo — il rischio che sei disposto a correre di sbagliare da qualche parte nell’intera famiglia — resta . Non puoi più spendere 0,05 su ognuno dei venti: spenderesti venti volte il budget, e infatti il rischio cumulativo salirebbe verso il 64%.
Devi spartire il budget fra i test. Il modo più semplice di spartirlo è equo: a testa. Ogni test ora rifiuta solo se il suo p-value sta sotto la sua quota, . Questa è, esattamente, la correzione di Bonferroni: dividere il budget di errore in parti uguali fra i membri della famiglia.
L’immagine del budget rende ovvie due cose. Primo, perché correggere costa potenza: con venti test la quota di ciascuno è venti volte più piccola, le soglie diventano severissime, e molti effetti veri non riescono a starci sotto — il budget tirato troppo sottile non basta a comprare le scoperte.
Secondo, perché esistono correzioni più furbe di Bonferroni: spartire il budget in parti uguali è semplice ma non obbligatorio. La procedura di Holm, che vedremo, lo spartisce in modo dinamico — chi non usa la sua quota la lascia agli altri. E il false discovery rate cambia proprio l’unità di misura del budget: non più “rischio di un qualunque errore”, ma “frazione tollerata di errori fra le scoperte”. Tre modi di gestire un budget; la stessa idea di base che non si può spendere tutto su ogni test.
La meccanica
Sezione intitolata “La meccanica”Adesso i pezzi diventano precisi. Quattro passaggi: cosa è una “famiglia” di test, come si misura l’errore family-wise, le correzioni che lo controllano, e infine il false discovery rate con la procedura di Benjamini-Hochberg.
La famiglia di test
Sezione intitolata “La famiglia di test”Tutto comincia da una parola che sembra tecnica e invece è una decisione interpretativa: la famiglia. La famiglia di test è l’insieme dei test che si considerano insieme per trarre una conclusione. È rispetto alla famiglia che si misura e si controlla l’errore.
Dove sta il bordo della famiglia non è scritto nei dati. Sono tutti i confronti di una singola tabella? Tutti i test di un articolo? Tutti gli esperimenti di un progetto? Tutte le analisi di una carriera? Non c’è una risposta meccanica, e questa è la prima fonte di abusi: restringendo la definizione di famiglia — “questo test appartiene a un’analisi a sé” — si può far sparire il problema sulla carta senza averlo risolto.
La regola onesta è che la famiglia comprende tutti i test fra cui si è scelto, o si sarebbe potuto scegliere, quello che si riporta. Se confronti il tuo modello con dieci baseline ma in tabella metti solo la baseline che perde di più, la famiglia ha dieci test, non uno — anche se ne pubblichi uno.
Misurare l’errore: il family-wise error rate
Sezione intitolata “Misurare l’errore: il family-wise error rate”Per parlare con precisione serve un poco di notazione — la stessa tabella di conteggi che Benjamini e Hochberg usano nel loro articolo del 1995. Si testano ipotesi. Di queste, hanno vera (nessun effetto reale) e le restanti hanno un effetto reale. Dopo l’analisi, ogni ipotesi finisce in una di quattro caselle, secondo il suo stato vero e il verdetto del test:
| non rifiutata | rifiutata | totale | |
|---|---|---|---|
| vera (nessun effetto) | |||
| falsa (effetto reale) | |||
| totale |
Le scoperte — le ipotesi rifiutate — sono , e si dividono in falsi positivi ( era vera ma è stata rifiutata: un errore di tipo I) e veri positivi, con . La quantità che vorremmo piccola è , ma non si osserva mai direttamente: si sa quante ipotesi sono state rifiutate, non quante di quelle erano errori. Si conosce , non . Tutto il capitolo consiste nel controllare il comportamento medio di — o di una sua proporzione — senza poterlo mai misurare su un singolo esperimento.
Il family-wise error rate, abbreviato FWER, è la probabilità di commettere almeno un errore di tipo I nell’intera famiglia:
Controllare il FWER a livello significa garantire che : la probabilità che qualunque falso positivo si verifichi, anche uno solo, resta sotto la soglia. È la regola del primo ispettore. Una sua proprietà va notata subito, perché la useremo per capire i limiti: il FWER non distingue fra un falso positivo e venti. L’evento "" è vero in entrambi i casi. Per il FWER, sbagliare una volta o venti è ugualmente “aver sbagliato”.
Bonferroni: dividi e regna
Sezione intitolata “Bonferroni: dividi e regna”La correzione più semplice è quella di Bonferroni, già nominata nel Contesto. L’idea sta in una riga: per controllare il FWER a livello su test, usa per ogni singolo test la soglia invece di . La procedura nella forma moderna fu diffusa da altri statistici a partire dalla disuguaglianza che porta il nome di Bonferroni, ma il nome è ormai associato a questo aggiustamento.
Con test e , ogni test va giudicato significativo solo se il suo p-value è sotto . In modo equivalente, si può lasciare la soglia a 0,05 e moltiplicare ogni p-value per : un p-value aggiustato , da confrontare con .
Perché funziona? La giustificazione è una disuguaglianza elementare, la disuguaglianza di Boole — detta anche union bound. Dice che, per eventi qualsiasi , la probabilità che almeno uno si verifichi non supera la somma delle probabilità individuali: . È intuitiva: contando le probabilità una per una si conta più di una volta la regione in cui due eventi si sovrappongono, quindi la somma è una sovrastima. Applicata ai test: sia l’evento “il test dà un falso positivo”. Se ogni test usa la soglia , allora , e quindi
La proprietà notevole di questa dimostrazione è ciò che non assume. La disuguaglianza di Boole vale per eventi qualsiasi, comunque correlati. Quindi Bonferroni controlla il FWER sotto qualunque struttura di dipendenza fra i test — indipendenti, positivamente correlati, negativamente correlati, dipendenza arbitraria. Non serve sapere niente su come i test si relazionano. È questo che la rende lo strumento di default: non si può sbagliare ad applicarla.
Il prezzo lo paga la potenza. Quando i test sono molti, diventa una soglia minuscola — con test, ogni test deve superare — e una soglia così severa fa fallire il rilevamento di moltissimi effetti reali.
In più, quando i test sono positivamente correlati, la disuguaglianza di Boole è una sovrastima generosa: la vera probabilità dell’unione è ben sotto la somma, quindi Bonferroni sta controllando il FWER a un livello molto più basso di , ed è inutilmente conservativa. Pochi falsi positivi, sì, ma anche poche vere scoperte: tanti errori di tipo II. È esattamente il primo ispettore, paralizzato dalla sua stessa regola.
Holm: la stessa garanzia, più potenza
Sezione intitolata “Holm: la stessa garanzia, più potenza”Bonferroni ha un difetto evitabile: applica la soglia più severa, , a tutti i test, anche dopo che alcuni sono già stati giudicati significativi. Sture Holm, nell’articolo del 1979 A Simple Sequentially Rejective Multiple Test Procedure (Scandinavian Journal of Statistics), ha mostrato come ottenere lo stesso controllo del FWER spendendo meno severità. La procedura si chiama Holm-Bonferroni ed è step-down: procede dal p-value più piccolo verso i più grandi. È l’idea del budget di errore spartito in modo dinamico — la quota non usata da un test passa al successivo.
Funziona così. Si ordinano i p-value dal più piccolo al più grande: . Poi:
- Si confronta con .
- Si confronta con .
- In generale, con .
- Si procede finché i confronti passano. Al primo che non sta sotto la sua soglia, ci si ferma: si rifiutano tutte le ipotesi fino a , e si tengono tutte le restanti, dalla -esima in poi.
L’unico test che affronta la soglia più severa è il più piccolo; il secondo affronta , leggermente più indulgente, e così via. Holm controlla il FWER a livello — e lo fa, come Bonferroni, senza alcuna assunzione di dipendenza. Ma è uniformemente più potente: ogni ipotesi che Bonferroni rifiuta, Holm la rifiuta anche, e Holm può rifiutarne di più. La relazione è un fatto dimostrabile, non un’analogia.
La conseguenza pratica è netta: per controllare il FWER non c’è quasi mai ragione di usare Bonferroni “secco” al posto di Holm. Bonferroni resta utile come spiegazione — la sua dimostrazione in una riga rende visibile perché la cosa funziona — e quando serve un singolo p-value aggiustato dalla formula più semplice. Nel linguaggio del budget di errore: Holm non manda sprecata la quota dei test che non rifiuta, la rende disponibile, mentre Bonferroni la lascia cadere.
Šidák: un guadagno se i test sono indipendenti
Sezione intitolata “Šidák: un guadagno se i test sono indipendenti”Una terza correzione del FWER porta il nome dello statistico ceco Zbyněk Šidák, che la formalizzò nel 1967. Parte da un’osservazione: Bonferroni usa la disuguaglianza di Boole, che è una sovrastima. Se i test sono indipendenti, la probabilità di almeno un falso positivo si calcola esattamente, senza disuguaglianze. Con test indipendenti ciascuno al livello , la probabilità che nessuno sbagli è , quindi il FWER è . Imponendo che questo valga esattamente e risolvendo per :
Con e , la soglia di Šidák è circa , contro lo di Bonferroni: appena meno severa, quindi appena più potente. Il guadagno è piccolo, e ha una condizione: la formula è esatta solo sotto indipendenza. Se i test sono dipendenti, Šidák può essere conservativa come Bonferroni o, in certe situazioni, non controllare più il FWER a livello . È il motivo per cui Bonferroni e Holm, validi sempre, restano gli strumenti di default, e Šidák si usa quando l’indipendenza è davvero plausibile.
Le tre correzioni — Bonferroni, Holm, Šidák — formano una piccola famiglia con un tema comune: controllano tutte il FWER, e si differenziano solo per quanto sono efficienti nello spendere il budget di errore. Bonferroni lo spartisce in parti uguali e ne spreca una parte; Šidák lo spartisce in modo esatto ma solo sotto indipendenza; Holm lo spartisce dinamicamente ed è valido sempre.
La gerarchia di potenza è chiara — Holm domina Bonferroni, Šidák lo batte di poco sotto indipendenza — ma nessuna delle tre cambia l’obiettivo: tutte promettono che la probabilità di anche un solo falso positivo resti sotto . Per cambiare obiettivo, e non solo efficienza, serve il false discovery rate.
Il false discovery rate e Benjamini-Hochberg
Sezione intitolata “Il false discovery rate e Benjamini-Hochberg”Tutto ciò che precede è il primo ispettore: garantire . In discipline dove i test si contano a migliaia — la genomica testa l’espressione di decine di migliaia di geni in un colpo solo — quella garanzia è troppo cara. Con , la soglia di Bonferroni è : praticamente nessun gene la supera, e l’esperimento non scopre niente. Serviva un obiettivo diverso, ed è ciò che Benjamini e Hochberg hanno proposto nel 1995.
Il loro punto di partenza è il secondo ispettore. Invece di controllare la probabilità di qualunque errore, controllare la proporzione attesa di errori fra le scoperte. Questa quantità è il false discovery rate, abbreviato FDR:
con la convenzione che quando (nessuna scoperta, nessun falso positivo). A parole: di tutte le ipotesi che dichiaro “scoperte”, quale frazione, in media, sono falsi positivi? Controllare il FDR al livello significa: delle scoperte riportate, in media non più del 5% sono rumore.
La differenza con il FWER si vede meglio con i numeri. Supponi di rifiutare 100 ipotesi. Controllare il FWER al 5% significa: c’è solo il 5% di probabilità che fra quelle 100 ci sia anche un solo falso positivo — è una promessa fortissima, e per mantenerla devi essere prudentissimo.
Controllare il FDR al 5% significa invece: di quelle 100, in media circa 5 sono false e 95 reali — accetti i 5 errori in cambio di molte più scoperte vere. Per un’analisi esplorativa che produce una lista di geni candidati, o di feature promettenti, da verificare poi uno per uno, cinque falsi su cento è un prezzo ragionevole; la pretesa di zero falsi sarebbe paralizzante.
Il punto da tenere fermo: la garanzia del FDR è una media su tutto l’insieme delle scoperte. Non dice nulla su quali cinque delle cento siano gli errori, e non promette che ogni singola scoperta abbia il 95% di probabilità di essere vera — un fraintendimento così frequente da meritare una voce nella sezione “Dove si rompe”.
La procedura che controlla il FDR è la procedura di Benjamini-Hochberg, spesso abbreviata BH. È step-up: procede dal p-value più grande verso i più piccoli. I passi:
- Si ordinano i p-value crescenti: .
- Si cerca il più grande indice tale che .
- Si rifiutano tutte le ipotesi dalla prima alla -esima: .
C’è una sottigliezza nel passo 3 che merita attenzione. Si rifiutano tutti i primi p-value, anche quelli che individualmente non soddisferebbero la disuguaglianza — basta che esista un più grande di loro che la soddisfa. È per questo che si chiama step-up: conta l’ultimo indice che passa, non ciascuno separatamente. Geometricamente: si disegnano i p-value ordinati contro il loro rango, si traccia dall’origine la retta di pendenza , e si rifiuta tutto fino all’ultimo punto che cade sotto quella retta.
Per test indipendenti, Benjamini e Hochberg hanno dimostrato che questa procedura garantisce . La garanzia vale anche sotto certe forme di dipendenza positiva, un risultato successivo del 2001.
Da quella disuguaglianza discende un fatto che chiude il cerchio fra le due filosofie: quando tutte le ipotesi nulle sono vere (), ogni rifiuto è per forza un falso positivo, quindi ogni volta che , e il FDR coincide esattamente con il FWER. È solo quando esistono effetti reali che il FDR diventa più piccolo del FWER, e controllarlo lascia più potenza. FWER e FDR non sono due strumenti scollegati: sono lo stesso strumento nei casi estremi, e divergono nella misura in cui ci sono cose vere da scoprire.
Quale ispettore scegliere
Sezione intitolata “Quale ispettore scegliere”Le formule sono quattro — Bonferroni, Holm, Šidák, Benjamini-Hochberg — ma la decisione vera è binaria e viene prima delle formule: si vuole controllare il FWER o il FDR? La risposta dipende da una sola domanda — quanto costa un singolo falso positivo — e da come si useranno le scoperte.
Si controlla il FWER quando un solo errore è un problema serio. È il caso degli studi confermativi, dove ogni scoperta diventa un’affermazione pubblica definitiva e una sola affermazione falsa danneggia la credibilità di tutto il resto: l’approvazione di un farmaco, un claim di sicurezza, il risultato finale di un esperimento già preregistrato. In questi casi si paga in potenza — si scoprono meno effetti veri — ma si compra una garanzia forte: con alta probabilità, nessuna delle scoperte è spuria. Lo strumento operativo è Holm, che domina Bonferroni; Šidák solo se l’indipendenza dei test è davvero plausibile e non è enorme.
Si controlla il FDR quando si è in fase esplorativa e le scoperte sono una lista di candidati, non conclusioni definitive. È il regime della genomica — migliaia di geni da setacciare per trovarne qualche decina da studiare poi a fondo — e, nel machine learning, della selezione di feature, delle ablation su molte varianti, dello screening di configurazioni.
Qui ogni candidato verrà comunque verificato indipendentemente in un secondo momento, quindi qualche falso positivo nella lista costa poco: verrà scartato alla verifica. In cambio, controllare il FDR invece del FWER lascia molta più potenza, e con migliaia di test è spesso l’unico modo di scoprire qualcosa. Lo strumento è la procedura di Benjamini-Hochberg.
Un errore frequente è scegliere lo strumento per abitudine invece che per obiettivo. Applicare Bonferroni a uno screening di ventimila test perché “è il default” significa non scoprire nulla: è la scelta sbagliata di ispettore. Applicare Benjamini-Hochberg a un confronto confermativo fra due modelli destinato a un comunicato stampa significa promettere meno di quanto il lettore crederà: è l’altra scelta sbagliata. La domanda da farsi, sempre prima dei dati, è cosa accadrà alle scoperte — verranno verificate una per una, o diventeranno subito affermazioni? — e da lì discende l’ispettore, e dall’ispettore la formula.
Esiste anche un uso a due stadi che combina i pregi di entrambi, ed è il modello operativo più sano per molti progetti di machine learning. Stadio uno, esplorativo: si setacciano molte varianti — feature, configurazioni, prompt — con un controllo del FDR, che è permissivo e produce una shortlist ampia di candidati promettenti. Stadio due, confermativo: la shortlist, e solo lei, viene rivalutata su dati freschi con un controllo del FWER, severo, che lascia in piedi solo ciò che regge davvero.
Il primo stadio è generoso perché i suoi errori verranno filtrati; il secondo è rigoroso perché i suoi risultati diventano definitivi. È la stessa divisione del lavoro fra validation set e test set, vista dal lato delle soglie invece che dei dati.
Cinque esempi, scelti eterogenei: uno numerico passo-passo, uno storico, uno dalla ricerca di iperparametri, uno da una dashboard di prodotto, uno dal modo in cui si scrivono i paper.
Esempio 1: dieci test, tre correzioni a confronto
Sezione intitolata “Esempio 1: dieci test, tre correzioni a confronto”Un laboratorio confronta un modello nuovo con la baseline su dieci benchmark distinti. Ogni benchmark dà un p-value per l’ipotesi nulla “stessa performance”. Ordinati dal più piccolo:
Senza correzione, soglia 0,05: i primi cinque p-value (fino a 0,033) stanno sotto. Cinque benchmark “vinti”. Ma con dieci test e ovunque vera ci si aspetterebbero falsi positivi: il conteggio cinque è sospetto, e nessuno di quei cinque è ancora difendibile.
Bonferroni, soglia : solo sta sotto. Una scoperta. Le altre quattro vengono ricondotte al rumore. Severo, ma con il FWER blindato: la probabilità di anche un solo falso positivo è sotto il 5%.
Holm, soglie crescenti :
- contro → passa.
- contro → , fallisce. Stop.
Holm rifiuta solo la prima ipotesi: stesso esito di Bonferroni qui, perché il secondo p-value cade comunque. Su altri dati Holm ne rifiuterebbe di più; mai di meno.
Benjamini-Hochberg, , soglie :
| soglia | soglia? | ||
|---|---|---|---|
| 1 | 0,001 | 0,005 | sì |
| 2 | 0,008 | 0,010 | sì |
| 3 | 0,012 | 0,015 | sì |
| 4 | 0,021 | 0,020 | no |
| 5 | 0,033 | 0,025 | no |
Il più grande che passa è . BH rifiuta i primi tre p-value — incluso , che da solo è oltre la soglia di Bonferroni. Tre scoperte invece di una, al prezzo di un controllo più morbido: in media fino al 5% delle scoperte può essere falso. Lo stesso insieme di dieci numeri, quattro verdetti — da cinque scoperte ingenue a una sola, secondo cosa si è disposti a rischiare. È la decisione dell’ispettore resa numero.
Un secondo set di p-value mostra la sottigliezza dello step-up, la parte di BH che si applica male più spesso. Supponi questi otto p-value ordinati, , , soglie :
| soglia | soglia? | ||
|---|---|---|---|
| 1 | 0,004 | 0,00625 | sì |
| 2 | 0,015 | 0,01250 | no |
| 3 | 0,016 | 0,01875 | sì |
| 4 | 0,024 | 0,02500 | sì |
| 5 | 0,09 | 0,03125 | no |
| 6 | 0,21 | 0,03750 | no |
Letta riga per riga come fosse Bonferroni, la tabella inganna: non soddisfa la sua disuguaglianza (). Verrebbe da concludere che la seconda ipotesi non si rifiuta. Ma BH non si legge riga per riga.
La regola corretta: si cerca il più grande indice per cui , e si rifiutano tutte le ipotesi fino a quel . Qui passa (), ed è il più grande che passa. Quindi BH rifiuta i primi quattro — inclusa la seconda ipotesi, , che da sola fallirebbe il suo confronto.
È questo il senso di “step-up”: un p-value più grande che passa “tira dentro” tutti quelli più piccoli, anche quelli che individualmente non passavano. L’intuizione: se la quarta ipotesi più piccola è abbastanza solida da essere una scoperta, le tre più piccole di lei lo sono a maggior ragione. Trattare ogni riga separatamente — l’errore più comune nell’applicare BH a mano — la trasforma in una procedura che non controlla né il FDR né il FWER.
Esempio 2: il salmone morto
Sezione intitolata “Esempio 2: il salmone morto”L’esempio storico che ha reso il problema visibile a un’intera disciplina. Nel 2009 Craig Bennett e colleghi presentarono un poster — pubblicato l’anno dopo con il titolo Neural Correlates of Interspecies Perspective Taking in the Post-Mortem Atlantic Salmon — che valse loro l’IgNobel per le neuroscienze nel 2012, il premio per la ricerca che “prima fa ridere e poi fa pensare”.
L’esperimento. I ricercatori misero in uno scanner per risonanza magnetica funzionale (fMRI, la tecnica che misura indirettamente l’attività cerebrale rilevando il flusso di sangue ossigenato) un salmone atlantico. Un salmone morto, comprato al supermercato. Al pesce vennero mostrate fotografie di persone in situazioni sociali, e gli fu “chiesto” di inferire l’emozione provata. Un’immagine fMRI del cervello è divisa in voxel — celle di volume, l’equivalente tridimensionale dei pixel — e ce ne sono decine di migliaia per scansione. Su ogni voxel si esegue un test di ipotesi: “questo voxel risponde allo stimolo?”.
Decine di migliaia di test simultanei. Senza correzione per test multipli, alcuni voxel del salmone risultarono “significativamente attivi” — e non in un punto qualunque: nel tessuto della cavità cranica e lungo il midollo spinale del pesce, esattamente dove un neuroscienziato si aspetterebbe di vedere attività in un cervello vivo. Un salmone morto che, statisticamente, “prova empatia” guardando foto di esseri umani. Con una correzione appropriata per i test multipli, nessun voxel sopravvisse: l’attivazione spariva del tutto, come doveva.
La lezione è la stanza delle mille monete trasferita in un laboratorio di neuroimaging. Una scansione fMRI esegue un test di ipotesi per ogni voxel; con decine di migliaia di voxel-test, qualcuno risulterà significativo per puro caso — è matematicamente garantito dalla curva vista nel primo angolo.
Il salmone morto è il controllo perfetto proprio perché si sa, senza alcun dubbio, che non c’è effetto reale: ogni voxel “attivo” è, senza ambiguità, un falso positivo. Un cervello umano vivo produce gli stessi falsi positivi, ma lì si confondono con il segnale vero e diventano invisibili — sembrano scoperte. Il pesce morto li ha resi visibili in modo grottesco.
Bennett e colleghi non scoprirono niente sui salmoni: dimostrarono un difetto di metodo. All’epoca del poster, una quota stimata fra il 25% e il 40% degli studi fMRI pubblicati riportava risultati senza applicare la correzione per i test multipli — pubblicando, in mezzo ai risultati veri, una porzione di voxel attivati dal solo caso.
Dopo che il salmone morto fece il giro della comunità, quella quota scese verso il 10%. Un pesce comprato al supermercato ha corretto la statistica di un intero campo meglio di anni di articoli metodologici: è la dimostrazione più memorabile del fatto che, quando i test sono decine di migliaia, la correzione non è un raffinamento opzionale ma la differenza fra misurare e illudersi.
Esempio 3: la ricerca di iperparametri
Sezione intitolata “Esempio 3: la ricerca di iperparametri”L’esempio che riguarda chiunque addestri modelli — ed è il caso più insidioso, perché qui i test multipli non si vedono. Addestrare un modello richiede di fissare degli iperparametri: il learning rate, la profondità della rete, la forza della regolarizzazione, la dimensione del batch. Non si conoscono in anticipo, quindi si fa una ricerca: si provano configurazioni — magari una grid search con centinaia di combinazioni — si valuta ciascuna sul validation set, e si tiene quella con la performance migliore.
Riguarda da vicino: ogni configurazione è un’ipotesi, “questa configurazione è buona”. Provarne e tenere la vincente è un esperimento a test, e tenere il massimo di misure rumorose è il cecchino texano in azione. Anche se tutte le configurazioni fossero in realtà equivalenti, il loro punteggio sul validation set oscilla per il solo rumore campionario, e il massimo di valori rumorosi è sistematicamente più alto della media: più configurazioni si provano, più in alto sale il massimo per puro caso.
Il punteggio del modello vincitore sul validation set è quindi uno stimatore distorto verso l’alto della sua vera qualità. È il fenomeno che in statistica si chiama winner’s curse, la maledizione del vincitore: chi vince una selezione fra molti candidati è in parte bravo e in parte fortunato, e separare le due parti, dal solo punteggio di selezione, è impossibile.
Quanto è grande la distorsione? Dipende da e dal rumore della misura, e l’intuizione è quella del primo angolo. Se ogni configurazione, valutata su quel validation set, ha un punteggio che oscilla di un paio di punti per il solo rumore campionario, e ne provi cinque, il massimo dei cinque sarà tipicamente un punto sopra la media — un punto regalato dal caso.
Se ne provi cinquecento, il massimo dei cinquecento può stare due o tre punti sopra: la selezione fra molti candidati pesca sistematicamente le code fortunate della distribuzione del rumore. Non è un dettaglio trascurabile: per distacchi SOTA che spesso valgono frazioni di punto, una distorsione di uno o due punti è abbastanza da fabbricare un’intera “scoperta”.
La conseguenza pratica è che il validation set, dopo una ricerca ampia, ha smesso di dare una stima onesta. Se a quel punto si annuncia “il modello raggiunge il 94,2%”, si sta riportando un numero gonfiato dalla selezione — esattamente come annunciare i quattro “bari” della stanza delle mille monete.
La difesa è strutturale e ricalca le correzioni di questo capitolo, applicate ai dati invece che alle soglie: tenere un test set separato, toccato una sola volta, sul modello già scelto, per ottenere la stima non distorta; e, quando si può, usare la nested cross-validation, una validazione incrociata a due livelli in cui un ciclo interno fa la selezione delle configurazioni e un ciclo esterno, che non ha mai visto le scelte del primo, produce la stima onesta.
La regola in una frase: il numero che si comunica non deve mai venire dallo stesso insieme di dati su cui si è scelto fra molte alternative. Il validation set è il foglio su cui si fanno i conti; il test set è il foglio su cui si scrive la risposta, e va lasciato bianco fino alla fine.
Esempio 4: la dashboard con dieci metriche
Sezione intitolata “Esempio 4: la dashboard con dieci metriche”Un’ultima scena, da un A/B test di prodotto. Una nuova variante di un assistente conversazionale viene messa a confronto con quella in produzione. La dashboard dell’esperimento non mostra una metrica: ne mostra dieci — tasso di completamento, lunghezza media della sessione, soddisfazione dichiarata, tasso di ritorno a sette giorni, latenza percepita, e altre. Dopo due settimane, una delle dieci risulta significativamente migliore per la nuova variante, . Il team annuncia: “la nuova variante vince”.
È la stanza delle mille monete in miniatura, e con dieci metriche il conto è già scomodo: se la variante fosse in realtà equivalente, la probabilità che almeno una delle dieci risulti significativa per caso è . Quattro volte su dieci si “vince” senza che ci sia niente da vincere. Trovare una metrica significativa fra dieci non è una scoperta: è quasi un’aspettativa.
La difesa è la stessa del capitolo: decidere prima dei dati qual è la metrica primaria — una, quella su cui si gioca la decisione — e trattare le altre nove come secondarie, esplorative, da verificare semmai in un esperimento dedicato; oppure, se davvero le dieci contano tutte allo stesso modo, applicare una correzione — Holm sulle dieci, o BH se si accetta un controllo del FDR — prima di cantare vittoria. Un risultato significativo su una metrica scelta dopo aver visto quale aveva vinto non è un risultato: è un bersaglio disegnato intorno ai fori.
Esempio 5: il paper che batte la SOTA
Sezione intitolata “Esempio 5: il paper che batte la SOTA”Un esempio dal modo in cui si scrivono i paper di machine learning, perché chiude il cerchio fra i test multipli che si contano e quelli che no. Un gruppo propone un’architettura nuova e vuole mostrarla migliore dello stato dell’arte — la SOTA, state of the art, il miglior risultato pubblicato fino a quel momento su un benchmark. Il distacco da battere è piccolo, frazioni di punto.
Lungo la strada verso la pubblicazione, senza alcuna malafede, il gruppo prende molte decisioni: prova sei seed di addestramento e nel paper riporta il run migliore; aggiunge e toglie piccoli accorgimenti — un termine di regolarizzazione, un riscaldamento del learning rate, un’augmentation — tenendo quelli che alzano il punteggio; tara gli iperparametri del proprio modello con cura e confronta il risultato con baseline prese dai paper originali, dove erano tarate molto meno.
Ognuno di questi gesti, isolato, è una scelta tecnica difendibile. Sommati, sono il giardino dei sentieri che si biforcano in azione: la famiglia di test reale è enorme — seed per accorgimenti per iperparametri — e il distacco finale, “+0,4 punti sulla SOTA”, è in buona parte il massimo di molte misure rumorose, non un’evidenza di superiorità. Il confronto con baseline tarate peggio aggiunge una distorsione sistematica sopra a quella casuale: non solo il proprio modello è il fortunato di molti, ma i rivali corrono con un handicap.
La conseguenza si misura. Lavori che hanno ripreso le tabelle di confronto della letteratura ML hanno trovato che una quota notevole dei distacchi SOTA dichiarati è dentro la variabilità da seed: rieseguendo i confronti con più run per modello e la stessa cura sulle baseline, l’ordine in cima alle classifiche cambia, e parecchi “miglioramenti” svaniscono.
Non è frode: è la firma del testing multiplo non contato, la stessa del salmone morto e della stanza delle mille monete, applicata al ciclo di produzione di un paper. La difesa è la disciplina che il resto del capitolo descrive — più seed riportati per intero con la loro variabilità, baseline tarate con lo stesso impegno del modello proposto, un test set toccato una volta sola — e l’onestà di contare la famiglia per quello che è.
Applicazioni pratiche
Sezione intitolata “Applicazioni pratiche”Per chi costruisce e valuta sistemi AI, il problema dei test multipli non è statistica accademica: è il difetto silenzioso di una buona parte dei numeri che si producono e si leggono ogni giorno.
La valutazione su molti benchmark è il caso più diretto. Un modello viene provato su una suite — venti, trenta benchmark — e il report ne riporta i risultati. Se il report mostra tutti i benchmark, il lettore può giudicare da sé. Se mostra solo quelli in cui il modello vince, è cherry-picking: test multipli non corretti, con la selezione del vincitore nascosta nella scelta di cosa pubblicare.
La regola onesta: riportare l’intera suite, e se si vuole un claim aggregato — “il modello è migliore” — accompagnarlo con una correzione sul numero di confronti. Con venti benchmark e nessun vantaggio reale, vincerne qualcuno è garantito; vincerne uno non è una notizia.
La ricerca di iperparametri e l’architecture search vanno trattate, mentalmente, come esperimenti a test multipli. Più configurazioni si provano, più il punteggio di selezione del vincitore è ottimisticamente distorto. La disciplina operativa: un test set finale separato, toccato una volta sola; quando le risorse lo permettono, nested cross-validation; e, sempre, la consapevolezza che il numero ottenuto in fase di selezione non è il numero da comunicare.
Le leaderboard pubbliche sono test multipli su scala collettiva. Un benchmark con classifica riceve migliaia di submission da centinaia di team, tutte valutate sullo stesso holdout set. Ogni submission è un test; con migliaia di test, scalare la classifica per puro caso è quasi certo, e i distacchi in cima sono spesso dentro il rumore — l’ordine esatto delle prime posizioni è in buona parte casuale.
C’è un problema aggiuntivo: i team adattano i modelli ai punteggi che vedono, e così l’holdout set, valutazione dopo valutazione, smette di essere “non visto” e diventa indirettamente dati di addestramento. È l’adaptive overfitting, il degrado di un insieme di dati di valutazione consumato da troppe interrogazioni successive.
Avrim Blum e Moritz Hardt, nell’articolo The Ladder (ICML 2015), hanno proposto un meccanismo di leaderboard che rilascia un nuovo punteggio solo quando il miglioramento è statisticamente significativo rispetto al migliore precedente del team — un controllo dei test multipli incorporato nella classifica stessa. È la stessa logica della procedura di Holm — non spendere budget di errore quando il guadagno non lo giustifica — trasferita dall’analisi di un esperimento al disegno di un’infrastruttura.
Il monitoraggio in produzione è un caso meno ovvio ma altrettanto esposto. Un sistema in esercizio viene tenuto sotto controllo con molti allarmi automatici: la latenza è salita? il tasso di rifiuto è cambiato? la distribuzione degli input è derivata? la qualità delle risposte è calata su uno dei dieci segmenti di utenti? Ogni allarme è un test ripetuto a ogni finestra temporale.
Con decine di metriche controllate ogni ora, qualche allarme scatterà per puro rumore — falsi allarmi che, se trattati come incidenti reali, consumano tempo e fiducia. Un sistema di monitoraggio progettato senza pensare ai test multipli o assorda di falsi allarmi o, tarato troppo conservativo per evitarli, manca le derive vere. Le soglie degli allarmi vanno tarate sapendo quante metriche per quante finestre si stanno guardando: è lo stesso conto del primo angolo, con le finestre temporali al posto delle monete.
C’è infine un uso difensivo, che vale come abitudine di lettura. Davanti al claim di qualcun altro — un post che annuncia un modello “migliore del 2%”, una slide con un punteggio di benchmark, un risultato di A/B test — le domande sono sempre le stesse. Quanti test ci sono dietro questo numero? Quanti benchmark sono stati provati e quanti riportati? Quante configurazioni di iperparametri? Quante metriche guardava la dashboard? La scelta riportata era fissata prima dei dati o scelta dopo?
Un claim di superiorità che non risponde a queste domande non è ancora valutabile. Le correzioni di questo capitolo, da questo lato, non servono a produrre i propri numeri ma a interrogare quelli altrui — e la domanda più potente, quella che da sola smonta la maggior parte degli overclaim, è la più semplice: “quante volte hai provato prima di ottenere questo?”.
In sintesi, una checklist operativa per chi conduce o legge un confronto con più di un test in gioco:
- Conta i test prima di guardare i risultati. Quanti benchmark, quante metriche, quante configurazioni, quante varianti? Quel numero è la famiglia, e va fissato prima — non dopo aver visto chi ha vinto.
- Scegli l’ispettore in base all’uso delle scoperte. Diventeranno claim definitivi? FWER, con Holm. Sono candidati da verificare poi uno per uno? FDR, con Benjamini-Hochberg.
- Riporta tutto, non solo i vincitori. L’intera suite di benchmark, tutte le metriche, tutti i seed con la loro variabilità. Mostrare solo gli esiti favorevoli è testing multiplo non corretto travestito da scelta editoriale.
- Tieni un test set separato e toccalo una volta sola. Il numero che si comunica non deve venire dallo stesso insieme di dati su cui si è scelto fra molte alternative.
- Dimensiona gli esperimenti tenendo conto della correzione. Se si confronteranno venti varianti, ogni confronto va alimentato con dati sufficienti a sopravvivere alla soglia corretta.
- Davanti a un claim altrui, chiedi quanti test ci sono dietro. Una superiorità senza il conteggio dei confronti non è ancora valutabile.
Dove si rompe
Sezione intitolata “Dove si rompe”Le correzioni per test multipli sono strumenti solidi, ma poggiano su una definizione — quella di famiglia — che non è meccanica, e su assunzioni che, saltate, le rendono inutili o dannose.
La famiglia è una scelta, e si può barare sulla scelta. Il punto più fragile di tutto il capitolo. Quanto è grande la famiglia non è scritto nei dati: lo decide chi analizza. Restringendo la definizione — “questi cinque test sono un’analisi a sé, vanno corretti solo fra loro; quegli altri sono un’altra analisi” — si può abbattere il fattore di correzione e far passare risultati che, contati onestamente, non passerebbero. Nessuna formula protegge da questo: è una scelta di onestà, fatta prima dei dati, e va dichiarata. La famiglia comprende tutti i test fra cui si è scelto, o si sarebbe potuto scegliere, quello che si riporta.
Il giardino dei sentieri non lo corregge nessuna formula. Le correzioni di Bonferroni, Holm, BH presuppongono di poter contare i test. Il problema dei sentieri che si biforcano di Gelman e Loken è che i test impliciti — le analisi alternative che si sarebbero fatte con dati diversi — non sono mai stati scritti, quindi non si possono contare e non si possono correggere.
Si è eseguita una sola analisi; il p-value è calcolato come se fosse stata fissata in anticipo; ma non lo era, perché le scelte dipendevano dai dati. L’unica difesa reale è procedurale: fissare l’analisi prima di vedere i dati — la preregistrazione, la pratica di depositare il piano di analisi prima della raccolta — oppure tenere un set di dati di conferma su cui l’analisi, decisa altrove, viene eseguita una volta sola e in cieco.
Bonferroni può essere talmente conservativa da essere inutile. Con molto grande, la soglia rende quasi impossibile rilevare qualunque effetto reale. Si controlla il FWER alla perfezione e non si scopre niente: tutti errori di tipo II. In quei regimi — migliaia di test, fase esplorativa — insistere sul FWER è la scelta sbagliata, e il FDR è lo strumento giusto. La severità non è una virtù in sé: una correzione che azzera anche le scoperte vere ha fallito il suo scopo.
Il FDR non è il FWER, e confonderli produce overclaim. Controllare il FDR al 5% non significa “c’è il 5% di probabilità che il mio risultato sia falso”. Significa che, fra tutte le scoperte, in media il 5% sono false. Se la procedura BH ha rifiutato cento ipotesi a , circa cinque di quelle cento sono falsi positivi — e tu non sai quali. Una singola scoperta presa da quella lista non ha “il 95% di probabilità di essere vera”: la garanzia è sull’insieme, non sul singolo elemento. Riportare un risultato controllato per FDR come se fosse controllato per FWER è un overclaim preciso.
Le assunzioni di dipendenza contano. Bonferroni e Holm valgono sotto qualunque dipendenza — è la loro forza. Šidák è esatta solo sotto indipendenza; sotto dipendenza può perdere il controllo del FWER.
La procedura BH controlla il FDR sotto indipendenza e sotto dipendenza positiva, ma sotto dipendenza negativa o arbitraria la garanzia richiede una variante più conservativa. Applicare la procedura giusta alla struttura di dipendenza sbagliata significa credere di avere un controllo che non si ha — e nel machine learning la dipendenza è quasi sempre presente: benchmark che condividono esempi, metriche correlate, run che partono dagli stessi dati.
La correzione non aggiusta i dati, solo le soglie. Bonferroni, Holm, BH governano il rischio dovuto al caso: i falsi positivi da rumore campionario. Non toccano l’errore sistematico. Se il test set è contaminato — esempi finiti nel training del modello — nessuna correzione per test multipli lo segnala: certifica una superiorità che è memorizzazione. Se un benchmark ha etichette sbagliate, la correzione non lo vede. Una suite di test corretta alla perfezione su dati viziati produce una conclusione viziata, con in più la patina del rigore statistico.
Correggere troppo tardi non corregge niente. Le correzioni vanno applicate alla famiglia intera, decisa prima. Se si guardano i risultati, si scelgono i tre test interessanti, e poi si applica Bonferroni “su tre”, non si è corretto nulla: la selezione dei tre dai molti è già avvenuta, non corretta, ed è lì che il falso positivo è entrato. La correzione su un sottoinsieme scelto dopo i dati è un rituale che dà l’apparenza del rigore senza la sostanza.
Guardare ripetutamente è testare ripetutamente. Una forma di testing multiplo che si nasconde nel tempo invece che nello spazio. In un A/B test la dashboard aggiorna il p-value man mano che arrivano utenti, e la tentazione è controllarlo ogni giorno e fermarsi “appena è significativo”. Ogni sbirciata è un test, e sotto il p-value oscilla: aspettando abbastanza, prima o poi scende sotto 0,05 anche senza alcun effetto reale.
È testing multiplo lungo l’asse temporale, e fermarsi al primo esito favorevole garantisce un falso positivo. Le correzioni di questo capitolo sono pensate per test simultanei, non per questo caso sequenziale; chi vuole davvero poter sbirciare durante la raccolta deve usare metodi sequenziali progettati apposta, che pagano ogni sguardo con una soglia più severa. Il legame con Test di ipotesi è diretto: lì il fenomeno compare sotto il nome di optional stopping.
La correzione costa potenza, e la potenza persa nasconde effetti veri. Va detto a chiare lettere, perché la simmetria è facile da dimenticare. Correggere per test multipli alza la soglia di rifiuto: riduce i falsi positivi, ma per costruzione aumenta i falsi negativi — gli effetti reali che non si riescono più a rilevare.
Una correzione molto severa applicata a una famiglia grande può rendere invisibile un effetto genuino ma modesto. Non è un argomento per non correggere: è un argomento per dimensionare gli esperimenti tenendo conto della correzione fin dall’inizio. Se si sa di dover confrontare venti varianti, ogni confronto va alimentato con abbastanza dati da sopravvivere alla soglia corretta — altrimenti l’esperimento è progettato per non concludere niente, e l’assenza di scoperte verrà scambiata per assenza di effetti.
Collegamenti
Sezione intitolata “Collegamenti”- Test di ipotesi — il prerequisito diretto: , errore di tipo I, livello , p-value. Tutto questo capitolo estende quella macchina dal singolo test alla famiglia di test, e ripara la garanzia del 5% che lì vale solo per un test isolato.
- Popolazione, campione, stimatore — fissa i termini di base — popolazione, parametro, campione — su cui ogni test, singolo o multiplo, poggia.
- Legge dei grandi numeri e teorema del limite centrale — il numero atteso di falsi positivi e la curva sono enunciati sul lungo periodo: dicono cosa accade in media su molte ripetizioni, il regime di cui parla la legge dei grandi numeri.
- Le distribuzioni comuni — la distribuzione binomiale governa il conteggio dei falsi positivi su test indipendenti: “quante delle mille monete fanno otto croci” è esattamente una binomiale.
- Intervalli di confidenza — costruire molti intervalli di confidenza in parallelo soffre dello stesso problema: la copertura dichiarata vale per il singolo intervallo, non per l’insieme; esistono bande di confidenza simultanee, l’analogo degli intervalli del problema multiplo.
- Stima puntuale — il punteggio del modello vincitore di una grid search è uno stimatore distorto verso l’alto: la winner’s curse è un caso di bias di selezione, un concetto che questo capitolo introduce.
correlazione-causalita (in preparazione)— testare molte coppie di variabili in cerca di correlazioni è un test multiplo; con abbastanza coppie, correlazioni “significative” spurie sono garantite anche fra variabili scollegate.statistica-e-ml (in preparazione)— i test multipli non contati — grid search, leaderboard, eval multi-benchmark — sono una delle sorgenti più costanti dell’overclaim nel machine learning.- benchmark-gaming e contaminazione degli eval toccano Parti future non ancora scritte (in preparazione) — il bridge naturale fra l’adaptive overfitting di questo capitolo e il modo in cui i benchmark vengono saturati o aggirati.
Per andare oltre
Sezione intitolata “Per andare oltre”- Yoav Benjamini, Yosef Hochberg, Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing, Journal of the Royal Statistical Society, Series B, vol. 57, n. 1, 1995, pp. 289-300. L’articolo che ha introdotto il false discovery rate e la procedura BH; fra i paper di statistica più citati di sempre. Più leggibile di quanto la sua influenza lasci immaginare.
- Sture Holm, A Simple Sequentially Rejective Multiple Test Procedure, Scandinavian Journal of Statistics, vol. 6, n. 2, 1979, pp. 65-70. La procedura step-down che domina uniformemente Bonferroni, dimostrata in poche pagine.
- Andrew Gelman, Eric Loken, The Garden of Forking Paths, working paper, Columbia University, 2013. Perché il problema dei test multipli colpisce anche chi fa una sola analisi: la fonte sui “sentieri che si biforcano” e sul p-hacking senza intenzione.
- Craig M. Bennett et al., Neural Correlates of Interspecies Perspective Taking in the Post-Mortem Atlantic Salmon: An Argument For Proper Multiple Comparisons Correction, Journal of Serendipitous and Unexpected Results, vol. 1, 2010. Il caso-studio del salmone morto: un controllo grottesco e definitivo del perché la correzione serve.
- Avrim Blum, Moritz Hardt, The Ladder: A Reliable Leaderboard for Machine Learning Competitions, Proceedings of ICML 2015, PMLR 37. Come incorporare il controllo dei test multipli in una leaderboard pubblica per arginare l’adaptive overfitting da submission ripetute.