Matematica e crittologia
Il test del chi quadrato
Crittanalisi del Vigenere con il test chi quadrato - Frequenza di un testo

Il test del $\chi^2$ permette di confrontare una serie di dati osservati sperimentalmente con la serie dei dati attesi in base a un'ipotesi teorica e di stimare la bontà di questa ipotesi; rientra quindi nella famiglia dei cosiddetti test delle ipotesi.

Il metodo consiste nel calcolare per tutti i dati, la differenza tra il dato atteso (ei) e quello osservato (oi), elevarla al quadrato e dividere per il dato atteso, e quindi sommare tutti questi valori; la formula è:

$$ \chi^2 = \Sigma \frac{\left( e_i - o_i \right)^2}{e_i} $$

Questo valore, che prende appunto il nome di $\chi^2$, misura la differenza complessiva tra dati osservati e dati attesi.


 1234567
A123456
BOsservati172321251519
CAttesi 202020202020

Come esempio supponiamo di lanciare 120 volte un dado allo scopo di controllare se il dado è buono o truccato e di ottenere la distribuzione di frequenze riportata nella tabella stile Excel qui a destra:

I valori attesi sono dati dal calcolo delle probabilità: essendo la probabilità di ottenere un qualsiasi numero 1/6, su 120 lanci il valore atteso sarà 120*1/6 = 20.

Il $\chi^2$ si calcola allora così:

$\chi^2 = \frac{(20 - 17)^2}{20} + \frac{(20 - 23)^2}{20} + \frac{(20 - 21)^2}{20} + \frac{(20 - 25)^2}{20} + \frac{(20 - 15)^2}{20} + \frac{(20 - 19)^2}{20} = \frac{ 9 + 9 + 1 + 25 + 25 + 1}{20} = \frac{70}{20} = 3.5$

Il $\chi^2$ vale dunque 3,5. Questo numero ci dà una misura della deviazione osservata della distribuzione dall'ipotesi teorica. Ma 3,5 è una deviazione grande o piccola?

Per rispondere a questa domanda è stata studiata la distribuzione del $\chi^2$ che permette di calcolare la probabilità che il $\chi^2$ abbia un certo valore; la probabilità dipende anche dal numero $N$ dei gradi di libertà che è il numero dei parametri che possiamo dare liberamente senza violare i vincoli del problema. In questo caso ci sono sei frequenze attese, ma dovendo essere il totale pari a 120, solo 5 frequenze sono libere e dunque N = 5.

I manuali di statistica riportano tabelle del $\chi^2$ e oggi molti software hanno funzioni $\chi^2$ già pronte, per esempio Excel ed OO Calc hanno tre funzioni relative al test $\chi^2$:

Nel nostro esempio il valore di $\chi^2$ pari a 3,5 ha una probabilità del 62,34%, nel senso che ci sono 62,34% probabilità che in 120 lanci di dadi si riscontrino deviazioni dalla media uguali o maggiori di questa (con $\chi^2$ > 3,5).

Dobbiamo quindi concludere che non c'è motivo di sospettare che il dado sia truccato.

Va detto che anche valori troppo piccoli del $\chi^2$, troppo buoni insomma, possono dare adito a sospetti!

In questi casi di solito si considerano critici valori di probabilità di 0.10, 0.05, 0.01 e si effettuano test a questi livelli; se la probabilità risulta minore di questi vuol dire che si è verificato qualcosa di molto improbabile e che quindi c'è da sospettare che l'ipotesi sia sbagliata (qui che il dado non sia buono nel senso di avere probabilità uguali per tutte le facce).

Molti libri di statistica usano valori complementari a quelli usati da Excel e OO Calc; invece di una probabilità di 0,6234 qui avremmo ottenuto 0,3766 che è la probabilità di avere un $\chi^2$ minore di quello ottenuto. In questi libri i test di cui sopra sono riportati come test allo 0.90, allo 0.95, allo 0.99.


Questo metodo può essere anche usato per confrontare diverse ipotesi con i dati sperimentali e scegliere quella che meglio si accorda con questi: in crittanalisi può servire, dato un messaggio cifrato a trovare il cifrario; come è ragionevole tra tutte le ipotesi possibili si sceglie quella con il $\chi^2$ più piccolo.

Come esempi di uso del $\chi^2$, riporto la crittanalisi statistica del Vigenere, e l'individuazione della lingua di un testo.



Fonti bibliografiche e collegamenti