Skip to content

Potenza statistica e dimensione del campione negli studi di annotazione

Quanti elementi servono perché un risultato significhi qualcosa, perché è una domanda diversa da quanti annotatori per elemento, e come evitare studi di annotazione e valutazione sottodimensionati e sovrainterpretati.

«Quanti annotatori?» e «quanti elementi?» sono due domande diverse che vengono confuse di continuo. La sovrapposizione tra annotatori determina quanto è affidabile l'etichetta di ciascun elemento; il numero di elementi determina se una differenza che osservi è reale o è rumore. Uno studio può avere cinque annotatori per elemento ed essere comunque troppo piccolo per sostenere la sua conclusione. Questa guida riguarda il secondo asse, la potenza statistica, e come impedire a uno studio di annotazione o di valutazione di dire più di quanto i dati permettano.

Due budget, non uno

Ogni progetto di annotazione spende lavoro lungo due assi indipendenti, e conviene chiamarli con nomi distinti:

  • Sovrapposizione (annotatori per elemento): ti compra l'affidabilità dell'etichetta, cioè la fiducia che l'etichetta di un singolo elemento sia giusta. È l'argomento di Quanti annotatori servono?.
  • Dimensione del campione (numero di elementi): ti compra la potenza statistica, cioè la capacità di rilevare una differenza reale tra condizioni, modelli o gruppi.

I due assi si contendono un budget fisso ma risolvono problemi diversi. Dieci annotatori che etichettano 50 elementi ti danno etichette molto affidabili su un campione troppo piccolo per confrontare qualsiasi cosa. Un annotatore che ne etichetta 5.000 ti dà etichette rumorose, ma abbastanza numerose da rilevare un effetto reale. Quale dei due errori stai per commettere dipende da quale domanda ti stai davvero ponendo.

Cos'è la potenza statistica

La potenza statistica è la probabilità che il tuo studio rilevi un effetto realmente presente. Potenza bassa significa che, anche quando il modello A è davvero migliore del modello B, il tuo esperimento spesso non riesce a mostrarlo e, cosa meno ovvia, che i risultati «significativi» che ottieni hanno più probabilità di essere colpi di fortuna con effetti sovrastimati. La convenzione è puntare all'80% di potenza, il che richiede di decidere in anticipo il più piccolo effetto che vale la pena rilevare e di dimensionare lo studio per coglierlo.

Il dato scomodo è quanto spesso questo passo venga saltato. Card et al. (2020) hanno svolto analisi di potenza sui setup più comuni nell'NLP e hanno trovato che molti confronti pubblicati sono gravemente sottodimensionati: per rilevare in modo attendibile le piccole differenze che gli articoli tipicamente rivendicano, soprattutto nella valutazione umana, servono spesso da centinaia a migliaia di elementi, molti più di quanti gli studi ne usino davvero. La loro indicazione pratica è di fare il calcolo di potenza prima di raccogliere i dati, invece di ricostruire la significatività a posteriori.

Impostare correttamente il test di significatività

Avere abbastanza elementi è necessario ma non sufficiente; devi anche testare nel modo giusto. Dror et al. (2018) è il riferimento standard su questo, e i suoi consigli sono concreti:

  • Scegli il test in base ai dati. Le metriche dell'NLP di solito non sono distribuite normalmente, quindi appoggiati a opzioni non parametriche, bootstrap e test di permutazione, invece di dare per scontato che valga un t-test.
  • Correggi per i confronti multipli. Testare molti modelli, metriche o sottogruppi gonfia i falsi positivi; applica una correzione (Bonferroni, o meglio Benjamini-Hochberg) quando esegui molti test.
  • Riporta la dimensione dell'effetto e un intervallo di confidenza, non solo un p-value. Con abbastanza elementi, una differenza può essere statisticamente significativa e priva di rilievo pratico. La dimensione dell'effetto e l'intervallo dicono al lettore se debba interessarsene.

Una ricetta praticabile

  1. Dichiara la differenza minima che avrebbe importanza (diciamo, 2 punti di differenza nel win rate).
  2. Esegui un'analisi di potenza per quell'effetto all'80% di potenza, così da ottenere un numero di elementi da raggiungere.
  3. Decidi la sovrapposizione a parte, in base a quanto sono soggettive le etichette (vedi la guida sul numero di annotatori).
  4. Dopo la raccolta, usa un bootstrap o un test di permutazione, correggi per il numero di confronti e riporta le dimensioni degli effetti con i loro intervalli.

L'ordine conta: dimensionare lo studio dopo aver visto i dati è il modo in cui i risultati sottodimensionati vengono spacciati per scoperte.

Farlo in Potato

La potenza è una decisione di progetto, non una chiave di configurazione, ma il compito di Potato è darti dati puliti su cui fare l'analisi. Imposta la sovrapposizione per l'affidabilità e il numero di istanze per la dimensione del campione nell'assegnazione dei task:

yaml
automatic_assignment:
  on: true
  instance_per_annotator: 400    # sample size: items each annotator sees
  labels_per_instance: 3         # overlap: reliability per item

Le due manopole sono indipendenti apposta. L'export conserva l'etichetta individuale di ogni annotatore con il suo ID e il timestamp, ed è ciò che ti permette di fare ricampionamento bootstrap, per elemento e per annotatore, quando calcoli la significatività offline. Tenere le etichette per annotatore invece del solo aggregato è quello che rende possibile un'analisi consapevole della potenza; se collassi troppo presto su un'unica etichetta gold perdi la varianza di cui il bootstrap ha bisogno.

Approfondimenti