Campionamento: come si sceglie la parte che racconta il tutto
Ogni inferenza poggia su un anello che le formule non possono riparare: il modo in cui il campione viene estratto. Un campione distorto produce una stima distorta, e nessun calcolo a valle la corregge.
Perché questo capitolo
Sezione intitolata “Perché questo capitolo”Nel 1936 una rivista statunitense, il Literary Digest, spedì dieci milioni di schede per prevedere chi avrebbe vinto le elezioni presidenziali. Ne tornarono quasi due milioni e mezzo. Su quella montagna di dati la rivista annunciò la vittoria del candidato repubblicano con uno scarto di quattordici punti. Vinse l’altro, con uno scarto di oltre venti punti. Lo stesso anno, un sondaggista quasi sconosciuto azzeccò il risultato con poche migliaia di interviste. Due milioni e mezzo di risposte persero contro qualche migliaio. Questo capitolo spiega perché, e perché la stessa cosa succede oggi, ogni giorno, a chi costruisce sistemi di machine learning.
Il capitolo precedente della Parte, Popolazione, campione, stimatore, ha fissato un vocabolario: la popolazione è il tutto su cui si vuole concludere, il campione è la parte che si osserva, lo stimatore è la regola che dalla parte ricava un numero sul tutto. Ma ha lasciato in ombra l’anello più fragile della catena: come il campione viene estratto dalla popolazione. Tutta l’inferenza statistica — gli intervalli di confidenza, i p-value, le stime puntuali dei capitoli successivi — poggia su un’assunzione tacita, che il campione sia rappresentativo, cioè che la procedura di estrazione non favorisca sistematicamente nessuna parte della popolazione. Se quell’assunzione cade, le formule continuano a girare, ma producono numeri precisi e sbagliati.
C’è una ragione per cui il campionamento merita un capitolo a sé, separato dal resto della statistica. Tutti gli altri capitoli della Parte V sono calcolo: dato un campione, come ne ricavo una stima, un margine, una decisione. Il campionamento invece è progettazione: si decide prima di raccogliere i dati, e una volta raccolti male non esiste un rimedio puramente statistico. È il punto in cui la statistica smette di essere matematica e tocca il mondo fisico — chi rispondi a un sondaggio, quali aerei tornano dalla missione, quali pagine web finiscono nel dataset. Sbagliare qui significa sbagliare a monte di tutto, in un modo che nessuna libreria può segnalare.
Per chi costruisce sistemi AI il legame è diretto e stringente. Un dataset di training è un campione: estratto da una popolazione di dati possibili — tutte le immagini possibili, tutto il testo possibile, tutte le interazioni utente possibili. Ogni patologia del campionamento che vedremo — bias di selezione, bias del sopravvissuto, bias di non-risposta — ha un gemello esatto nel mondo dei dataset. “Dataset bias” e “distribution shift” non sono concetti nuovi inventati dal deep learning: sono il problema di campionamento del Literary Digest, riscoperto in un dominio nuovo. Chi raccoglie dati per addestrare un modello sta facendo un sondaggio, che lo chiami così o no.
Contesto
Sezione intitolata “Contesto”Il campionamento come disciplina nasce da fallimenti, non da teoremi. Per gran parte della storia umana “raccogliere dati” significava censire: contare tutto, casa per casa. Il censimento è antichissimo — gli Stati contavano sudditi, raccolti e bestiame da millenni — ma il censimento non è campionamento: è l’osservazione del tutto, e quando il tutto è troppo grande, troppo mutevole o non enumerabile, semplicemente non si può fare. Il campione come strumento legittimo — l’idea che una parte scelta bene possa parlare per il tutto — è recente, e si è affermato perché i censimenti completi erano lenti, costosi e, per molte domande, impossibili.
Il primo nucleo è statistico-istituzionale. Negli anni 1890 lo statistico norvegese Anders Kiaer (1838-1919), direttore dell’ufficio statistico nazionale, propose il “metodo rappresentativo”: invece di censire tutti, osservare un sottoinsieme scelto in modo da rispecchiare la popolazione. L’idea fu accolta con diffidenza — sembrava una scorciatoia poco seria — e ci vollero decenni di dibattito perché diventasse rispettabile. Il passo decisivo arrivò nel 1934, quando il matematico polacco Jerzy Neyman (1894-1981), già incontrato nel capitolo statistica-intro per la teoria dei test, pubblicò un lavoro che mostrava la superiorità del campionamento casuale su quello scelto a giudizio: solo l’estrazione governata dal caso permette di calcolare quanto la stima può sbagliare.
Il secondo nucleo è la storia dei disastri. Il campionamento ha imparato le sue regole sbagliando in pubblico, su scala nazionale. Il fallimento del Literary Digest nel 1936 e quello dei sondaggisti “scientifici” alle elezioni statunitensi del 1948 — due vicende che racconteremo in dettaglio più avanti — non furono incidenti tecnici minori: furono crisi che riscrissero le regole del mestiere. Dopo il 1936 si abbandonarono i mailing list di massa; dopo il 1948 si abbandonò il campionamento per quote. Ogni regola del campionamento moderno è la cicatrice di un errore costato la reputazione a qualcuno.
Il terzo nucleo è bellico. Durante la Seconda guerra mondiale lo Statistical Research Group della Columbia University applicò la statistica a problemi militari concreti, e fu lì che Abraham Wald (1902-1950), matematico ungherese-statunitense, formalizzò nel 1943 la correzione di quello che oggi chiamiamo bias del sopravvissuto — un’altra storia che vedremo in dettaglio. Il filo che lega Kiaer, Neyman, i sondaggisti e Wald è uno solo: il campione non è un dato di natura, è una costruzione, e costruzioni diverse raccontano storie diverse sullo stesso mondo. Il capitolo distribuzioni-comuni ha mostrato quali forme assumono i dati una volta raccolti; questo capitolo guarda il gesto che li raccoglie.
C’è un quarto filo, più recente e meno raccontato, ed è quello che riguarda direttamente chi legge questa wiki. Negli anni 2010, man mano che il deep learning diventava la tecnica dominante, la comunità del machine learning si è trovata a riscoprire — spesso senza riconoscerla — la teoria del campionamento. I lavori sul dataset shift della fine degli anni 2000, le analisi sui dataset di volti distorti per carnagione e genere della seconda metà degli anni 2010, gli studi sul train-serving skew nei sistemi di produzione: sono tutti, nella sostanza, applicazioni della stessa idea che occupava Kiaer e i sondaggisti del 1936. Il vocabolario è cambiato — non si dice più “frame distorto” ma “covariate shift” — ma il problema è identico. Questo capitolo tratta esplicitamente le due tradizioni come una sola, perché lo sono.
L’intuizione
Sezione intitolata “L’intuizione”Prima del formalismo, tre modi distinti di vedere cosa rende un campione affidabile o ingannevole.
Primo angolo: la lista da cui peschi non è il mondo
Sezione intitolata “Primo angolo: la lista da cui peschi non è il mondo”Il capitolo statistica-intro usava la metafora della minestra: per sapere se è salata non bevi tutta la pentola, ne assaggi un cucchiaio dopo aver mescolato. Quella metafora cattura la variabilità casuale, ma nasconde un problema più insidioso. Immagina ora di non poter mescolare la pentola intera: puoi mescolare e assaggiare solo lo strato superiore. Se il sale si deposita sul fondo, ogni cucchiaio sarà coerentemente, sistematicamente, troppo poco salato — e potresti assaggiarne mille senza mai accorgertene.
Questa è la distinzione centrale del capitolo. Bisogna tenere separati tre oggetti che è facilissimo confondere.
La popolazione target è l’insieme su cui vuoi davvero concludere: “tutti gli elettori”, “tutte le email che il filtro antispam vedrà”, “tutti gli utenti che useranno il modello”. È un oggetto astratto, spesso non enumerabile.
La popolazione accessibile è la parte della popolazione target che riesci concretamente a raggiungere. “Gli elettori che hanno un telefono” è la popolazione accessibile di chi telefona; “gli elettori” è la target.
Il frame di campionamento — in inglese sampling frame, lo chiameremo così perché è il termine standard — è la lista, l’elenco o il meccanismo operativo concreto da cui peschi materialmente: un registro anagrafico, un elenco telefonico, un database di URL da scaricare. Il frame è la materializzazione fisica della popolazione accessibile.
Lo scarto tra la popolazione target e il frame è la prima e più grave fonte di errore. Se il frame esclude sistematicamente una sottopopolazione — i poveri senza telefono, le pagine web non indicizzate, gli utenti che non lasciano mai feedback — nessun campionamento, per quanto curato dentro il frame, recupera ciò che il frame non contiene. È un errore che precede il caso: si annida nella scelta della lista, prima ancora che inizi l’estrazione. Mescolare bene non serve, se mescoli solo lo strato superiore.
Vale la pena fissare la differenza tra i tre oggetti con un secondo esempio, perché è la confusione più frequente. Supponi di voler conoscere il tempo medio di risposta percepito dagli utenti di un servizio. La popolazione target sono tutte le interazioni che gli utenti hanno con il servizio. La popolazione accessibile sono le interazioni che lasciano una traccia da qualche parte — molte, ma non tutte: un utente che chiude la pagina mentre attende non genera necessariamente un evento registrabile. Il frame, infine, è la query concreta che lanci sul database dei log: SELECT latenza FROM eventi WHERE stato = 'completato'. Quel WHERE è il punto critico. Filtrando sugli eventi completati, hai costruito un frame che esclude esattamente le interazioni più lente — quelle in cui l’utente ha rinunciato prima della fine. La latenza media che misurerai sarà sistematicamente ottimista, e nessuna quantità di righe lette dal database la correggerà. Il frame, qui, è una clausola SQL, e il bias è un WHERE scritto senza pensarci.
Secondo angolo: due tipi di errore, e solo uno guarisce con più dati
Sezione intitolata “Secondo angolo: due tipi di errore, e solo uno guarisce con più dati”Per chi pensa in termini quantitativi, ecco la stessa idea in un’altra forma. L’errore di una stima campionaria si scompone in due pezzi di natura completamente diversa.
C’è un errore casuale: il campione è stato estratto correttamente, ma è comunque un campione tra i tanti possibili, e per puro caso può cadere un po’ sopra o un po’ sotto il valore vero. È la variabilità campionaria del capitolo precedente. Questo errore è democratico: ogni campione lo subisce in una direzione diversa, e in media si annulla. Soprattutto, si restringe aumentando la dimensione del campione.
E c’è un errore sistematico, il bias di campionamento: la procedura di estrazione favorisce costantemente una direzione. Ogni campione cade dallo stesso lato del valore vero. Questo errore non è democratico e non si media via: aggiungere dati lo lascia esattamente dov’era, perché ogni dato in più è raccolto con lo stesso meccanismo difettoso.
Lo si può scrivere come un’analogia con una bilancia. L’errore casuale è l’ago che trema: leggi più volte e fai la media, l’ago si ferma. L’errore sistematico è la bilancia tarata male: pesa sempre cento grammi in più, e pesare mille volte ti dà mille letture sbagliate dello stesso identico errore. Più misure non tarano la bilancia.
Da qui la conseguenza più importante e più controintuitiva del capitolo: la dimensione del campione combatte solo l’errore casuale. Contro il bias non può nulla. Un campione enorme ma distorto è peggiore di uno piccolo ma casuale, perché la grande dimensione ti regala un margine di errore strettissimo — e quindi una falsa fiducia — attorno al numero sbagliato. È esattamente ciò che è successo al Literary Digest: due milioni e mezzo di risposte hanno prodotto una previsione precisa e profondamente errata.
Un’immagine utile per non dimenticarlo è il tiro al bersaglio. L’errore casuale è la dispersione dei colpi: tanti fori sparsi attorno a un punto. L’errore sistematico è lo spostamento di quel punto rispetto al centro del bersaglio. Un tiratore con poca dispersione e mira spostata mette tutti i colpi vicini tra loro, ma lontani dal centro — ed è la situazione peggiore, perché la fitta concentrazione dei fori sembra precisione. Aumentare il campione equivale a sparare più colpi: la nuvola dei fori si stringe, ma il suo centro non si sposta di un millimetro verso il bersaglio. Solo correggere la mira — cioè il metodo di campionamento — sposta il centro. Precisione e accuratezza sono assi indipendenti, e la dimensione del campione agisce su uno solo dei due.
Chi ha già incontrato il capitolo bias e varianza della Parte IV riconoscerà la struttura: lì l’errore di un modello si scompone in una componente sistematica (bias) e una rumorosa (varianza), e i due assi si muovono in modo indipendente. È la stessa decomposizione, applicata non all’errore di un modello ma all’errore di una procedura di raccolta dati. La parentela non è solo verbale: in entrambi i casi “bias” significa errore che resta anche nel limite di infinite osservazioni.
Un piccolo conto rende la cosa tangibile. Supponi che la quota vera di elettori per un candidato sia il 60%, ma che il tuo frame escluda una fetta di popolazione che lo vota al 90%, così che chi resta nel frame lo vota in media solo al 52%. Quel divario di 8 punti è il bias. Ecco cosa succede alla stima al crescere del campione:
| Dimensione campione | Margine di errore casuale (95%) | Stima tipica | Errore vero |
|---|---|---|---|
| 100 | circa ±10% | 52% ± 10% | 8 punti |
| 1.000 | circa ±3% | 52% ± 3% | 8 punti |
| 100.000 | circa ±0.3% | 52% ± 0.3% | 8 punti |
| 2.400.000 | circa ±0.06% | 52% ± 0.06% | 8 punti |
La colonna del margine casuale crolla riga dopo riga: a due milioni e mezzo di rispondenti l’intervallo è strettissimo. Ma l’ultima colonna — l’errore vero rispetto al 60% — non si muove di un millimetro: resta 8 punti, perché è bias. La riga in fondo è, numeri alla mano, il Literary Digest: un margine di errore dichiarato vicino allo zero attorno a una stima sbagliata di otto punti. Più dati hanno reso l’errore più confidente, non più piccolo.
Terzo angolo: il caso come garanzia, non come rinuncia
Sezione intitolata “Terzo angolo: il caso come garanzia, non come rinuncia”C’è un’ultima immagine, utile per capire perché tutti i metodi seri di campionamento mettono il caso al centro. Affidarsi al caso sembra una rinuncia: invece di scegliere con cura chi osservare, lascio decidere a un sorteggio. Sembra meno scientifico, non più.
È il contrario. Il caso non è una rinuncia al controllo: è l’unico modo di ottenere controllo. Quando lasci che sia un essere umano a scegliere chi intervistare, quella persona porta con sé preferenze inconsce — avvicina chi sembra più disponibile, evita i quartieri scomodi, sceglie l’ora comoda. Quelle preferenze sono un meccanismo invisibile che imprime una direzione al campione. Il sorteggio le spazza via: per costruzione, non ha preferenze.
E c’è un secondo guadagno, più tecnico. Solo se l’estrazione è governata dal caso con probabilità note, puoi calcolare quanto la tua stima può sbagliare. La variabilità campionaria del capitolo precedente — la campana della distribuzione campionaria, il suo standard error — esiste come oggetto calcolabile solo perché il campione è casuale. Un campione scelto a giudizio non ha distribuzione campionaria nota: non puoi metterci sopra un margine di errore onesto. Il caso non serve a essere modesti. Serve a rendere l’incertezza un numero invece di un’opinione.
Un esempio chiarisce la portata del secondo guadagno. Immagina due squadre che stimano la stessa quantità. La prima estrae cento unità a caso e riporta “42%, con un margine del ±5% al 95% di confidenza”. La seconda sceglie cento unità “scelte bene, in modo da essere rappresentative” e riporta “42%”. Il primo numero e il secondo numero sono identici, ma dicono cose diverse. Il primo è un’affermazione falsificabile: dichiara un intervallo, e si può controllare se il vero valore ci cade dentro con la frequenza promessa. Il secondo è un’opinione travestita da misura: non ha intervallo, perché il metodo che l’ha prodotto non permette di calcolarlo. Affidarsi al caso è ciò che trasforma una stima in un’affermazione con un margine — e un’affermazione con un margine è l’unica forma di onestà quantitativa che la statistica conosce.
Tieni insieme le tre immagini. Il bias nasce dallo scarto tra il frame e il mondo; si distingue dall’errore casuale perché non guarisce con più dati; e il caso, lungi dall’essere una resa, è lo strumento che lo previene e che rende l’incertezza misurabile.
La meccanica
Sezione intitolata “La meccanica”Adesso i metodi, nel dettaglio. Prima la famiglia che rende possibile l’inferenza — il campionamento probabilistico — con le sue quattro varianti principali. Poi la tassonomia dei modi in cui il campionamento si rompe. Infine il conto che lega la dimensione del campione alla precisione.
Campionamento probabilistico
Sezione intitolata “Campionamento probabilistico”Un campionamento si dice probabilistico quando ogni unità della popolazione ha una probabilità nota e diversa da zero di finire nel campione. Le due condizioni contano entrambe. “Diversa da zero” garantisce che nessuna sottopopolazione sia esclusa in partenza. “Nota” garantisce che si possano fare i conti: correggere le stime e calcolare l’incertezza. I metodi che non offrono questa garanzia — scegliere chi capita, chiedere a chi si conosce, lasciare la scelta all’intervistatore — si dicono non probabilistici, e su di essi l’inferenza statistica formale non poggia.
Campionamento casuale semplice
Sezione intitolata “Campionamento casuale semplice”Il campionamento casuale semplice (simple random sampling) è il caso ideale di riferimento: ogni sottoinsieme di dimensione della popolazione ha la stessa probabilità di essere scelto. Operativamente: enumera la popolazione da a , estrai indici a caso senza ripetizione, prendi le unità corrispondenti.
import random
def campione_casuale_semplice(popolazione, n): # ogni sottoinsieme di n elementi e' equiprobabile return random.sample(popolazione, n)È il “mescolare bene la minestra” reso operativo. Vantaggi: massimamente privo di distorsione, e l’analisi statistica a valle è la più semplice possibile, perché tutte le formule standard lo assumono come modello di base. Svantaggi: richiede un frame completo ed enumerabile — devi avere la lista di tutta la popolazione — e può essere costoso quando le unità sono geograficamente disperse. Intervistare di persona mille cittadini estratti a caso da un intero paese significa mille viaggi in mille posti diversi.
Campionamento sistematico
Sezione intitolata “Campionamento sistematico”Il campionamento sistematico evita di generare numeri casuali. Si ordina la popolazione, si calcola il passo , si sceglie a caso un punto di partenza tra i primi elementi, poi si prende un elemento ogni .
dove è la dimensione della popolazione, quella del campione desiderato, il punto di partenza casuale. In parole povere: invece di estrarre ogni indice singolarmente, ne estrai uno solo e poi avanzi a passi regolari. È più semplice da eseguire a mano o lungo una catena di montaggio.
Ha un’insidia precisa. Se l’ordinamento della popolazione nasconde una periodicità che risuona con il passo , il campione si avvelena. Esempio classico: campioni un appartamento ogni dieci in un grande complesso residenziale dove, per come è progettato l’edificio, ogni decimo appartamento è un attico d’angolo. Il tuo campione diventa, senza che tu te ne accorga, fatto interamente di attici.
# 200 appartamenti: ogni decimo (indici 9, 19, 29, ...) e' un atticoappartamenti = ["standard"] * 200for i in range(9, 200, 10): appartamenti[i] = "attico"
# campionamento sistematico con passo k = 10, partenza s = 9campione = appartamenti[9::10]# campione: ['attico', 'attico', 'attico', ...] -> tutti atticiIl passo è entrato in risonanza con il periodo della struttura, anch’esso 10: il campione cattura sempre la stessa fase del pattern. Cambiando partenza si otterrebbe l’opposto, zero attici. In entrambi i casi il campione è distorto, e nessuna delle due distorsioni si vede guardando solo il campione estratto. Il campionamento sistematico è sicuro solo se l’ordinamento non ha strutture nascoste, o se è esso stesso casuale.
Campionamento stratificato
Sezione intitolata “Campionamento stratificato”Il campionamento stratificato (stratified sampling) divide la popolazione in strati — sottogruppi internamente omogenei rispetto a una caratteristica rilevante: fascia d’età, regione geografica, classe di reddito — e poi estrae un campione casuale dentro ciascuno strato. La dimensione del sottocampione per ogni strato è spesso proporzionale alla dimensione dello strato (allocazione proporzionale): se gli ultratrentacinquenni sono il 40% della popolazione, saranno il 40% del campione, per costruzione e non per fortuna.
def campione_stratificato(strati, frazione): # strati: dict {nome_strato: lista_unita} campione = {} for nome, elementi in strati.items(): n_strato = round(len(elementi) * frazione) campione[nome] = random.sample(elementi, n_strato) return campioneVantaggi: garantisce che ogni sottogruppo sia rappresentato — niente è lasciato al caso di un’estrazione sfortunata — e, quando gli strati sono internamente omogenei e diversi tra loro, riduce la varianza della stima rispetto al campionamento casuale semplice. Svantaggi: devi conoscere in anticipo gli strati e la loro composizione, il che richiede informazione sulla popolazione che non sempre hai. È, anticipandolo, l’idea che in machine learning prende il nome di stratified split.
Campionamento a cluster
Sezione intitolata “Campionamento a cluster”Il campionamento a cluster (cluster sampling) divide la popolazione in cluster — gruppi naturali, tipicamente geografici o organizzativi: scuole, quartieri, ospedali, filiali. Poi estrae a caso interi cluster e include tutti gli individui dei cluster scelti (oppure sottocampiona ancora al loro interno, ed è il two-stage cluster sampling).
La differenza dal campionamento stratificato è netta e va fissata, perché i due nomi si confondono di continuo. Nello stratificato campioni dentro ogni strato: tutti gli strati contribuiscono. Nel cluster campioni alcuni cluster interi e scarti del tutto gli altri. Lo stratificato divide per essere sicuro di coprire ovunque; il cluster divide per poter coprire poco.
Vantaggi: economico quando la popolazione è geograficamente dispersa — visiti dieci scuole intere invece di inseguire mille studenti sparsi nel paese. Svantaggi: varianza più alta, perché individui dello stesso cluster tendono a somigliarsi tra loro (correlazione intra-cluster: gli studenti di una stessa scuola condividono insegnanti, quartiere, contesto), quindi un cluster intero porta meno informazione di quanti individui contenga. Il presupposto ideale, raramente perfetto, è che ogni cluster sia un mini-ritratto fedele della popolazione intera.
In sintesi, stratificato e cluster spingono in direzioni opposte sul piano costo-varianza: lo stratificato spende informazione e organizzazione per ridurre la varianza; il cluster accetta più varianza in cambio di un costo molto minore.
I quattro metodi si riassumono in una tabella che ne mette a fuoco i compromessi:
| Metodo | Cosa richiede | Vantaggio principale | Rischio principale |
|---|---|---|---|
| Casuale semplice | frame completo ed enumerabile | nessuna distorsione, analisi semplice | costo logistico se le unità sono disperse |
| Sistematico | frame ordinato | facile da eseguire | periodicità nascosta che risuona col passo |
| Stratificato | conoscere gli strati e le loro dimensioni | copertura garantita, varianza ridotta | strati definiti male o ignoti |
| A cluster | cluster naturali identificabili | costo basso su popolazioni disperse | varianza alta per correlazione intra-cluster |
Nessuno dei quattro è “il migliore”: ciascuno è la risposta giusta a un diverso vincolo. Quando hai la lista completa e i mezzi, il casuale semplice è l’ideale teorico. Quando una sottopopolazione rara rischia di sparire, lo stratificato la protegge. Quando il budget non consente di raggiungere unità sparse, il cluster è il compromesso obbligato. Il sistematico è una scorciatoia operativa del casuale semplice, sicura solo su frame senza struttura periodica. La scelta del metodo è una decisione di progettazione, e va presa guardando il vincolo, non l’eleganza.
Quando il campionamento si rompe: la tassonomia del bias
Sezione intitolata “Quando il campionamento si rompe: la tassonomia del bias”I bias di campionamento non sono accidenti rari: sono i modi tipici, ricorrenti e prevedibili in cui un campione smette di rappresentare la popolazione. Conoscerli per nome è la prima difesa.
Selection bias
Sezione intitolata “Selection bias”Il selection bias (bias di selezione) è il termine ombrello: la procedura di selezione favorisce sistematicamente certe unità rispetto ad altre, così che il campione non rispecchia la popolazione target. La sua firma diagnostica, già vista nell’angolo della bilancia, è che un campione grande produce una stima precisamente sbagliata — intervallo di confidenza stretto, centrato sul valore errato. Tutti i bias che seguono sono casi particolari di selection bias.
Survivorship bias
Sezione intitolata “Survivorship bias”Il survivorship bias (bias del sopravvissuto) è il caso più insidioso, perché le unità che mancano dal campione sono invisibili proprio in quanto mancano. Si osservano solo le unità che hanno “sopravvissuto” a un processo di filtraggio, e si conclude come se le unità eliminate non fossero mai esistite.
L’esempio canonico viene dalla Seconda guerra mondiale. Lo Statistical Research Group della Columbia University doveva consigliare l’aviazione su dove aggiungere corazza ai bombardieri. La corazza pesa, e un aereo troppo corazzato non vola: bisogna metterla solo dove serve davvero. I dati raccolti mostravano i fori di proiettile concentrati su fusoliera e ali, pochissimi sui motori. La conclusione istintiva: corazzare fusoliera e ali, dove gli aerei sono più colpiti. Abraham Wald, matematico del gruppo, ribaltò il ragionamento nel memorandum A Method of Estimating Plane Vulnerability Based on Damage of Survivors (Statistical Research Group, 1943). I dati venivano solo dagli aerei tornati alla base. Gli aerei colpiti ai motori, in larga parte, non tornavano — e quindi non comparivano nel campione. La distribuzione dei fori sui sopravvissuti non mostrava dove gli aerei venivano colpiti: mostrava dove un aereo poteva essere colpito e tornare lo stesso. La corazza andava messa dove i sopravvissuti erano intatti — i motori — perché lì un colpo era fatale. Il campione conteneva solo i sopravvissuti, e i sopravvissuti hanno per definizione una storia diversa dai caduti.
Il ragionamento di Wald merita di essere isolato perché è la forma pura dell’inferenza sul campione mancante. Wald non aveva accesso ai dati degli aerei abbattuti — quei dati erano, letteralmente, in fondo al mare. Ma poteva ragionare su di essi per differenza. Assumendo che i colpi nemici si distribuissero in modo grosso modo uniforme su tutta la superficie dell’aereo, ogni zona che sui sopravvissuti appariva meno colpita del previsto doveva essere una zona in cui un colpo aveva impedito il ritorno. L’assenza di fori non era un segno di sicurezza: era la traccia, in negativo, dei caduti. È il rovesciamento esatto della lettura ingenua, e si regge su un’assunzione dichiarata — l’uniformità dei colpi — non su un dato osservato. Questo è il punto metodologico: di fronte a un campione di soli sopravvissuti, non si raccolgono più dati sui sopravvissuti, si modella il filtro che ha prodotto la sopravvivenza.
Lo stesso meccanismo agisce ovunque ci sia un filtro che elimina silenziosamente. I fondi di investimento che vanno male vengono chiusi e spariscono dai database: chi misura “il rendimento medio dei fondi” sui soli fondi ancora esistenti sovrastima il mercato, perché i perdenti sono stati cancellati dal campione — uno studio del 1996 mostrò che, includendo nel confronto i fondi chiusi, circa il 70% dei fondi sopravvissuti poteva vantarsi di stare nel quartile migliore, una percentuale impossibile per costruzione e prodotta solo dalla sparizione dei perdenti. Gli edifici antichi ancora in piedi sembrano costruiti meglio di quelli moderni — ma li vediamo solo perché i fragili, nei secoli, sono crollati e non li possiamo più osservare.
Non-response bias
Sezione intitolata “Non-response bias”Il non-response bias (bias di non-risposta) compare quando chi non risponde a un sondaggio differisce sistematicamente da chi risponde. Il campione che hai progettato e il campione che ottieni effettivamente — i soli rispondenti — non coincidono, e lo scarto ha una direzione. Se i soddisfatti rispondono volentieri a un sondaggio di gradimento e gli insoddisfatti lo cestinano, il campione effettivo è inclinato verso la soddisfazione, qualunque cura tu abbia messo nel progettare l’estrazione.
Campionamento di convenienza
Sezione intitolata “Campionamento di convenienza”Il campionamento di convenienza è il non-metodo: si osserva chi è facile da osservare — i visitatori di un sito, gli amici di un’azienda, gli utenti che hanno già installato l’app. È rapido e gratuito, e per questo diffusissimo, ma non offre alcuna garanzia probabilistica: la “facilità di essere osservato” è essa stessa una caratteristica che può correlare con ciò che stai misurando. Quasi tutti i dataset raccolti per scraping sono, tecnicamente, campioni di convenienza.
Correggere dopo: la post-stratificazione e i pesi
Sezione intitolata “Correggere dopo: la post-stratificazione e i pesi”Una domanda sorge naturale: se un campione è distorto, lo si può raddrizzare a posteriori? In parte sì, e il meccanismo merita di essere capito, perché è la stessa idea che in machine learning prende il nome di importance weighting.
L’idea base si chiama post-stratificazione. Supponi di aver raccolto un campione in cui una sottopopolazione è sottorappresentata: nel campione i giovani sono il 10%, ma nella popolazione vera — che conosci da un censimento — sono il 25%. La correzione consiste nel dare a ciascun giovane del campione un peso maggiore di 1 quando calcoli le medie, in modo che il loro contributo complessivo torni al 25% che dovrebbe avere. Ogni unità entra nei conti non come “uno”, ma come “uno moltiplicato per quanto è stata sottocampionata”. In formula, il peso di un’unità è inversamente proporzionale alla sua probabilità di finire nel campione: le unità rare nel campione ma comuni nella popolazione pesano di più.
La pesatura funziona, ma a due condizioni rigide, ed è qui che molti sbagliano. Primo: devi conoscere la composizione vera della popolazione, o almeno disporre di una fonte esterna affidabile — la correzione non si tira fuori dai dati stessi. Secondo, e più severo: la pesatura recupera solo le sottopopolazioni presenti nel campione, anche se in piccola quantità. Una sottopopolazione del tutto assente — probabilità di selezione esattamente zero, perché il frame la escludeva in partenza — non si recupera con nessun peso, perché moltiplicare zero osservazioni per qualunque coefficiente restituisce sempre zero. È la differenza tra “pochi” e “nessuno”: dai pochi si può risalire, dal nulla no. La post-stratificazione è uno strumento prezioso, non una rete di sicurezza che assolve dal campionare bene.
La dimensione del campione e la precisione
Sezione intitolata “La dimensione del campione e la precisione”Resta il conto che lega la dimensione del campione alla precisione della stima. Va premesso ciò che la sezione sul bias ha già stabilito: governa la precisione — quanto è stretto il margine di errore — ma non la correttezza. La dimensione combatte la varianza, non il bias. Tenuto fermo questo, ecco la relazione.
Per stimare una proporzione — la frazione di elettori per un candidato, oppure l’accuratezza di un modello, che è la proporzione di risposte corrette — il margine di errore a un dato livello di confidenza si lega alla dimensione così:
Ogni simbolo: è il margine di errore, l’ampiezza del “più o meno” attorno alla stima; è la proporzione vera (ignota, ma per il conto la si ipotizza); è la dimensione del campione; è il quantile della distribuzione normale corrispondente al livello di confidenza scelto — vale circa per il 95% e circa per il 99%, numeri che arrivano dalla forma a campana della distribuzione campionaria discussa in statistica-intro. In parole povere, la formula dice che il margine di errore si restringe man mano che cresce, ma sotto radice quadrata: per dimezzarlo serve molto più del doppio dei dati.
Invertendo la formula per progettare un campione — fissato il margine che vuoi, quanti dati ti servono — si ottiene:
Due conseguenze pratiche, entrambe controintuitive. La prima: dipende dal margine attraverso il suo quadrato al denominatore. Dimezzare il margine di errore non raddoppia il campione necessario: lo quadruplica. La precisione è cara, e diventa rapidamente carissima.
La seconda riguarda , che non conosci — è proprio ciò che vuoi stimare. La quantità è massima quando , dove vale . Scegliendo ti metti nel caso peggiore: ottieni il più grande possibile, e quindi un campione che basta qualunque sia il valore vero di . È la scelta prudente standard quando non hai informazioni a priori.
Mettendo i numeri: per un margine di errore del 3% al 95% di confidenza, con , si ha . Circa mille intervistati. E qui arriva il fatto che più colpisce l’intuito: in questa formula la dimensione della popolazione non compare. Un campione di circa mille persone dà un margine del 3% sia che la popolazione sia di un milione, sia che sia di trecento milioni. La dimensione della popolazione entra solo come piccola correzione (la correzione per popolazione finita) quando il campione è una frazione non trascurabile della popolazione — caso raro nei sondaggi reali. Oltre una certa soglia, ciò che conta non è quanto è grande il tutto, ma quanto è ampio e quanto è non distorto il campione. Mille risposte casuali battono dieci milioni di risposte inclinate. È, in una formula, la lezione del 1936.
Quattro esempi eterogenei: due storici, uno numerico, uno di codice in un contesto di machine learning.
Esempio 1 — storico: il Literary Digest, 1936
Sezione intitolata “Esempio 1 — storico: il Literary Digest, 1936”Il Literary Digest era una rivista statunitense di larga diffusione che, a partire dal 1916, prevedeva con successo l’esito delle elezioni presidenziali tramite enormi sondaggi postali. Nel 1936 spedì circa dieci milioni di schede, indirizzate usando come frame elenchi telefonici, registri di immatricolazione automobilistica, liste di abbonati alla rivista e di iscritti a circoli. Tornarono circa due milioni e quattrocentomila schede. Sulla loro base la rivista predisse la vittoria del candidato repubblicano Alf Landon sul presidente uscente Franklin D. Roosevelt, 57% contro 43%. Il risultato reale fu quasi l’opposto: Roosevelt vinse con circa il 61%. L’errore fu di circa diciannove punti, il più grande mai registrato in un sondaggio nazionale.
Due bias agirono insieme, e l’esempio è prezioso perché li mostra entrambi. Il primo è un frame distorto, cioè selection bias allo stato puro. Nel 1936, in piena Grande Depressione, possedere un telefono o un’automobile, o pagare l’iscrizione a un circolo, era fortemente correlato a un reddito alto. Il frame del Digest — la lista da cui pescava — escludeva sistematicamente i poveri. E i poveri, in quell’elezione segnata dal New Deal, votavano in massa per Roosevelt. Il secondo bias è il non-response bias: solo il 24% delle schede tornò indietro, e chi era abbastanza motivato da rispedirla — i sostenitori di Landon, scontenti del governo — non rappresentava chi la scheda l’aveva semplicemente ricevuta.
La lezione è quella dell’angolo della bilancia, in carne e ossa. Due milioni e mezzo di risposte distorte produssero una previsione precisa e sbagliata di diciannove punti. Nello stesso anno George Gallup, un sondaggista quasi sconosciuto, predisse correttamente la vittoria di Roosevelt usando un campione di poche migliaia di persone, costruito apposta per rispecchiare la composizione demografica del paese. La dimensione perse contro la rappresentatività. Il Literary Digest chiuse pochi anni dopo, anche per il colpo alla reputazione.
Esempio 2 — storico: Truman contro Dewey, 1948
Sezione intitolata “Esempio 2 — storico: Truman contro Dewey, 1948”Il fallimento del Digest insegnò ai sondaggisti professionisti — Gallup, Roper, Crossley — ad abbandonare i mailing list di massa. Adottarono il campionamento per quote (quota sampling): a ogni intervistatore si assegnava una quota demografica da rispettare — tante donne, tanti uomini, tante persone per fascia di reddito — in modo che il campione complessivo rispecchiasse la popolazione. Il difetto, però, era nascosto: la scelta di quale persona intervistare entro la quota era lasciata all’intervistatore.
Alle presidenziali del 1948 tutti e tre i sondaggisti previdero la vittoria del repubblicano Thomas Dewey sul presidente uscente Harry Truman; Gallup dava Dewey al 50% e Truman al 44%. Truman vinse, con circa il 50% contro il 45%. Il Chicago Daily Tribune, fidandosi dei sondaggi, mandò in stampa la prima pagina con il titolo “DEWEY DEFEATS TRUMAN” prima che lo spoglio fosse completo: la fotografia di Truman che esibisce ridendo quel giornale è diventata l’immagine del fallimento di un metodo.
Le cause si saldano alle idee di questo capitolo. Il quota sampling lasciava un margine di scelta umana, e l’intervistatore — è il terzo angolo dell’intuizione, il caso come garanzia — tendeva inconsciamente ad avvicinare le persone più accessibili e benestanti, sistematicamente più repubblicane. Le quote, inoltre, erano tarate sul censimento del 1940, reso obsoleto dalle grandi migrazioni interne del periodo bellico. E i sondaggi si fermarono due settimane prima del voto, perdendo gli indecisi che si spostarono verso Truman. Conseguenza storica: la comunità abbandonò il quota sampling e passò al campionamento probabilistico, in cui l’intervistatore non sceglie più chi intervistare. Due disastri, due regole nuove.
Vale la pena fermarsi su un dettaglio del 1948, perché è il più istruttivo. Il quota sampling non era, sulla carta, un metodo ingenuo: garantiva che il campione avesse la giusta proporzione di uomini e donne, di fasce di reddito, di aree geografiche. Sembrava rappresentativo per costruzione. L’errore stava in ciò che la quota non controllava: lasciato libero entro la quota, l’intervistatore sceglieva sempre la persona dall’aspetto più rassicurante, la casa più curata, la strada più comoda. La quota fissava le variabili visibili e lasciava scoperte le invisibili, e il bias si infilò esattamente lì. È una lezione che si trasferisce intatta ai dataset: bilanciare un dataset rispetto alle variabili che ti vengono in mente non lo rende rappresentativo: lo rende rappresentativo rispetto a quelle variabili, e lascia aperta la porta a ogni distorsione lungo le dimensioni che non hai pensato di controllare.
Esempio 3 — numerico: progettare un sondaggio
Sezione intitolata “Esempio 3 — numerico: progettare un sondaggio”Vuoi stimare la quota di utenti che preferiscono una nuova interfaccia. Non hai idea a priori del valore, quindi usi il caso peggiore . Decidi un livello di confidenza del 95%, da cui . Provi tre valori per il margine di errore e applichi :
| Margine | Calcolo | necessario |
|---|---|---|
| 5% (0.05) | circa 384 | |
| 3% (0.03) | circa 1067 | |
| 1.5% (0.015) | circa 4268 |
La tabella mostra in numeri la relazione quadratica. Passando da un margine del 3% a uno dell’1.5% — un semplice dimezzamento — il campione necessario non raddoppia: passa da circa 1067 a circa 4268, cioè quadruplica. Ogni cifra di precisione in più costa sempre di più della precedente. E si noti, di nuovo, ciò che non compare in nessuna riga: la dimensione della popolazione. Che gli utenti totali siano diecimila o dieci milioni, i numeri della tabella non cambiano. Questo a patto, sempre, che il campione sia davvero casuale: se gli utenti li raccogli tra chi commenta sui social, nessuna delle tre righe vale, perché stai misurando il margine dell’errore casuale attorno a una stima già inclinata dal bias.
Lo stesso conto ha un’applicazione diretta alla valutazione di un modello. L’accuratezza misurata su un test set è una proporzione: la frazione di esempi classificati correttamente. Se vuoi sapere quanto è affidabile il numero “91.3% di accuratezza”, la formula del margine di errore te lo dice. Con un test set di 1.000 esempi e un’accuratezza attorno al 90%, il margine al 95% è circa : l’accuratezza vera sta plausibilmente tra l’89.4% e il 93.2%. Un test set di soli 100 esempi porterebbe il margine a circa il 6%, rendendo quasi indistinguibili due modelli al 90% e all’85%. È il motivo per cui un benchmark con poche centinaia di esempi va letto con cautela: la differenza tra due modelli può essere interamente rumore campionario. E vale, anche qui, l’avvertenza sul bias: questa formula misura solo il rumore: se il test set è stato ritagliato da una fonte distorta, l’intervallo è stretto attorno al numero sbagliato.
Esempio 4 — in codice: lo split train/test su una classe rara
Sezione intitolata “Esempio 4 — in codice: lo split train/test su una classe rara”In machine learning lo split di un dataset in training e test è un atto di campionamento, e lo split casuale ingenuo può rompersi proprio come un sondaggio. Considera un dataset di frodi: 10.000 transazioni, di cui solo 200 fraudolente — la classe rara è il 2%. Vuoi tenere il 10% come test set.
import random
dataset = ["lecita"] * 9800 + ["frode"] * 200random.shuffle(dataset)
# split casuale ingenuotest = dataset[:1000]frodi_nel_test = test.count("frode")# frodi_nel_test oscilla, campione dopo campione, attorno a 20# una singola esecuzione cade facilmente a 12 o a 30In media il test set conterrà 20 frodi, ma è una media: per variabilità campionaria una singola esecuzione può consegnartene 12 o 31. Con una classe ancora più rara — poniamo lo 0.2% — un test set potrebbe ritrovarsi con zero esempi positivi, rendendo impossibile misurare se il modello le riconosce. Lo split casuale, da solo, non garantisce la copertura delle sottopopolazioni rare.
La soluzione è il campionamento stratificato applicato allo split: si trattano “lecita” e “frode” come due strati e si estrae il 10% da ciascuno separatamente.
def split_stratificato(dataset, frazione_test): per_classe = {} for x in dataset: per_classe.setdefault(x, []).append(x) test, train = [], [] for classe, elementi in per_classe.items(): random.shuffle(elementi) taglio = round(len(elementi) * frazione_test) test += elementi[:taglio] # 10% di QUESTA classe train += elementi[taglio:] return train, test
# ora il test set ha sempre esattamente 20 frodi: 10% di 200Lo stratified split garantisce che la proporzione di ogni classe nel test set sia identica a quella nel dataset completo. È il campionamento stratificato della sezione precedente, con le classi al posto delle fasce d’età. Lo stesso ragionamento, applicato durante l’addestramento invece che allo split, è il class-balanced sampling: ricampionare per compensare un frame sbilanciato.
Esempio 5 — scenario reale: il costo del campionamento a cluster
Sezione intitolata “Esempio 5 — scenario reale: il costo del campionamento a cluster”Una squadra deve valutare la qualità dell’aria nelle scuole di una grande regione: diecimila scuole, sparse su un territorio vasto. Il budget consente di installare strumenti e raccogliere misure in trecento scuole.
L’approccio casuale semplice estrarrebbe trecento scuole a caso da tutte e diecimila. È statisticamente impeccabile, ma operativamente quasi impossibile: trecento scuole estratte a caso sono trecento località diverse, ciascuna con il suo viaggio, il suo permesso, la sua logistica. Il costo di spostamento divora il budget.
Lo schema generale del problema è ricorrente: si ha un metodo statisticamente perfetto ma operativamente proibitivo, e un metodo operativamente comodo ma statisticamente più debole. Il campionamento a cluster è il compromesso progettato apposta per questo scenario.
L’approccio a cluster cambia l’unità di campionamento. La regione si divide in cluster naturali — i distretti scolastici — e si estraggono a caso dieci distretti tra tutti quelli esistenti; dentro ognuno si misura in trenta scuole. Il numero di misure è lo stesso, trecento, ma le località da raggiungere sono concentrate in dieci aree invece di trecento punti sparsi: il costo logistico crolla.
Il prezzo di questo risparmio è statistico, e va dichiarato. Le scuole di uno stesso distretto si somigliano più di quanto si somiglino due scuole prese a caso nella regione: condividono la stessa qualità dell’aria di fondo, le stesse politiche locali, lo stesso traffico urbano. Questa è la correlazione intra-cluster.
La sua conseguenza è che trecento misure raccolte in dieci distretti portano meno informazione di trecento misure da trecento scuole indipendenti — come se il campione effettivo fosse, diciamo, di centottanta scuole indipendenti anziché trecento. Il campionamento a cluster non è quindi “gratis”: baratta precisione statistica contro costo operativo. La scelta è legittima quando il vincolo di budget è reale, ma chi analizza i dati deve usare formule che tengano conto della struttura a cluster — altrimenti dichiarerà un margine di errore più stretto di quello vero, esattamente uno dei modi di rompersi descritti più avanti.
Applicazioni pratiche
Sezione intitolata “Applicazioni pratiche”Per chi costruisce sistemi di machine learning, il campionamento non è un argomento dei manuali di statistica: è una decisione che si prende ogni volta che si raccoglie un dato, di solito senza chiamarla così.
Il punto di partenza è un’equivalenza che vale la pena enunciare per intero, perché riorganizza tutto il resto. Il dataset di training è un campione, estratto da una popolazione di dati possibili. La popolazione target sono i dati che il modello incontrerà in produzione — la distribuzione di deployment. Il frame di campionamento è il meccanismo concreto di raccolta: lo scraping di una porzione del web, i log di un’applicazione, un dataset pubblico, le annotazioni di un gruppo di crowdworker. Quasi tutti questi frame sono, in senso tecnico, campioni di convenienza: raccolgono ciò che è facile raccogliere.
Su questa equivalenza poggia l’assunzione fondante di quasi tutto il machine learning supervisionato, la cosiddetta IID — independent and identically distributed, “indipendenti e identicamente distribuiti”. Dice che i dati di training e quelli di test e produzione provengono dalla stessa distribuzione. Tradotta nel vocabolario di questo capitolo, l’IID è esattamente l’affermazione “il campione di training è rappresentativo della popolazione di deployment”. È l’assunzione di rappresentatività, sotto un altro nome.
Riconoscere questa equivalenza non è un esercizio terminologico: cambia che cosa si fa in pratica. Se il dataset di training è un campione, allora il lavoro di costruirlo è un lavoro di disegno campionario, e i metodi della prima parte di questo capitolo diventano strumenti operativi. Raccogliere immagini di prodotti difettosi per un sistema di controllo qualità è esattamente il problema della classe rara: lo stratified sampling dice di raccogliere deliberatamente esempi di ogni tipo di difetto, invece di sperare che lo scraping ne peschi abbastanza. Annotare un dataset multilingue è un problema di stratificazione per lingua. Decidere quante interazioni utente registrare prima di addestrare è il calcolo della dimensione campionaria. La statistica del campionamento non è alle spalle del machine learning come prerequisito accademico: è il manuale operativo della fase di data collection.
Lo stesso ragionamento sale fino ai modelli linguistici di grandi dimensioni. Il corpus di pre-addestramento di un LLM è un campione, gigantesco ma comunque un campione, del testo prodotto dall’umanità — e il suo frame è ciò che è finito su pagine web pubbliche, scansionabili, in un certo intervallo di tempo. Quel frame eredita ogni distorsione della scrittura online: sovrarappresenta le lingue con più presenza sul web, i registri formali e pubblicabili, le opinioni di chi scrive molto; sottorappresenta le lingue a bassa diffusione digitale, il parlato, ciò che resta privato. Le scelte di data mixing — quanto peso dare a ciascuna fonte nel corpus — sono, letteralmente, decisioni di allocazione campionaria: la versione su scala industriale del campionamento stratificato. Un modello non è più rappresentativo del suo corpus di quanto un sondaggio sia più rappresentativo della sua lista di indirizzi.
Quando quell’assunzione cade, si parla di distribution shift (o dataset shift): la distribuzione dei dati di deployment differisce da quella di training. È il selection bias, traslato nel mondo dei modelli. Se ne distinguono tre sottotipi standard. Il covariate shift è il caso in cui cambia la distribuzione degli input mentre la relazione input-output resta la stessa — ed è spesso causato proprio da un bias nel campionamento dei dati di training: il Literary Digest in forma di dataset. Il label shift è il caso in cui cambia la frequenza delle classi. Il concept drift è il caso in cui cambia la relazione stessa tra input e output: lo spam di quest’anno non somiglia allo spam su cui il filtro fu addestrato, e il filtro invecchia anche se nessuno tocca il suo codice.
Ogni patologia vista nella sezione sui bias ha un gemello operativo nei dataset. Il gemello del survivorship bias è ovunque: un modello di manutenzione predittiva addestrato sui log delle macchine ancora in funzione non vede mai i segnali delle macchine già rottamate; un sistema di scoring del credito addestrato sui prestiti concessi non sa nulla dei richiedenti rifiutati — un problema noto con un nome proprio, rejection inference. Il gemello del non-response bias è la mancanza non casuale di etichette, tipicamente proprio sui casi difficili. Il gemello del frame distorto è il dataset costruito su una fonte che esclude sistematicamente una sottopopolazione: dataset di volti storici sottorappresentavano le carnagioni scure, e i modelli riconoscitivi che ne nascevano funzionavano peggio su di esse — non per un difetto dell’algoritmo, ma perché il campione era distorto a monte.
La conseguenza operativa porta un nome: train-serving skew, lo scarto tra addestramento e servizio. È il modello eccellente in sviluppo che degrada in produzione. Il meccanismo è subdolo: il test set, di solito, è ritagliato dalla stessa fonte del training set, e quindi condivide il suo bias. La valutazione su un test set co-distorto è cieca esattamente al problema che dovrebbe scoprire — entrambi gli insiemi assaggiano solo lo strato superiore della pentola. Il modello segna numeri ottimi sul test set e crolla sui dati reali.
La cura non è algoritmica, ed è il messaggio centrale di questa sezione. Non c’è un optimizer o una funzione di loss che ripari un campione distorto. La cura è di campionamento: curare la data collection come si cura il disegno di un sondaggio; stratificare deliberatamente la raccolta per coprire le sottopopolazioni rare invece di prendere ciò che capita; monitorare in produzione lo scostamento tra la distribuzione dei dati in arrivo e quella di training; ricampionare quando il frame è sbilanciato. Lo stratified split dell’esempio 4 è campionamento stratificato; il class-balanced sampling è ricampionamento correttivo. Chi progetta la raccolta dati di un modello sta facendo lo stesso mestiere di Gallup nel 1936 — con un’aggravante: un dataset, dopo il deploy, non si “riapre” più di quanto un sondaggio si riapra dopo che si è votato.
Tradotto in pratica, prima di fidarsi di un dataset conviene porsi le stesse domande che un sondaggista serio si pone prima di pubblicare. Quattro in particolare, e nessuna ha a che fare con l’algoritmo:
- Qual è la popolazione target reale? Non i dati che ho, ma i dati che il modello incontrerà. Scriverla esplicitamente è già metà del lavoro: costringe a confrontarla col frame.
- Qual è il frame, e chi esclude? Da dove vengono materialmente i dati — quale scraping, quali log, quale clausola di query — e quale sottopopolazione quel meccanismo lascia sistematicamente fuori.
- C’è un filtro a monte? I dati sono “ciò che è arrivato fin qui” — clienti attivi, transazioni completate, esempi che hanno passato un controllo qualità? Se sì, c’è survivorship bias da indagare.
- Il test set condivide il bias del training set? Se sono due fette della stessa fonte, la valutazione è cieca al problema. Un test set onesto va avvicinato il più possibile alla distribuzione di deployment.
Queste domande non costano calcolo, costano onestà. Sono il motivo per cui un capitolo di campionamento, in una wiki di AI, non è un fuori programma: è la parte della statistica che decide se un sistema funzionerà davvero o solo sulla carta.
Dove si rompe
Sezione intitolata “Dove si rompe”Il campionamento è un terreno dove gli errori sono sistematici, ricorrenti e spesso invisibili a chi li commette. Ecco i modi più comuni in cui il ragionamento si rompe.
Confondere dimensione e qualità. È l’errore archetipico, quello del Literary Digest. Un campione grande sembra autorevole, e la grande dimensione produce un margine di errore strettissimo che suona come affidabilità. Ma il margine di errore misura solo l’errore casuale: non vede il bias. Un campione enorme e distorto è più pericoloso di uno piccolo e distorto, perché aggiunge una falsa fiducia a una stima sbagliata. La domanda giusta su un campione non è mai “quanto è grande”, ma sempre “come è stato estratto”.
Il bias è invisibile dall’interno dei dati. Non esiste un test statistico che, guardando solo il campione, ti dica “questo campione è distorto”. Il bias è uno scarto tra il campione e una popolazione che, per definizione, non hai osservato per intero — altrimenti non campioneresti. Lo si scopre solo ragionando sul processo di raccolta, o confrontando il campione con informazione esterna indipendente (un censimento, una fonte di riferimento). Le librerie statistiche calcolano benissimo l’incertezza casuale e sono completamente cieche al bias. Nessuna eccezione verrà sollevata.
Il frame che si crede la popolazione. L’errore concettuale alla radice di quasi tutti gli altri: lavorare a lungo con un frame finisce per farlo sembrare la popolazione stessa. Chi analizza i log di un’app dimentica che esistono gli utenti che l’app l’hanno disinstallata. Chi addestra su dati scrapati dal web dimentica che esiste tutto ciò che sul web non è scritto. Il frame è comodo, è lì, è enumerabile — e proprio per questo prende silenziosamente il posto della popolazione target nella testa di chi lavora.
Il sopravvissuto che parla per tutti. Il survivorship bias si ripresenta in forme sempre nuove perché le unità mancanti non lasciano traccia. Ogni volta che analizzi un insieme di “ciò che è arrivato fino a qui” — clienti ancora attivi, progetti non cancellati, modelli che hanno passato la valutazione, transazioni andate a buon fine — devi chiederti esplicitamente chi è stato filtrato via prima, e se quel filtro è correlato a ciò che stai misurando. Wald non aveva dati migliori degli altri: aveva la stessa tabella di fori di proiettile. Aveva pensato a chi mancava.
Lo split che eredita il bias. In machine learning è frequente illudersi che, siccome training e test sono insiemi separati, la valutazione sia indipendente. Lo è solo rispetto all’errore casuale. Se entrambi gli insiemi sono ritagliati dallo stesso frame difettoso, condividono lo stesso bias, e il test set certifica un modello che fallirà sulla popolazione vera. Un test set onesto deve provenire, idealmente, da una distribuzione il più possibile vicina a quella di deployment — non semplicemente da una fetta a caso degli stessi dati di training.
Contare sulla correzione a posteriori. La post-stratificazione, vista nella sezione sulla meccanica, è uno strumento reale ma viene spesso scambiato per una rete di sicurezza universale. Non lo è: raddrizza solo le sottopopolazioni presenti nel campione e solo se si conosce la composizione vera della popolazione. Progettare male la raccolta confidando di “sistemare i pesi dopo” è una scommessa che si perde ogni volta che il frame ha lasciato fuori qualcuno del tutto.
Il caso non basta se le unità non sono indipendenti. Anche un’estrazione genuinamente casuale può ingannare se le unità sono correlate tra loro e la correlazione viene ignorata. È il problema del campionamento a cluster trattato come se fosse casuale semplice: mille studenti estratti da cinque scuole non portano la stessa informazione di mille studenti estratti da mille scuole, perché gli studenti di una scuola si somigliano. Trattare i primi come i secondi porta a sottostimare l’incertezza — a dichiarare un margine di errore più stretto del vero.
Confondere il campione bilanciato con il campione corretto. In machine learning, di fronte a una classe rara, è comune ricampionare per portarla al 50% — sovracampionando i casi rari o sottocampionando quelli comuni. È utile per l’addestramento, ma crea un’insidia a valle: il dataset bilanciato non rispecchia più la frequenza vera delle classi. Se poi si misura su quel dataset una metrica che dipende dalle frequenze — l’accuratezza, la precisione — il numero non vale per la popolazione reale, dove la classe rara è rara davvero. Il ricampionamento è una manovra deliberata sul campione: legittima, ma va ricordato che ha cambiato le proporzioni, e che le stime di prestazione vanno riportate sulle frequenze originali.
Il frame che invecchia. Un frame può essere corretto il giorno in cui lo costruisci e diventare distorto col tempo, senza che nessuno tocchi nulla. È ciò che accadde alle quote di Gallup nel 1948, tarate su un censimento di otto anni prima. In machine learning è il concept drift: il dataset di training fotografa la popolazione di un certo momento, ma la popolazione di deployment si muove — cambiano le abitudini degli utenti, il linguaggio, le minacce. Un modello messo in produzione e mai più rivalutato campiona implicitamente il passato per decidere sul presente. Il campionamento non è solo un atto iniziale: è una proprietà che va monitorata nel tempo.
Scambiare un campione visibile per un campione rappresentativo. I dati più facili da raccogliere sono spesso quelli generati da chi è più attivo, più rumoroso, più estremo: le recensioni online, i ticket di supporto, i thread sui social. Chi è soddisfatto in silenzio e chi ha smesso di usare un prodotto non lasciano quasi traccia. Misurare il sentiment degli utenti sui soli dati spontaneamente prodotti significa campionare le opinioni forti e ignorare la maggioranza tiepida. La visibilità di un dato non è la sua rappresentatività — anzi, le due tendono a essere in tensione.
C’è un filo che attraversa tutti questi modi di rompersi, e conviene renderlo esplicito. Nessuno di essi è un errore di calcolo, e nessuno verrebbe segnalato da una libreria statistica o da un framework di machine learning. Sono tutti errori che vivono prima dei dati: nella definizione del frame, nella scelta di chi osservare, nel filtro che ha agito a monte, nel tempo trascorso dalla raccolta. Lo strumento per scovarli non è un test statistico ma una domanda — “da dove vengono questi dati, e chi manca” — ripetuta con ostinazione. La statistica inferenziale dei capitoli successivi è potentissima, ma è potente solo condizionatamente a un campionamento sano: lavora benissimo a valle di un buon campione e altrettanto bene a valle di uno cattivo, restituendo in entrambi i casi numeri dall’aria autorevole. È per questo che il campionamento viene prima, in questo capitolo come nel lavoro reale: è la fondazione, e una fondazione storta non si raddrizza ritoccando i piani alti.
Collegamenti
Sezione intitolata “Collegamenti”- Popolazione, campione, stimatore — fissa il vocabolario su cui questo capitolo poggia: popolazione, campione, parametro, stimatore, variabilità campionaria. Il campionamento è il gesto che produce concretamente il campione di cui quel capitolo parla in astratto.
- Le distribuzioni comuni — il numero di “successi” in un campione casuale segue una distribuzione binomiale; la formula del margine di errore di una proporzione discende da lì. Le distribuzioni descrivono i dati una volta raccolti, il campionamento descrive come raccoglierli.
- Bias e varianza — la decomposizione dell’errore in componente sistematica e componente rumorosa è la stessa struttura concettuale: il bias di campionamento sta al campione come il bias di un modello sta alla sua famiglia di ipotesi.
- legge-grandi-numeri-clt (in preparazione) — spiega perché la stima da un campione casuale converge al valore vero al crescere di , e perché la distribuzione campionaria assume forma a campana. È la base teorica della formula del margine di errore usata qui.
- intervalli-confidenza (in preparazione) — trasforma il margine di errore di questo capitolo in un’affermazione formale sull’incertezza di una stima. Un intervallo di confidenza onesto presuppone un campionamento corretto: senza quello, l’intervallo è preciso e privo di significato.
- stima-puntuale (in preparazione) — discute quando uno stimatore è non distorto; il campionamento probabilistico è la condizione pratica che rende quella proprietà raggiungibile.
- correlazione-causalita (in preparazione) — il selection bias è una delle vie principali per cui nei dati compaiono correlazioni spurie; capitolo naturale per la versione causale del bias di selezione.
- statistica-e-ml (in preparazione) — sviluppa l’idea che il dataset di training è un campione e che ignorare questo fatto è una radice sistematica dell’overclaim sui sistemi AI.
- bootstrap (in preparazione) — il bootstrap ricampiona dal campione che hai per stimare l’incertezza; presuppone che il campione di partenza sia non distorto, e quindi eredita ogni problema discusso qui. È il rovescio della medaglia: se il campionamento originario è sano, il bootstrap è uno strumento potente; se è distorto, ricampiona fedelmente la distorsione.
- calibrazione-statistica (in preparazione) — un modello calibrato su un campione distorto resta scalibrato sulla popolazione vera; la calibrazione, come l’inferenza, presuppone un campione rappresentativo.
Per andare oltre
Sezione intitolata “Per andare oltre”Cinque letture, dalle fonti storiche primarie ai testi tecnici, per chi vuole scavare oltre il capitolo:
- Wald, Abraham, A Method of Estimating Plane Vulnerability Based on Damage of Survivors (Statistical Research Group, Columbia University, 1943; ristampa Center for Naval Analyses, 1980). Il memorandum originale sul bias del sopravvissuto: tecnico, ma sorprendentemente leggibile nella parte di impostazione del problema.
- Squire, Peverill, “Why the 1936 Literary Digest Poll Failed”, Public Opinion Quarterly, vol. 52, n. 1, 1988. Analisi accademica che scompone con i dati d’epoca il contributo del frame distorto e quello del non-response bias.
- Quiñonero-Candela, J., Sugiyama, M., Schwaighofer, A., Lawrence, N. (a cura di), Dataset Shift in Machine Learning, MIT Press, 2009. Il volume di riferimento sul distribution shift: definizione formale della divergenza tra distribuzione di training e di test e delle sue sorgenti.
- Huyen, Chip, “Data Distribution Shifts and Monitoring” (huyenchip.com, 2022). Trattazione pratica e aggiornata di covariate shift, label shift, concept drift e train-serving skew, scritta dal punto di vista di chi mette modelli in produzione.
- Foundations of Computer Vision (MIT Press), capitolo “Data Bias and Shift” (visionbook.mit.edu). Buona panoramica didattica del legame tra bias di campionamento dei dataset e fallimenti dei modelli, con esempi visivi.
- Lohr, Sharon, Sampling: Design and Analysis (CRC Press, terza edizione 2021). Manuale di riferimento sul disegno campionario: tratta in dettaglio campionamento stratificato, a cluster e a più stadi, con la matematica della varianza per ciascun disegno.