Introduzione, qual è il problema?

Quanti tipi di uccelli avranno lasciato le impronte delle figura sotto? Certo l’immagine ci aiuta: i colori differenti ed una attenta osservazione ci fanno capire che gli uccelli sono due, ma il problema di capire da orme (ovvero dati) confrontabili se esse provengono da animali (ovvero popolazioni) diversi è un problema comune!!

impronte

Proviamo a calarci nella vita comune. Pensate al direttore commerciale di un’azienda, potrebbe capitargli di dover capire se le vendite annuali nei supermercati A, B e C sono confrontabili o diverse; oppure potrebbe dover confrontare le vendite ottenute su due supermercati collocando uno stesso prodotto su uno scaffale o in uno stand dedicato. Analogamente l’ingegnere di produzione dovrà capire se le macchine A,B,C stanno lavorando bene o una di esse (e quale?) sta derivando. O ancora il ricercatore che farà un esperimento cambiando una certa variabile (ad esempio la temperatura) e dovrà quindi capire se i risultati ottenuti rispondono o meno all’esperimento. Ma per finire anche il preside di una scuola potrebbe valutare i propri insegnanti leggendo i risultati di test comuni delle classi A,B e C (sia chiaro….estrapolo e semplifico!).
Il problema per tutti questi casi è comune: ci sono dei dati (non elaborati ovvero dei rawdata) che appartengono a più gruppi (vendite di 3 supermercati, le prestazioni di 3 macchine, i risultati di tre esperimenti), ed occorre capire se sono “diversi” uno dall’altro o fanno parte della stessa “popolazione” e le loro differenze sono dovute alla normale variabilità statistica. Quando scrivo “diversi” intendo che i dati ottenuti (i rawdata) sono campioni di una popolazione descritta da una distribuzione statistica che è diversa per ognuno dei gruppi. Al contrario se i dati sono campionamenti diversi di una stessa popolazione allora la distribuzione statistica è la stessa.
L’analisi statistica ci fornisce dei metodi per interpretare queste possibili differenze. Qui si descrive un metodo, detto ANOVA, basato sul confronto delle varianze, che al prezzo di un possibile errore, risponde al problema sopra; il test anova potrebbe quindi dire al direttore commerciale che le vendite nei supermercati A e B sono confrontabili mentre quella del supermercato C non lo è (supponiamo che le vendite siano superiori), a meno del 5% di errore. Ciò significa che potrebbe capitare che anche il supermercato C ha lo stesso volume di vendita di A e B ma per una fortunata combinazione, i dati raccolti nel supermercato C sono più alti di A e B. La possibilità di fare questo  errore esiste però è poco probabile, appunto meno del 5%.
Come tutte le analisi statistiche è essenziale il supporto del software, certo si può benissimo costruire dei propri fogli di calcolo o programmi per implementare i vari test statistici, ma essendo questa una branca dai risvolti molto pratici (sulla base dei test posso prendere delle decisioni) esistono numerose funzioni e software dedicati. Di seguito presento le funzioni Anova di excel (perché estremamente diffuso) ed in una seconda parte le funzioni Anova (e più in generale statistiche) di python (perché molto potente e supportato).

Metodo ANOVA ad una Via

Per descrivere il metodo ANOVA ad una via consideriamo come esempio i dati prodotto da tre macchine, ad esempio il diametro dei bulloni prodotte da tre strumenti. I dati sono riportati in tabella:

tabella1

Come si vede dalla figura 1 le tre popolazioni sono molto disperse. La domanda è sempre la stessa: sono tre popolazioni diverse o allargando il campione statistico scopriremmo che i dati sono tre campionamenti di un’unica popolazione più dispersa ancora, come mostrato in figura 2 (la serie di dati D è la popolazione da cui provengono le tre campionature A,B,C)?

fig1

Figura 1

fig2

Figura 2

Lo scopo dell’analisi è quindi di dimostrare che le medie campionarie dei tre gruppi sono diverse per le naturali fluttuazioni statistiche o se invece differiscono perchè le medie delle tre popolazioni sono realmente diverse. Il metodo ANOVA, come altri metodi di inferenza statistica, costruisce quindi un’ipotesi che va accreditata o smentita: l’ipotesi è H0:$$\mu_0$$=$$\mu_1$$=$$\mu_2$$ ovvero le medie delle tre popolazioni sono uguali. Esiste chiaramente l’ipotesi alternativa (indicata con H1) che almeno una delle medie sia differente dalle altre.
Per fare questa analisi si valutano le varianza delle popolazioni coinvolte (da qui l’acronimo ANalysis Of Variance), in particolare si costruisce un test definito come il rapporto fra la varianza delle medie delle popolazioni in confronto (in questo caso quindi la varianza di 48.6, 56.4,51.6; quanto vale la varianza di questi tre numeri?) rispetto la media delle varianza di ogni popolazione (la varianza dei dati del tool A, del tool B e del tool C, mediate):

$$F=\frac{(n \cdot s_X^2)}{(s_p^2 )}$$

Dove n è il numero di campioni a confronto ( 5 nel nostro esempio). Se l’ipotesi H0 è vera e le tre popolazioni dell’esempio appartengono ad un’unica popolazione allora il test F mette a confronto due stime della varianza della stessa popolazione. Infatti $$\ s_p^2$$ è la media delle varianze delle singole popolazioni ( la media di 7.6, 4.9 e 5.1 ) mentre $$n\cdot s_X^2$$ è la stima della varianza fatta sulle medie campionarie. Se l’ipotesi H0 è vera allora F è prossimo all’unità perchè stiamo confrontando due stime della varianza della stessa popolazione mentre se non è vera F avrà valori alti, in quanto il numeratore esprimerà la varianza di medie differenti. Dovendo stimare la varianza è sempre possibile commettere un errore: in particolare può capitare che pur trattando le stesse popolazioni la casualità campionaria faccia apparire la varianza molto alta per cui il test ci suggerirebbe che le popolazioni in analisi siano differenti. Questo errore è tanto più piccolo quanto più alto è il valore di F che otteniamo.
Nell’ipotesi che le popolazioni in esame siano normali e di uguale varianza, allora la distribuzione F è nota e calcolabile. Volendo sviluppare autonomamente il test sarebbe necessario avere la funzione F tabulata (tenendo conto dei gradi di libertà della funzione, che non ho menzionato) Solitamente esistono già funzioni che permettono di effettuare il test ANOVA senza dover ricorrere allo sviluppo dei vari calcoli. Come scritto inizialmente, qui descrivo la funzione di Excel mentre descriverò in una seconda parte l’uso di Python.

ANOVA Test con Excel

Per accedere ai tool statistici di Excel occorre abilitare il Tool Pack (disponibile su option/Add-in). Abilitato il Tool Pack si rendere disponibile, nel menu Data, lo strumento Data Analysis. Aperto questo, si seleziona il test Anova Single Factor. Aperta la finestra del test Anova single Factor troveremo la finestra riportata sotto in figura 3: nel campo input range va selezionato il range dei dati che si vogliono analizzare, nel campo Group by Column or Row si imposta la direzione in cui i dati sono riportati (nel nostro caso row), il coefficente alfa è di default impostato a 0.05. Questo coefficente ci indica la probabilità di commettere un errore nell’affermare che l’ipotesi H0 sia vera. Il 5% è l’errore tipico che si ritiene accettabile, ma si può modificare.
Riempiti i campi, Excel ci restituirà un report sintetico sull’analisi fatta (riporto quello ottenuto con la tabella in questione). Analizziamo il contenuto del report.
La prima tabella del report fornisce una sintesi della statistica delle tre popolazioni (media, sigma, Numero di campioni).
La seconda tabella invece fornisce nella colonna SS la varianza fra gruppi ed all’interno dei gruppi (ovvero il numeratore ed il denominatore di F), nella colonna df si riportano i due gradi di libertà della funzione F, in questo caso 2 nell’analisi fra gruppi in quanto i gruppi sono tre, mentre i gradi di libertà all’interno dei tre gruppi è 12 cioè 4×3. In fine i valori più utili! F crit è il valore di F, per quei gradi di libertà (inter ed intra group), che intercetta il 5% della distribuzione F; il valore F è invece il valore ottenuto dal test definito in precedenza con i dati specifici. Il valore F va confrontato con F crit: se esso è superiore ad F crit significa che l’ipotesi H0 iniziale non è confermata e quindi almeno una delle popolzioni prese in esame è differente dalle altre. Se invece F è inferiore al F crit significa che l’ipotesi H0 può essere confermata. Ultimo valore da considerare è il Pvalue il cui significato è quello di indicare la probabilità che H0 sia vera. Solitamente se si è fissato un errore accetabile del 5% allora accetteremo l’ipotesi H0 per Pvalue maggiori di 0.05 mentre la rifiutiamo per valori inferiori.
Nel Caso esaminato il Pvalue ci indica che le tre popolazioni non sono differenti ovvero che la H0 va accettata.

fig3

Figura 3

fig4

Figura 4

fig5

Figura 5

Come ultimo esempio riporto i dati della tabella:

tabella2

La differenza rispetto al primo caso è solo la varianza all’interno delle popolazioni, come si può vedere in figura 7. Le medie di queste popolazioni sono identiche a prima, quindi la varianza fra le medie campionarie è la stessa del caso precedente. Se eseguissimo il test ANOVA su questo set di dati il risultato è quello in figura 6:

fig6

Figura 6

Come si legge velocemente dal Pvalue riportato in figura 6, per questo set di dati l’ipotesi H0 va rifiutata per cui almeno una popolazione è differente dalle altre. Per rispondere alla domanda quale popolazione è differente esiste un ulteriore test (Tukey) da descrivere in una sezione dedicata.

fig7

Figura 7

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.