Salta ai contenuti

Popolazione, campione, stimatore: la logica dell'incertezza

Ogni numero che misuri su un sistema AI viene da una parte della realtà, non dal tutto. La statistica è la disciplina che dice quanto fidarti di quel numero.

Esegui un eval. Il modello segna 91.3% di accuratezza. Cosa hai imparato?

La risposta intuitiva è “il modello è accurato al 91.3%”. La risposta corretta è più scomoda: hai imparato che su quel particolare insieme di esempi il modello ha risposto correttamente nel 91.3% dei casi. Cambia l’insieme di esempi — un altro test set, estratto dalla stessa fonte — e il numero diventa 89.8%, o 92.5%. Il modello non è cambiato. È cambiato ciò su cui lo hai misurato.

Questa è la differenza tra un numero che descrive i dati che hai e un numero che afferma una verità sul mondo. Lo sviluppatore che viene dalla programmazione deterministica ha un istinto pericoloso: 2 + 2 fa 4, sempre, e un valore restituito da una funzione è quel valore. La statistica funziona in un altro regime. “L’accuratezza è 91.3%” non è un fatto: è una stima, calcolata su un campione, con un margine di errore che — se non lo dichiari — non sparisce, semplicemente resta nascosto.

Il problema che la statistica risolve è vecchio quanto la scienza empirica: come si fanno affermazioni giustificate su un tutto che non possiamo osservare, partendo da una parte che possiamo osservare? Questo è il problema dell’inferenza. È il cuore di ogni benchmark, ogni A/B test, ogni report di metriche di produzione. Un capitolo di statistica non è un dovere accademico per chi costruisce sistemi AI: è lo strumento che separa “il mio modello funziona” da “il mio modello ha funzionato su questo campione, e so stimare con quanta incertezza funzionerà in generale”. Senza quella seconda frase, un benchmark è solo un aneddoto numerico.

C’è anche una ragione di igiene professionale. La maggior parte degli errori statistici che si vedono nei report di sistemi AI non sono errori di calcolo — le librerie calcolano bene — ma errori di interpretazione: presentare una descrizione come una verità, confrontare due numeri rumorosi come se fossero esatti, scambiare la dimensione di un campione per la sua qualità. Sono errori concettuali, e si curano con concetti, non con formule. Questo capitolo si occupa esattamente di quei concetti.

Questo capitolo, di conseguenza, non contiene quasi formule. Costruisce la mappa concettuale — popolazione, campione, parametro, statistica, stimatore, incertezza — che rende sensate tutte le formule dei capitoli successivi della Parte. Se la mappa è chiara, intervalli di confidenza e p-value diventano dettagli tecnici. Se la mappa è confusa, nessuna formula salva il ragionamento.

La statistica inferenziale, nella forma che usiamo oggi, ha poco più di un secolo. Non è sempre esistita: per la maggior parte della storia, “raccogliere dati” e “trarne conclusioni quantificate sull’incertezza” erano attività separate. Si contavano nascite, raccolti, soldati — la parola “statistica” deriva da stato, l’arte di contare le cose dello Stato — ma il salto dal conteggio alla quantificazione dell’incertezza del conteggio è recente. Tre nuclei storici hanno costruito il ponte, ciascuno spinto da un problema pratico concreto.

Il primo è la probabilità inversa. Thomas Bayes (1701 circa-1761), ministro presbiteriano e matematico inglese, scrive negli anni 1740 un saggio su un problema curioso: dato un esito osservato, qual è la probabilità della causa che lo ha prodotto? La probabilità “diretta” va dalle cause agli effetti — data una moneta equa, qual è la probabilità di cinque teste; quella “inversa” va nel verso opposto — viste cinque teste, quanto è plausibile che la moneta sia equa. È il verso che serve a chi parte dai dati. Il saggio di Bayes — An Essay towards solving a Problem in the Doctrine of Chances — non viene pubblicato in vita; lo dà alle stampe postumo, nel 1763, l’amico Richard Price. Inizialmente non attira quasi nessuna attenzione. Pierre-Simon Laplace (1749-1827), matematico e astronomo francese, riscopre la regola in modo indipendente nel 1774 e la sviluppa ben oltre, applicandola a problemi reali — dalla demografia all’astronomia. Per più di un secolo, ragionare dai dati alle cause significa fare “probabilità inversa”. Questo è il filone che oggi chiamiamo bayesiano: in questo capitolo lavoriamo nell’impianto frequentista, ma vale ricordare che la radice storica dell’inferenza è proprio qui, e che il punto di vista bayesiano ha il suo capitolo nella Parte (map-bayesiano, in preparazione).

Il secondo nucleo è il lavoro di Ronald Fisher (1890-1962), statistico e genetista britannico. Nel 1922 pubblica On the Mathematical Foundations of Theoretical Statistics (negli Atti della Royal Society), un paper lungo e denso che rifonda la disciplina. È qui che nascono molte delle parole di questo capitolo: la nozione di popolazione come oggetto astratto, le proprietà che rendono buono uno stimatore. Il problema che lo occupava era agronomico — Fisher lavorava alla stazione sperimentale di Rothamsted, dove si trattava di capire se un fertilizzante funzionasse davvero o se la differenza di resa tra due appezzamenti fosse solo capriccio del terreno. È un problema di inferenza identico, nella struttura, al confronto tra due modelli su un benchmark.

Fisher era stato ispirato dal lavoro di William Sealy Gosset, un chimico della birreria Guinness che, firmandosi “Student” per ragioni di riservatezza aziendale, nel 1908 aveva studiato come si comportano le statistiche calcolate su campioni piccoli. Anche qui il movente era pratico: in birreria non si possono fare migliaia di prove, e Gosset aveva bisogno di trarre conclusioni da una manciata di misure. La domanda “quanto mi posso fidare di una media calcolata su pochi dati” non è nata in accademia: è nata in una fabbrica di birra.

Il terzo nucleo è la teoria del test di ipotesi di Jerzy Neyman (1894-1981), matematico polacco, ed Egon Pearson (1895-1980), statistico britannico, figlio di quel Karl Pearson che aveva fondato la statistica matematica della generazione precedente. In due paper congiunti (1928 e, soprattutto, 1933) Neyman e Pearson costruiscono l’idea di test come regola di decisione sotto incertezza: non “questa ipotesi è vera” ma “data questa evidenza, quale azione conviene scegliere, e con quale frequenza di errore sul lungo periodo”. Da qui nascono due nozioni che useremo: l’errore di tipo I (rifiutare un’ipotesi vera, un falso positivo) e l’errore di tipo II (non rifiutare un’ipotesi falsa, un falso negativo), bilanciati dalla potenza del test. Nel 1937 Neyman introduce gli intervalli di confidenza, lo strumento per esprimere una stima con il suo margine — il ”± 2%” che incontreremo più avanti.

Questi tre nuclei non sono d’accordo tra loro su tutto — il dibattito tra l’impianto di Fisher e quello di Neyman-Pearson è reale e non si è mai del tutto chiuso. Fisher vedeva il test di significatività come uno strumento per pesare l’evidenza a sfavore di un’ipotesi; Neyman e Pearson lo vedevano come una regola di comportamento per decidere tra due azioni, controllando la frequenza degli errori sul lungo periodo. Sono due filosofie diverse dello stesso gesto. La pratica corrente — quella che i manuali chiamano null hypothesis significance testing — è un ibrido storico delle due, montato nei libri di testo a partire dagli anni 1940, e che nessuno dei protagonisti avrebbe sottoscritto per intero. Molte delle confusioni sui p-value che incontrerai nel capitolo test-ipotesi (in preparazione) hanno qui la loro radice.

Ma, al di là dei disaccordi, i tre nuclei condividono la mossa di fondo che ci interessa: trattare il dato osservato come una parte di qualcosa di più grande, e rendere matematizzabile la distanza tra la parte e il tutto. Prima di loro, “ho misurato X” e “X è il valore vero” erano quasi la stessa frase. Dopo di loro, sono frasi diverse, e la seconda richiede una giustificazione. Questo spostamento è ciò che separa la raccolta di dati dalla statistica. I capitoli successivi della Parte V svolgono i dettagli; questo capitolo fissa il vocabolario e la logica comune a tutti.

Prima del vocabolario formale, tre modi diversi di vedere la stessa idea.

Hai una pentola di minestra e vuoi sapere se è salata al punto giusto. Non la bevi tutta. Mescoli bene, prendi un cucchiaio, lo assaggi, decidi.

Questo gesto quotidiano è inferenza statistica completa. La pentola è il tutto che vuoi giudicare. Il cucchiaio è la parte che osservi davvero. Il giudizio “è salata” è il salto da uno all’altra. E funziona — il cucchiaio dice la verità sulla pentola — per una ragione precisa: hai mescolato. Il mescolare garantisce che il cucchiaio sia rappresentativo, che non provenga da un angolo dove il sale si è depositato.

Due cose vanno notate. La prima: non ti serve un cucchiaio grande quanto la pentola. Un cucchiaio basta, perché dopo aver mescolato ogni cucchiaiata è equivalente. La seconda, più sottile: se non mescoli, l’assaggio inganna, e nessun cucchiaio più grande ti salva. La rappresentatività del campione conta più della sua dimensione. Tieni a mente questo: tornerà come uno dei modi tipici in cui l’inferenza si rompe.

C’è un terzo dettaglio, ancora più sottile, che la metafora cattura quasi senza farsi notare. Anche dopo aver mescolato bene, due cucchiai consecutivi non avranno esattamente la stessa salinità: uno avrà pescato un frammento di dado in più, l’altro un filo d’acqua in più. La differenza è piccola — perché hai mescolato — ma non è zero. Quella piccola differenza residua è la variabilità campionaria. Non sparisce mai del tutto, nemmeno con il metodo perfetto. Sparisce solo se bevi l’intera pentola, cioè se osservi l’intera popolazione. La statistica inferenziale è la disciplina che impara a convivere con quella differenza residua, misurandola invece di fingere che non ci sia.

Secondo angolo: il numero come funzione non deterministica

Sezione intitolata “Secondo angolo: il numero come funzione non deterministica”

Per chi pensa in codice, ecco lo stesso concetto in un’altra forma.

Immagina che misurare l’accuratezza di un modello sia chiamare una funzione misura_accuratezza(). Il punto è che questa funzione non è deterministica: dipende da quale test set le passi, e il test set è esso stesso estratto a caso da una fonte di dati. Chiamala una volta, ottieni 0.913. Chiamala di nuovo con un altro test set della stessa fonte, ottieni 0.898.

Da ingegnere, la domanda giusta non è “qual è il valore restituito”. È mal posta: la funzione non ha un valore. La domanda giusta è: “qual è la distribuzione dei valori che questa funzione restituisce, e quanto è stretta?”. Una funzione che restituisce sempre qualcosa tra 0.910 e 0.916 è affidabile. Una che oscilla tra 0.84 e 0.97 ti sta dicendo che non sai quasi niente. L’inferenza statistica è, in questa luce, il profiling di quel numero: misurarne non il valore ma la variabilità.

Il tutto che vuoi conoscere è un territorio. Non puoi camminarlo per intero. Mandi una squadra a fare un rilievo: il rilievo è il campione. Dal rilievo disegni una mappa: la mappa è la statistica, il numero che produci.

La mappa non è il territorio — questo lo sanno tutti. Il contributo della statistica è più fine: se il rilievo è stato fatto con metodo (squadra mandata a caso, non solo dove la strada era comoda), puoi dichiarare di quanto la mappa può sbagliare. Non elimini l’errore. Lo misuri, e lo scrivi sulla mappa. Una mappa onesta ha un margine stampato sopra. Un benchmark onesto, allo stesso modo, ha un margine di errore accanto al numero.

Questo angolo aggiunge qualcosa che i primi due lasciavano implicito: la qualità dell’inferenza dipende da come hai mandato la squadra, non solo da quanto terreno ha coperto. Una squadra che rileva solo le valli, perché salire sulle creste era faticoso, produce una mappa precisa e sbagliata: avrai tante misure, tutte concordi, tutte di una porzione non rappresentativa del territorio. La concordia delle misure ti darà una falsa fiducia. È lo stesso difetto della minestra non mescolata, visto dall’alto. Tieni questo in mente: la dimensione del campione e la sua rappresentatività sono due cose distinte, e solo la seconda decide se l’inferenza ha senso.

Vale la pena fermarsi un istante sul fatto che abbiamo dato tre metafore per la stessa idea. Non è ridondanza. Ogni angolo illumina un aspetto diverso. La minestra mette a fuoco il campionamento casuale come condizione di validità. La funzione non deterministica mette a fuoco la variabilità della statistica come oggetto da misurare. La mappa mette a fuoco il fatto che l’errore, se il metodo è buono, è dichiarabile. Insieme dicono: c’è un tutto che non vedi, ne osservi una parte presa a caso, il numero che ne ricavi balla, e quel ballo si può quantificare. Se tieni in testa le tre immagini, il vocabolario formale che segue è solo la loro traduzione precisa.

Adesso il vocabolario. Sei termini, e l’unica formula del capitolo.

I sei termini — popolazione, campione, parametro, statistica, stimatore, incertezza campionaria — non sono definizioni da memorizzare a freddo. Sono i nodi di una sola figura: un tutto che non vedi (popolazione), una parte che vedi (campione), un numero che vorresti (parametro), un numero che hai (statistica), la regola che lo produce (stimatore), e il divario inevitabile tra il numero che hai e quello che vorresti (incertezza campionaria). Letti come pezzi di questa figura, si tengono a mente da soli. Li prendiamo uno per volta.

La popolazione è l’insieme completo di tutte le unità che ti interessano. Tutti i possibili input che il tuo modello potrebbe ricevere in produzione. Tutti gli utenti, presenti e futuri, della tua app. Tutte le possibili partite di un gioco.

Quasi sempre la popolazione è un oggetto idealizzato, non osservabile per intero. Fisher, nel 1922, la chiamò “ipotetica popolazione infinita”, e la scelta delle parole è precisa. La popolazione non è “tutte le email che esistono adesso su un disco”. È il processo astratto che genera email — incluse quelle che nessuno ha ancora scritto. Pensarla come un processo generativo, e non come un archivio finito, è una mossa concettuale che all’inizio sembra pedante e poi diventa indispensabile: è ciò che ti permette di parlare di “input futuri” senza averli ancora visti.

Per un sistema AI, la popolazione rilevante è la distribuzione dei dati su cui il modello girerà in produzione. Il test set è una parte di quella popolazione. E qui c’è un avvertimento da tenere in caldo: se la distribuzione di produzione cambia nel tempo — il fenomeno del distribution shift, il cambiamento della distribuzione dei dati tra addestramento e uso reale — allora il vecchio campione smette di rappresentare la popolazione che conta.

Il campione è il sottoinsieme finito di unità che osservi davvero. È ciò che hai in mano: il test set, i 1000 utenti dell’A/B test, le 500 risposte annotate da un valutatore. La sua dimensione si indica con nn.

La qualità di un campione non è la sua dimensione assoluta. È la sua rappresentatività: quanto fedelmente la sua composizione rispecchia quella della popolazione. Un campione di un milione di esempi raccolti tutti da un’unica fonte distorta è peggio, per fare inferenza, di un campione di mille esempi estratti correttamente a caso. Questo è il tema centrale del capitolo campionamento (in preparazione); qui basta fissare il principio, perché è l’errore numero uno: confondere “tanti dati” con “buoni dati”.

Questa coppia è la fonte di confusione più persistente di tutta la materia. Vale la pena rallentare.

Il parametro è una quantità numerica della popolazione. L’accuratezza vera del modello sull’intera distribuzione di produzione. Il tasso di conversione vero di tutti gli utenti. In ottica frequentista — quella di Fisher e di Neyman-Pearson — il parametro è un numero fisso e ignoto. Esiste, ha un valore preciso, ma non lo conosciamo, perché non possiamo osservare la popolazione. Per convenzione i parametri si scrivono con lettere greche: θ\theta (theta) per un parametro generico, μ\mu (mu) per una media, σ\sigma (sigma) per una deviazione standard, pp per una proporzione.

La statistica è una quantità numerica calcolata dal campione. L’accuratezza osservata sui 2000 esempi del test set. Il tasso di conversione misurato sui 1000 utenti del test. La statistica è nota — la calcoli tu, dai dati — ma è variabile: cambia se cambi campione. Per convenzione le statistiche si scrivono con lettere latine o con il “cappello”: xˉ\bar{x} (x-barra) per una media campionaria, p^\hat{p} (p-cappello) per una proporzione stimata, θ^\hat{\theta} per la stima di un parametro generico.

Riassunto operativo, da incidere nella memoria:

Il parametro è ciò che vuoi sapere. La statistica è ciò che hai. L’inferenza è il ponte tra le due.

L’accuratezza sul test set non è l’accuratezza del modello. È una sua stima. Sono due numeri diversi: uno lo conosci, l’altro no. Trattarli come se fossero lo stesso numero è la radice tecnica dell’overclaim.

Un test rapido per non sbagliare la coppia: chiediti se il numero cambia quando cambi campione. Se cambia, è una statistica. L’accuratezza misurata su un test set cambia se prendi un altro test set: statistica. L’accuratezza vera del modello sulla popolazione di produzione non cambia, qualunque test set tu peschi: parametro. La statistica è osservabile e instabile; il parametro è inosservabile e fisso. L’inferenza esiste proprio perché vorremmo il secondo e possiamo avere solo il primo.

Un secondo malinteso da disinnescare: il parametro è “fisso” solo nella lettura frequentista, quella adottata in questo capitolo e nella maggior parte della Parte V. La lettura bayesiana — la discendente diretta della probabilità inversa di Bayes e Laplace — tratta il parametro come incerto e gli assegna una distribuzione di probabilità. Non è una contraddizione: sono due grammatiche diverse per parlare di incertezza. Qui usiamo quella frequentista perché è quella in cui sono formulati benchmark, intervalli di confidenza e test di ipotesi che incontri ogni giorno. Il punto di vista bayesiano ha il suo capitolo (map-bayesiano, in preparazione).

Lo stimatore è la regola che trasforma un campione in un numero usato per indovinare il parametro. “Prendi la media dei valori del campione” è uno stimatore della media della popolazione. “Conta le risposte corrette e dividi per nn” è lo stimatore dell’accuratezza.

La stima è il numero concreto che esce quando applichi la regola a un campione specifico. Lo stimatore è la procedura; la stima è il risultato.

La distinzione sembra una pignoleria e invece è il perno di tutto. Prima di vedere i dati, lo stimatore è una variabile casuale: non sai quale numero produrrà, perché non sai ancora quale campione ti capiterà. Dopo aver visto i dati, la stima è un numero fisso. Quando un manuale dice “questo stimatore è non distorto” o “questo stimatore è consistente”, sta facendo un’affermazione sulla procedura — su come si comporta in media, su infiniti campioni possibili — non sul singolo numero che hai ottenuto oggi. Lo sviluppatore può pensarlo come la distinzione tra una funzione e il valore che ha restituito in una chiamata particolare.

Due proprietà degli stimatori meritano un nome già adesso, perché tornano in ogni capitolo della Parte. Uno stimatore è non distorto (unbiased) se, mediato su infiniti campioni possibili, restituisce esattamente il parametro vero: la sua distribuzione campionaria è centrata nel posto giusto. Uno stimatore è consistente se, man mano che il campione cresce, si avvicina sempre di più al parametro vero: la sua distribuzione campionaria si stringe attorno al bersaglio. Le due cose sono distinte. Uno stimatore può essere centrato ma molto disperso (non distorto, poco preciso su un singolo campione), oppure leggermente decentrato ma molto stretto. Fisher, nel 1922, mise proprio queste proprietà — consistenza, efficienza, sufficienza — al centro della sua rifondazione: sono i criteri con cui si giudica se uno stimatore è “buono”. Il dettaglio sta nel capitolo stima-puntuale (in preparazione); qui basta sapere che “buono stimatore” non è un giudizio vago ma una proprietà verificabile della procedura.

Arriviamo al concetto che dà il titolo alla Parte. L’incertezza campionaria — detta anche errore di campionamento, sampling error — è la differenza, inevitabile, tra la statistica e il parametro, dovuta al solo fatto che osservi una parte e non il tutto.

Tre cose da chiarire subito, perché il nome inganna.

Non è un errore di misura. Non è un bug nel tuo codice di valutazione. Anche con strumenti perfetti e codice senza difetti, campioni diversi danno statistiche diverse. L’incertezza campionaria è strutturale: è il prezzo intrinseco dell’osservare una parte.

Non è eliminabile finché non osservi l’intera popolazione — e l’intera popolazione, l’abbiamo detto, di solito non è osservabile nemmeno in linea di principio.

Ma — ed è il punto che rende la statistica una disciplina e non una resa — l’incertezza campionaria è quantificabile. Possiamo dire quanto è grande. La sua dimensione tipica, per molte statistiche comuni, decresce con la radice quadrata della dimensione del campione:

incertezza    1n\text{incertezza} \;\propto\; \frac{1}{\sqrt{n}}

In parole povere, questo dice che per dimezzare l’incertezza non basta raddoppiare il campione: devi quadruplicarlo. È il rendimento decrescente dei dati. I primi cento esempi del tuo test set comprano molta certezza; passare da diecimila a ventimila ne compra molta meno. La derivazione di questa relazione e la sua giustificazione precisa stanno nel capitolo legge-grandi-numeri-clt (in preparazione); qui ti basta l’ordine di grandezza, perché spiega da solo una scelta di ingegneria quotidiana: quanto grande deve essere un eval set.

Vale la pena fermarsi sul perché compare proprio la radice quadrata e non, diciamo, 1/n1/n. L’intuizione è questa: quando sommi nn osservazioni indipendenti, gli errori dei singoli termini in parte si cancellano tra loro — alcuni tirano in alto, altri in basso. Non si cancellano del tutto, perché la cancellazione è casuale e imperfetta; ma si cancellano abbastanza che la somma degli errori cresce come n\sqrt{n}, non come nn. Dividendo la somma per nn per ottenere la media, l’errore residuo finisce per scalare come n/n=1/n\sqrt{n}/n = 1/\sqrt{n}. Il messaggio operativo: i dati aiutano, ma il loro aiuto si appiattisce. Esiste un punto oltre il quale aggiungere esempi a un test set è uno spreco di budget di annotazione, e quel punto si può calcolare invece di indovinarlo. Lo vedremo all’opera nell’Esempio 3.

Con il vocabolario in mano, possiamo separare due attività che vengono spesso confuse, e la cui confusione è essa stessa una fonte di errore.

La statistica descrittiva riassume i dati che hai. Media, mediana, deviazione standard, istogramma, quantili, minimo e massimo. Qui non c’è incertezza. Se dico “la media di questi 500 numeri è 7.3”, è un fatto aritmetico esatto, verificabile, definitivo. La descrittiva non esce mai dai dati osservati: descrive il campione e si ferma lì.

La statistica inferenziale usa il campione per dire qualcosa sulla popolazione che non hai osservato. “La media di questi 500 numeri è 7.3, quindi la media dell’intera popolazione è plausibilmente tra 7.0 e 7.6”: questo è un salto, dal campione al tutto, e il salto introduce incertezza. Stima puntuale, intervalli di confidenza, test di ipotesi — tutti gli strumenti dei capitoli successivi della Parte — sono inferenziali.

La differenza, per chi costruisce sistemi AI, è operativa e precisa:

  • Calcolare l’accuratezza sul test set è descrizione. È esatta. Il modello ha risposto correttamente in 1826 casi su 2000: 91.3%, punto.
  • Affermare che il modello sarà accurato in produzione è inferenza. È incerta. La popolazione di produzione non è il test set.

Confondere le due porta diritti all’overclaim. Si prende una descrizione del campione — l’accuratezza esatta sul test set — e la si presenta come se fosse una verità sulla popolazione — la qualità del modello nel mondo. Il numero è giusto come descrizione e ingannevole come inferenza, perché gli manca la dichiarazione dell’incertezza.

Tutta l’inferenza statistica frequentista segue lo stesso schema. Vale la pena enunciarlo esplicitamente, perché ogni tecnica della Parte V è una variazione su questo tema.

  1. Esiste una popolazione con un parametro ignoto θ\theta (l’accuratezza vera, il tasso di conversione vero).
  2. Da essa estrai un campione casuale di dimensione nn (il test set, il gruppo dell’A/B test).
  3. Dal campione calcoli una statistica θ^\hat{\theta} (l’accuratezza osservata).
  4. θ^\hat{\theta} non è uguale a θ\theta — c’è incertezza campionaria — ma, se il campionamento è fatto bene, le è “vicino” in un senso probabilistico preciso.
  5. Conoscendo come θ^\hat{\theta} varia da campione a campione, puoi quantificare quanto è plausibile che θ^\hat{\theta} sia lontano da θ\theta.

Il passaggio 5 è il cuore di tutto. Non eliminiamo l’incertezza: la misuriamo. È esattamente la differenza tra queste due frasi in un report:

  • “Il modello è al 91.3%.” — afferma una verità che non possiedi.
  • “Il modello è al 91.3%, con un intervallo al 95% di confidenza tra 90.1% e 92.5%.” — afferma una stima e ne dichiara l’imprecisione.

La seconda frase è onesta. La prima nasconde quello che non sai dietro un numero che sembra esatto.

Resta una domanda: perché il passaggio 5 è possibile? Cosa rende l’incertezza quantificabile e non solo lamentabile? La risposta sta in una parola del passaggio 2: casuale. È il campionamento casuale che dà all’incertezza una struttura probabilistica nota, e quindi calcolabile. Se il campione è raccolto in modo arbitrario — gli esempi che capitavano comodi, gli utenti che hanno risposto per primi — l’incertezza esiste ancora, ma non sappiamo più quantificarla. Le formule continuano a girare e a produrre numeri, ma quei numeri non significano più niente. È il pericolo del sampling bias, e il capitolo campionamento (in preparazione) lo affronta a fondo.

Una volta accettato che ogni stima ha un’incertezza, serve un modo di scriverla e di leggerla. La forma più comune è l’intervallo: invece di “91.3%”, si scrive “91.3%, con un intervallo al 95% di confidenza tra 90.1% e 92.5%”, oppure, in forma compatta, “91.3% ± 1.2%”.

Il significato preciso di quel “95%” è sottile e va anticipato con cura, perché è uno dei punti più fraintesi della statistica. Non significa “c’è il 95% di probabilità che il parametro vero stia nell’intervallo” — il parametro, nell’ottica frequentista, è fisso, non ha una probabilità di stare da nessuna parte. Significa qualcosa sulla procedura: se ripetessi il campionamento e il calcolo dell’intervallo molte volte, il 95% degli intervalli così costruiti conterrebbe il parametro vero. È una garanzia sul metodo di costruzione, non sul singolo intervallo che hai in mano. La differenza sembra capziosa e non lo è: ha conseguenze concrete su cosa puoi e non puoi dire. Il capitolo intervalli-confidenza (in preparazione) la sviscera.

Per ora, la lettura operativa basta: un numero senza intervallo è una stima che nasconde la sua imprecisione; un numero con intervallo dichiara quanto largo è il margine. Quando l’intervallo è stretto, la stima è informativa. Quando è largo, il numero centrale conta poco — stai guardando rumore travestito da misura. Imparare a chiedere “e l’intervallo?” davanti a ogni metrica è metà del valore pratico di questa Parte.

Questo è il capitolo di apertura di una Parte intera. Vale la pena vedere, dall’alto, come gli altri capitoli si agganciano allo schema in cinque passi appena descritto. Ogni capitolo della Parte è uno strumento per un pezzo del problema dell’inferenza.

Il passo 2 — estrai un campione casuale — è il tema del capitolo campionamento: come si ottiene un campione davvero rappresentativo e cosa succede quando non lo è. È il presupposto su cui tutto il resto poggia, e il punto in cui l’inferenza si rompe più spesso.

Il passo 3 — calcola una statistica — presuppone di sapere descrivere matematicamente i dati e le statistiche. Il capitolo distribuzioni-comuni fornisce il catalogo delle forme ricorrenti — Bernoulli, binomiale, normale, Poisson, esponenziale — con cui si modellano sia i dati sia gli stimatori.

Il passo 4 — la statistica è vicina al parametro — è giustificato dai due teoremi del capitolo legge-grandi-numeri-clt: la legge dei grandi numeri dice che la media campionaria converge al valore vero, il teorema del limite centrale dice che la distribuzione campionaria tende a una campana. Il capitolo stima-puntuale rende precise le parole “buono stimatore”: bias, varianza, consistenza.

Il passo 5 — quantifica l’incertezza — si dirama in tre strumenti. Gli intervalli di confidenza (capitolo intervalli-confidenza) traducono l’incertezza in un intervallo attorno alla stima. I test di ipotesi (capitolo test-ipotesi) la traducono in una decisione tra due alternative, con p-value, potenza, errori di tipo I e II. Il bootstrap (capitolo bootstrap) stima la distribuzione campionaria per ricampionamento, senza formule chiuse.

Su questa base si innestano i capitoli che collegano la statistica al machine learning vero e proprio: maximum-likelihood e map-bayesiano sono due modi di fittare un modello visti come problemi statistici; correlazione-causalita e regressione-statistica trattano i modelli di relazione tra variabili; multiple-testing affronta il problema dei falsi positivi quando si fanno molti test insieme; calibrazione-statistica chiede se le probabilità che un modello dichiara sono affidabili. La Parte si chiude con statistica-e-ml, che tira le fila: perché un ciclo di machine learning che ignora la statistica produce, sistematicamente, overclaim.

Tutti questi capitoli, per quanto tecnici, sono variazioni sullo schema in cinque passi. Se questo capitolo ha fatto il suo lavoro, ognuno di essi è leggibile come “lo strumento per il passo N”.

Una nota sulla lettura: la Parte V è pensata come una sequenza, ma il grafo della wiki permette anche altri percorsi. Chi ha urgenza di interpretare un benchmark può saltare a intervalli-confidenza e test-ipotesi tenendo questo capitolo come riferimento di vocabolario. Chi viene dal machine learning e vuole capire il legame con il fitting dei modelli può puntare dritto a maximum-likelihood. In ogni caso, i sei termini e lo schema in cinque passi di questo capitolo restano la base comune: sono il prerequisito implicito di tutto ciò che segue.

Variabilità campionaria e distribuzione campionaria

Sezione intitolata “Variabilità campionaria e distribuzione campionaria”

Un ultimo concetto, e con questo la mappa è completa.

La variabilità campionaria è un fatto, non una teoria: lo puoi osservare con un esperimento. Estrai 100 esempi dalla tua fonte di dati e misuri 89% di accuratezza. Estrai altri 100 esempi dalla stessa fonte e misuri 93%. Il modello non è cambiato di un bit. È cambiato il campione. La statistica oscilla; il parametro, sotto, sta fermo.

Per dare un’idea concreta, ecco cinque estrazioni indipendenti da n=100n = 100 con accuratezza vera p=0.90p = 0.90, ciascuna con il numero di risposte corrette osservate:

CampioneCorrette su 100Statistica p^\hat{p}
1880.88
2930.93
3900.90
4870.87
5910.91

Cinque numeri diversi per lo stesso modello, sparsi su sei punti percentuali. Nessuno è “sbagliato”: ognuno è una statistica corretta, calcolata correttamente, su un campione corretto. È il campione a essere variato, e con esso la statistica. Il parametro vero — 0.90 — non compare in nessuna riga della tabella, perché non è osservabile: lo abbiamo scritto solo perché qui lo abbiamo deciso noi. Questo è precisamente lo scenario che l’inferenza deve domare: hai una di quelle righe, e devi dire qualcosa sul numero che non vedi.

Adesso fai un esperimento mentale. Ripeti l’estrazione non due volte, ma diecimila volte — diecimila campioni da 100 esempi ciascuno — e ogni volta annoti l’accuratezza ottenuta. Avrai diecimila numeri, sparsi attorno al valore vero. Disegnane l’istogramma. Quell’istogramma è un’approssimazione della distribuzione campionaria dello stimatore: la distribuzione di probabilità dei valori che la statistica può assumere quando il campione varia.

Attenzione a non confonderla con la distribuzione dei dati. La distribuzione dei dati descrive i singoli esempi (alcuni facili, alcuni difficili). La distribuzione campionaria descrive i valori di una statistica calcolata su interi campioni. Sono oggetti di due livelli diversi. La distribuzione campionaria è il concetto pivot di tutta l’inferenza: ogni intervallo di confidenza, ogni p-value, ogni calcolo di potenza è, in fondo, un modo di leggere la distribuzione campionaria.

Due fatti su questa distribuzione, anticipati qui e dimostrati altrove nella Parte.

Il primo: per nn grande, la distribuzione campionaria di molte statistiche comuni assume una forma a campana, approssimativamente normale, indipendentemente da come sono distribuiti i dati di partenza. I dati possono essere binari (corretto/sbagliato), asimmetrici, a più gobbe: la media o la proporzione calcolata su campioni abbastanza grandi tende comunque a una campana regolare. È il teorema del limite centrale, ed è uno dei risultati più sorprendenti della matematica applicata, perché è proprio l’indipendenza dalla forma dei dati a renderlo utile: ti permette di ragionare sull’incertezza di una stima senza dover prima studiare la distribuzione esatta dei dati. Il capitolo legge-grandi-numeri-clt (in preparazione) lo dimostra e ne segna i limiti.

Il secondo: la larghezza di questa campana — il suo standard error, cioè la deviazione standard della distribuzione campionaria — decresce come 1/n1/\sqrt{n}. Più dati restringono la campana, ma con il rendimento decrescente già discusso. È la stessa relazione vista prima per l’incertezza, e non è una coincidenza: lo standard error è la misura quantitativa dell’incertezza campionaria. Quando un report scrive ”± 1.2%”, quel numero è, di solito, derivato dallo standard error della distribuzione campionaria.

Mettendo insieme i due fatti: la distribuzione campionaria di una stima è, per nn grande, una campana centrata vicino al parametro vero e larga circa quanto lo standard error. Sapere questo significa sapere quanto la tua singola stima può ragionevolmente distare dalla verità. Se hai capito che la statistica che leggi è un’estrazione da una distribuzione campionaria di forma e larghezza note, hai capito la statistica inferenziale. Tutto il resto della Parte V sono strumenti per stimare e usare quella distribuzione a partire da un solo campione.

Quattro esempi eterogenei, per ancorare il vocabolario.

Hai un classificatore di sentiment e una fonte di 100000 recensioni etichettate. Non valuti su tutte: estrai a caso un test set di 1000.

  • Popolazione: il processo che genera recensioni — idealmente infinito, di cui le 100000 sono già un campione.
  • Campione: le 1000 recensioni del test set, n=1000n = 1000.
  • Parametro: pp, l’accuratezza vera del classificatore sulla popolazione. Ignoto.
  • Statistica: p^\hat{p}, l’accuratezza misurata sulle 1000. Diciamo 913 corrette su 1000, p^=0.913\hat{p} = 0.913.
  • Stimatore: la regola “numero di corrette diviso nn”.

Ora estrai un secondo test set di 1000 recensioni, sempre a caso dalla stessa fonte. Ottieni 898 corrette: p^=0.898\hat{p} = 0.898. Lo stimatore è lo stesso, il parametro è lo stesso, le due stime differiscono di 1.5 punti. Quella differenza è variabilità campionaria, pura e semplice. Se ripetessi l’estrazione mille volte e disegnassi l’istogramma dei mille valori di p^\hat{p}, vedresti la distribuzione campionaria: una campana centrata vicino al valore vero pp, larga circa p(1p)/n0.90.1/10000.0095\sqrt{p(1-p)/n} \approx \sqrt{0.9 \cdot 0.1 / 1000} \approx 0.0095, cioè poco meno di un punto percentuale di standard error. Questo spiega perché due test set danno numeri che differiscono di un punto o due: è esattamente l’ampiezza prevista.

Si noti il riuso dei termini, perché è il punto dell’esempio. Il parametro pp è “l’accuratezza vera”: ciò che vorremmo sapere e non sapremo mai con esattezza. La statistica p^\hat{p} è “l’accuratezza misurata”: ciò che abbiamo, due volte, con due valori diversi. Lo stimatore è la regola che li ha prodotti, identica nei due casi. E lo standard error di 0.0095 è la previsione, fatta in anticipo, di quanto le due misure possano discostarsi: la differenza osservata di 1.5 punti è dentro un paio di standard error, esattamente nei limiti del previsto. L’inferenza non è sorpresa da quella differenza — l’aveva messa in conto.

Esempio 2 — in codice: misurare la distribuzione campionaria

Sezione intitolata “Esempio 2 — in codice: misurare la distribuzione campionaria”

La distribuzione campionaria non è un’astrazione: la puoi vedere con una simulazione. Supponi di conoscere la verità (p=0.90p = 0.90) e di osservare cosa fa lo stimatore al variare del campione.

import random
p_vero = 0.90 # parametro: di solito ignoto, qui lo fissiamo
n = 1000 # dimensione del campione
n_repliche = 10000 # quanti campioni simuliamo
stime = []
for _ in range(n_repliche):
# un campione: n prove, ciascuna corretta con probabilita p_vero
corrette = sum(random.random() < p_vero for _ in range(n))
stime.append(corrette / n) # la statistica p-cappello
media_delle_stime = sum(stime) / len(stime)
# scarto tipico delle stime attorno alla loro media: lo standard error
import statistics
std_error = statistics.pstdev(stime)
print(media_delle_stime) # ~0.900: lo stimatore e' centrato sul vero
print(std_error) # ~0.0095: la larghezza della campana

La lista stime contiene 10000 valori di p^\hat{p}: è la distribuzione campionaria, campionata. La sua media è vicinissima a 0.90 — lo stimatore è centrato sul parametro vero, cioè non distorto. La sua deviazione standard, circa 0.0095, è lo standard error: la misura dell’incertezza. Raddoppia n a 2000 e rilancia: lo standard error scende a circa 0.0067, non alla metà. Il fattore è 1/20.711/\sqrt{2} \approx 0.71, non 1/21/2. La radice quadrata della relazione 1/n1/\sqrt{n} si vede a occhio.

C’è un dettaglio che vale oro. In questa simulazione conosciamo p_vero perché l’abbiamo fissato noi: è un esperimento controllato. Nella realtà p_vero è il parametro ignoto, e non possiamo girare il ciclo for perché abbiamo un solo campione, non diecimila. Tutta la statistica inferenziale dei capitoli successivi è, in fondo, l’arte di ricostruire la larghezza di quella campana — lo standard error — a partire da un singolo campione, senza poter ripetere l’estrazione. La simulazione qui sopra è la verità che l’inferenza cerca di indovinare dall’esterno.

Stai costruendo un eval set da zero e devi decidere quanti esempi annotare. Annotare costa: ogni esempio richiede tempo umano. Vuoi il numero più piccolo che ti dia una stima abbastanza stabile.

Lo strumento per decidere è la relazione standard errorp^(1p^)/n\text{standard error} \approx \sqrt{\hat{p}(1-\hat{p})/n} per una proporzione. Supponi che il modello sia attorno al 90% di accuratezza, quindi p^0.9\hat{p} \approx 0.9. Calcola lo standard error per alcune dimensioni:

  • n=100n = 100: standard error 0.09/100=0.030\approx \sqrt{0.09/100} = 0.030, cioè 3.0 punti percentuali.
  • n=400n = 400: standard error 0.09/400=0.015\approx \sqrt{0.09/400} = 0.015, cioè 1.5 punti.
  • n=1600n = 1600: standard error 0.09/1600=0.0075\approx \sqrt{0.09/1600} = 0.0075, cioè 0.75 punti.
  • n=6400n = 6400: standard error 0.09/6400=0.00375\approx \sqrt{0.09/6400} = 0.00375, cioè 0.38 punti.

Si vede a occhio il rendimento decrescente: ogni volta che quadruplichi il campione, l’incertezza si dimezza. Passare da 100 a 400 esempi taglia lo standard error da 3 punti a 1.5: un grande guadagno per un costo di annotazione quadruplicato. Passare da 1600 a 6400 lo taglia da 0.75 a 0.38: lo stesso fattore quattro di costo, ma stai limando frazioni di punto. La decisione di ingegneria diventa: quanto piccola deve essere l’incertezza perché il tuo confronto abbia senso? Se devi distinguere modelli che differiscono di 2-3 punti, 400 esempi bastano. Se devi distinguere modelli a mezzo punto di distanza, ne servono migliaia — e forse la domanda giusta è se quel mezzo punto conti davvero. La formula non decide per te, ma trasforma “quanti esempi” da intuizione a calcolo.

Esempio 4 — scenario reale: la classifica fragile

Sezione intitolata “Esempio 4 — scenario reale: la classifica fragile”

Il team prova due modelli sullo stesso benchmark. Il modello A segna 88.1%, il modello B segna 88.4%. Lo screenshot della classifica gira su Slack: “B vince, deployamo B”.

La logica di questo capitolo dice di fermarsi. Entrambi i numeri sono statistiche su un campione — il benchmark è un test set finito — e quindi entrambi hanno una distribuzione campionaria con il suo standard error. Se il benchmark ha 1000 esempi, lo standard error di ciascuna accuratezza è circa 0.880.12/10000.010\sqrt{0.88 \cdot 0.12 / 1000} \approx 0.010, cioè un punto percentuale. La differenza osservata tra A e B è 0.3 punti: ben dentro il rumore di una singola misura. Rigira il benchmark con un altro test set della stessa fonte e la classifica potrebbe invertirsi.

Questo non è un caso di scuola. La letteratura recente sui benchmark lottery documenta che i ranking dei modelli sono fragili rispetto alla scelta del test set, all’aggregazione delle metriche e al protocollo di valutazione: un altro modo di dire che molte differenze pubblicate sono dentro la variabilità campionaria. La decisione “B vince” non è sbagliata perché B sia peggiore: è sbagliata perché non è giustificata dai dati. Per giustificarla servirebbe un confronto che tiene conto dell’incertezza — un test di ipotesi, capitolo test-ipotesi (in preparazione). Senza quello, la classifica è un aneddoto con tre cifre decimali.

Perché tutto questo è il cuore della valutazione di un sistema AI

Sezione intitolata “Perché tutto questo è il cuore della valutazione di un sistema AI”

Si potrebbe leggere fin qui e pensare che la statistica sia un corollario gradevole ma non essenziale. È il contrario: per chi costruisce sistemi AI, è il terreno su cui poggia ogni affermazione di qualità. Tre tesi lo rendono concreto.

Prima tesi: ogni claim su un modello è un’affermazione inferenziale. “Accuratezza 91%”, “F1 0.84”, “il modello passa il 73% dei test”: ognuno di questi numeri è una statistica calcolata su un campione — il test set, l’eval set, il benchmark. La quantità che davvero interessa non è quella: è la prestazione sulla popolazione di produzione, un parametro ignoto. Il numero che pubblichi è una stima di quel parametro. Riportarlo da solo, senza incertezza, è statisticamente incompleto allo stesso modo in cui un risultato di laboratorio senza barra d’errore è incompleto. Non è un dettaglio di forma: è la differenza tra dire “ho misurato” e dire “questo è il valore vero”.

Seconda tesi: il confronto tra modelli è un test di ipotesi. “B è meglio di A, ha segnato 88.4 contro 88.1” tratta due stime rumorose come se fossero verità. La differenza di 0.3 punti può essere interamente variabilità campionaria, come nell’esempio della classifica fragile. Un confronto onesto richiede di chiedersi: questa differenza è più grande di quanto il rumore da solo produrrebbe? Rispondere è esattamente fare un test di ipotesi. La letteratura sui benchmark lottery documenta che i ranking dei modelli si riordinano se si cambia il test set, l’aggregazione delle metriche o il protocollo — segno che molte differenze pubblicate vivono dentro il rumore, e che la classifica, presa alla lettera, è più fragile di come appare.

Terza tesi: ML senza statistica produce overclaim, in modo sistematico e non occasionale. Lo studio BetterBench (Reuel et al., 2024) ha esaminato 24 benchmark di modelli linguistici: 14 su 24 non riportano valutazioni multiple dello stesso modello, né significatività statistica, né incertezza dei risultati. L’effetto aggregato non è qualche errore sparso: è una distorsione sistemica verso l’alto, perché si presenta sempre una descrizione del campione come se fosse una verità sulla popolazione, e la descrizione del campione su cui si è scelto di pubblicare tende a essere quella favorevole. La proposta della comunità — esplicita nel framework di robust inference of AI capabilities (arXiv 2025) — è di tornare all’inferenza statistica: riportare varianza e significatività per ogni claim, e definire con cura cosa una “capability” significhi prima di provare a misurarla.

C’è un’asimmetria che rende la cosa ancora più importante nel contesto AI rispetto, per esempio, a un esperimento di fisica. In un sistema AI i numeri si moltiplicano: ogni rilascio ha il suo eval, ogni feature il suo A/B test, ogni dashboard le sue metriche orarie. Quando produci e leggi tanti numeri, la probabilità che almeno uno di essi inganni — per variabilità, per selezione, per campionamento distorto — cresce, non resta costante. Una cultura statistica solida non è un lusso per il singolo report importante: è igiene di base per un flusso continuo di misure, ognuna delle quali, presa male, può orientare una decisione.

La conclusione operativa è semplice. Un eval, un benchmark, un A/B test, una metrica di monitoring non sono attività di misura nel senso deterministico del termine. Sono atti di inferenza. Trattarli come tali — con un campione casuale, una stima, una dichiarazione di incertezza — è ciò che separa una valutazione affidabile da un numero che fa una bella figura su una slide.

Dove incontri questo capitolo nel lavoro quotidiano con sistemi AI.

Dimensionare un eval set. La domanda “quanti esempi servono nel test set” è la domanda “quanto piccolo voglio lo standard error”. Poiché lo standard error scende come 1/n1/\sqrt{n}, c’è un punto di rendimento decrescente: passare da 200 a 2000 esempi restringe la campana di un fattore circa 3; passare da 2000 a 20000 di un altro fattore 3, ma a un costo di annotazione dieci volte maggiore. Conoscere la relazione ti dà il diritto di fermarti.

Leggere un benchmark pubblico. Quando un report dice “il nostro modello raggiunge l’X% su MMLU”, la lettura statisticamente alfabetizzata è: questa è una statistica su un campione finito di domande. La domanda successiva è “qual è lo standard error, e il confronto con gli altri modelli è oltre il rumore”. Se il report non lo dichiara — e lo studio BetterBench (Reuel et al., 2024) ha trovato che 14 benchmark di LLM su 24 non riportano valutazioni multiple né significatività né incertezza — il numero va trattato come una stima senza barra d’errore: utile, ma non conclusiva.

Interpretare un A/B test. I due gruppi dell’A/B test sono due campioni. Il tasso di conversione di ciascun gruppo è una statistica. La differenza tra i due è ciò che vuoi stimare, e ha la sua incertezza. “La variante B converte il 3.2% contro il 3.0% di A” non chiude la questione: la differenza di 0.2 punti va confrontata con la variabilità campionaria prima di chiamarla un effetto. È lo stesso ragionamento dell’esempio della classifica fragile, applicato al prodotto.

Monitorare un modello in produzione. La metrica di qualità calcolata sul traffico di ieri è una statistica su quel campione di traffico. Un calo da un giorno all’altro può essere un vero degrado — o variabilità campionaria, soprattutto se il volume di ieri era basso. Distinguere il segnale dal rumore, qui, è esattamente inferenza statistica, e fa la differenza tra un alert utile e un falso allarme.

Riportare un risultato a chi decide. Quando presenti una metrica a un product manager o in una pull request, hai una scelta di onestà: scrivere “91.3%” o scrivere “91.3% ± 1.2% su un test set di 2000 esempi estratti dai log di marzo”. La seconda forma costa una riga in più e cambia la conversazione: chi legge sa quanto fidarsi, e sa che un confronto futuro con un altro modello va fatto tenendo conto del margine. La prima forma invita all’overclaim — anche involontario, anche in buona fede. La cultura statistica di un team si vede da come scrive i numeri nei suoi documenti interni.

L’inferenza statistica è uno strumento potente ma con un dominio di validità preciso. Fuori da quel dominio, le formule continuano a produrre numeri, ma quei numeri ingannano. I modi tipici in cui si rompe.

Il campione non è casuale. È il fallimento più grave, perché è silenzioso. Tutta la macchina dell’inferenza poggia sul passaggio 2 dello schema: il campione è estratto a caso dalla popolazione. Se gli esempi del test set sono stati scelti perché comodi — i casi che il team ricordava, i log di un solo cliente, le domande di un solo dominio — l’incertezza esiste ancora, ma non è più quella che le formule calcolano. Lo standard error che ottieni è una misura della variabilità di un campionamento che non hai fatto. È peggio di non avere un numero: hai un numero che sembra rigoroso e non lo è. È l’assaggio della minestra senza aver mescolato.

La trappola è che il difetto non si vede nei numeri. Immagina una popolazione di richieste in cui il modello è accurato al 95% su quelle facili e al 75% su quelle difficili, in proporzione 50/50, per un vero 85%. Se il test set viene riempito pescando soprattutto dai log di un cliente che fa richieste facili, finirai con qualcosa come:

# campione distorto: 90 esempi facili, 10 difficili
# (la popolazione vera e' 50/50)
facili_corretti = 86 # ~95% di 90
difficili_corretti = 7 # ~75% di 10
accuratezza_stimata = (86 + 7) / 100 # = 0.93
# lo standard error calcolato dalla formula:
import math
p = accuratezza_stimata
se = math.sqrt(p * (1 - p) / 100) # ~0.026, "± 2.6 punti"

Il codice gira senza errori. Produce 0.93 ± 2.6 punti: un numero dall’aria rigorosa, con tanto di barra d’errore. Ma il valore vero è 85%, fuori dall’intervallo, e nessuna riga del calcolo lo segnala. Lo standard error misura la variabilità del campionamento distorto, non l’errore rispetto al parametro vero. La formula ha fatto il suo lavoro; il difetto stava a monte, nella scelta degli esempi. È per questo che il campionamento ha un capitolo dedicato: non è un dettaglio di contorno, è la fondazione.

La popolazione è cambiata: distribution shift. L’inferenza dal test set parla della popolazione da cui il test set è stato estratto. Se il modello viene poi usato su una popolazione diversa — utenti di un nuovo paese, un nuovo tipo di richiesta, un mondo cambiato di sei mesi — il campione era rappresentativo di una popolazione che non è più quella che conta. Il numero del benchmark resta valido come descrizione del passato e diventa muto sul presente. Nessuna formula segnala da sola questo problema: va sorvegliato con il monitoraggio.

Il campione non è indipendente. Le formule standard per lo standard error assumono che le unità del campione siano indipendenti l’una dall’altra. Se il test set contiene quattro parafrasi della stessa domanda, o cinquanta log dalla stessa sessione utente, hai meno informazione di quanta nn suggerisca. Il numero n=1000n = 1000 è gonfiato; lo standard error reale è più grande di quello calcolato; la tua sicurezza è falsa. Il data leakage tra training e test set è una versione estrema di questo: se il modello ha già visto gli esempi di test, la statistica non stima più niente.

Confondere descrittivo e inferenziale. Già visto, ma è l’errore più frequente e merita di stare anche qui. “Accuratezza 91.3%” come descrizione del test set è esatto. La stessa frase presentata come la qualità del modello nel mondo è inferenza, ed è incompleta senza la dichiarazione dell’incertezza. Lo scivolamento da una lettura all’altra avviene in silenzio, dentro la stessa frase, ed è la struttura tipica dell’overclaim.

Confondere la stima con il parametro. Detto altrimenti: trattare θ^\hat{\theta} come se fosse θ\theta. La stima è un numero che hai; il parametro è un numero che vuoi. Sono diversi. Ogni volta che una frase dice “il modello è all’X%” invece di “il modello stima all’X%, con questa incertezza”, lo scivolamento è in atto. La parola “è” è più pericolosa di quanto sembri.

Dimensione del campione scambiata per qualità. Un milione di esempi raccolti male non battono mille esempi raccolti bene. La dimensione nn governa la larghezza della distribuzione campionaria — l’incertezza casuale — ma non corregge la distorsione di un campionamento non rappresentativo. Un campione grande e distorto produce una stima precisa di un numero sbagliato: una campana stretta, centrata nel posto sbagliato. La precisione, qui, è una falsa rassicurazione.

Scegliere il campione dopo aver visto i risultati. Una variante insidiosa del campione non casuale: provare il modello su diversi test set e riportare quello dove ha fatto meglio. Ogni singola valutazione era magari corretta, ma la selezione di quale riportare introduce una distorsione che le formule non vedono. Se peschi dieci campioni e mostri il migliore, il numero che mostri non è una stima imparziale: è il massimo di dieci estrazioni, sistematicamente più alto del vero. È lo stesso meccanismo per cui, su molti test, qualcuno “passa” per puro caso. Il capitolo multiple-testing (in preparazione) lo affronta in pieno; qui basta il principio: la stima va decisa prima di vedere i dati, non scelta dopo.

L’incertezza campionaria non è l’unica incertezza. Anche dove l’inferenza funziona perfettamente, quantifica una sola fonte di errore: la variabilità dovuta al fatto che il campione è finito e casuale. Non cattura l’errore di etichettatura (annotatori umani che sbagliano), l’errore di specificazione (la metrica scelta non misura ciò che credi), l’errore di processo (un bug nella pipeline di valutazione). Un intervallo di confidenza stretto dice “se ripetessi il campionamento, otterrei numeri vicini” — non dice “il numero è giusto”. Lo standard error è un limite inferiore all’incertezza totale, non una sua misura completa. Trattarlo come tale è una forma sottile di overconfidence.

Il valore singolo senza ripetizione. Un errore di metodo, più che di interpretazione: valutare un modello una volta sola e riportare quel numero. Senza almeno qualche ripetizione — campioni diversi, seed diversi, eventualmente run diverse — non hai modo di stimare la variabilità, e quindi non sai se la differenza che osservi è segnale. Lo studio BetterBench citato sopra trova che la maggioranza dei benchmark di LLM esaminati cade esattamente qui: un numero, nessuna ripetizione, nessuna barra d’errore. La cura è banale da enunciare e spesso ignorata: misura più di una volta.

Il filo comune di tutti questi fallimenti: l’inferenza è valida quanto è valida l’assunzione che il campione rappresenti la popolazione, e quanto è completo l’inventario delle fonti di incertezza. La matematica della Parte V quantifica l’incertezza campionaria dato che il campionamento è casuale e rappresentativo. Verificare che lo sia non è matematica — è disegno della raccolta dati, ed è responsabilità di chi costruisce il sistema. La statistica è uno strumento affilato; come ogni strumento affilato, taglia bene solo se lo impugni dal verso giusto.

Se questo capitolo lascia una cosa sola, deve essere un’abitudine, non una formula. L’abitudine è leggere ogni numero che descrive un sistema AI come una stima, e chiedere immediatamente le due domande che la accompagnano: da quale campione viene, e quanto è larga la sua incertezza.

Lo sviluppatore arriva qui con un riflesso preso dalla programmazione deterministica: un numero è un numero, un valore restituito è quel valore. La statistica chiede di sospendere quel riflesso per una classe precisa di numeri — quelli misurati su un campione. “Accuratezza 91.3%” non appartiene alla stessa categoria di “il file è lungo 4096 byte”. Il secondo è un fatto; il primo è un’estrazione da una distribuzione campionaria, e cambia se ripeti l’estrazione.

Questo non rende i numeri inutili. Li rende onesti. Una stima con la sua incertezza dichiarata dice più di un numero nudo, non meno: dice quanto ti puoi spingere a concludere e dove devi fermarti. Il praticante che ha interiorizzato la differenza tra parametro e statistica, tra descrizione e inferenza, tra campione e popolazione, legge un benchmark in modo diverso da chi non l’ha fatto. Non più scettico — più calibrato. Sa quando 0.3 punti di differenza sono una decisione e quando sono rumore. Sa quando un test set di 200 esempi basta e quando ne servono migliaia. Sa che “il modello funziona” è una frase incompleta finché non diventa “il modello ha funzionato su questo campione, e stimo con questa incertezza che funzionerà in generale”.

Vale la pena dire anche cosa questo capitolo non chiede. Non chiede di diffidare di tutti i numeri, né di paralizzarsi davanti a ogni metrica in attesa di un intervallo di confidenza perfetto. Sarebbe un altro errore, di segno opposto: lo scetticismo indiscriminato è inutile quanto la fiducia cieca. La calibrazione sta nel mezzo. Un numero con il suo campione dichiarato e il suo margine stimato è una buona base per decidere — non una verità assoluta, ma molto meglio di un’opinione. La statistica non rende i numeri inattaccabili; li rende usabili con cognizione di causa.

I capitoli che seguono nella Parte V danno gli strumenti per rendere quantitativa la frase “stimo con questa incertezza che funzionerà in generale”. Ma lo strumento più importante è già qui: il sospetto sano, e ben riposto, verso ogni numero che si presenta senza dichiarare la propria incertezza.

  • Distribuzioni, valore atteso, varianza — il linguaggio probabilistico (variabile casuale, valore atteso, varianza) su cui poggia tutto questo capitolo. Lo stimatore, prima di vedere i dati, è una variabile casuale.
  • Teorema di Bayes e ragionamento bayesiano — la “probabilità inversa” di Bayes e Laplace citata nel Contesto; la prospettiva alternativa a quella frequentista usata in questo capitolo.
  • Bias e varianza: il trade-off che non muore mai — bias e varianza di uno stimatore sono le due proprietà che dicono se la sua distribuzione campionaria è centrata (bias) e stretta (varianza).
  • distribuzioni-comuni (in preparazione) — Bernoulli, binomiale, normale: le distribuzioni concrete che modellano sia i dati sia le statistiche di questo capitolo.
  • campionamento (in preparazione) — come ottenere un campione davvero casuale e rappresentativo; il presupposto su cui tutta l’inferenza poggia, e il punto in cui si rompe più spesso.
  • legge-grandi-numeri-clt (in preparazione) — perché la distribuzione campionaria tende a una campana e perché lo standard error scende come 1/n1/\sqrt{n}: la giustificazione formale di due fatti qui solo anticipati.
  • stima-puntuale (in preparazione) — bias, varianza, consistenza di uno stimatore in dettaglio: come si dice se uno stimatore è “buono”.
  • intervalli-confidenza (in preparazione) — come si costruisce e cosa significa davvero il ”± 2%” accanto a una stima.
  • test-ipotesi (in preparazione) — la macchina per decidere se la differenza tra due modelli è segnale o rumore: il seguito formale dell’esempio della classifica fragile.
  • statistica-e-ml (in preparazione) — la chiusura della Parte: perché un ciclo di ML che ignora la statistica produce sistematicamente overclaim.
  • Fisher, R. A. (1922), On the Mathematical Foundations of Theoretical Statistics, Philosophical Transactions of the Royal Society A 222: 309-368. Il paper che rifonda la disciplina e introduce la popolazione come oggetto astratto. Denso, ma storicamente illuminante leggerne l’apertura.
  • Freedman, D., Pisani, R., Purves, R. (2007), Statistics, 4ª ed., W. W. Norton. Il manuale introduttivo di riferimento per l’intuizione di campionamento e variabilità, con pochissimo formalismo e moltissimi esempi.
  • Wasserman, L. (2004), All of Statistics: A Concise Course in Statistical Inference, Springer. La trattazione moderna e compatta del vocabolario formale: modello parametrico, stimatore, bias, consistenza. Il complemento tecnico a questo capitolo.
  • Gelman, A., Hill, J., Vehtari, A. (2020), Regression and Other Stories, Cambridge University Press. Insiste sull’incertezza come parte integrante di ogni stima e sui meccanismi dell’overclaim. Capitoli iniziali pertinenti anche senza il resto.
  • Reuel, A. et al. (2024), BetterBench: Assessing AI Benchmarks, arXiv:2411.12990. Studio empirico sui benchmark di LLM e sulla loro diffusa mancanza di rigore inferenziale: la prova documentata della tesi “ML senza statistica produce overclaim”.