L’analisi della varianza (ANOVA) è un test parametrico che valuta le differenze tra le medie di due o più gruppi di dati.
Si tratta di un test di ipotesi statistica che trova ampio impiego nell’ambito della ricerca scientifica e che consente di determinare se le medie di almeno due popolazioni sono diverse.
Sono necessari come presupposto minimo una variabile dipendente continua e una variabile indipendente categoriale che divida i dati in gruppi di confronto.
Il termine “analisi della varianza” deriva dal modo in cui l’analisi utilizza le varianze per determinare se le medie sono diverse.
ANOVA funziona confrontando la varianza delle medie tra i gruppi (è chiamata varianza between) con la varianza all’interno dei singoli gruppi (o varianza within).
L’analisi della varianza è stata sviluppata dal grande statistico Ronald Fisher (diciamo che è uno degli Dei nell’Olimpo della statistica…).
Non è un caso che Anova si basi su una distribuzione chiamata distribuzione F.
Anova è un test di tipo parametrico. Richiede dunque che siano soddisfatti un certo numero di requisiti:
Una domanda che è lecito porsi è la seguente: perchè mai dovrei usare Anova quando posso usare una serie di confronti tra ogni gruppo e ognuno degli altri?
La risposta non è legata semplicemente alla noia e alla difficoltà nel dover svolgere un gran numero di test (ad esempio, per 4 fattori avrei bisogno di svolgere 6 differenti t-test). Il maggiore problema è che la probabilità di commettere un errore di Tipo I aumenta con una progressione di tipo esponenziale. Sappiamo che se scegliamo un alpha “tipico” di 0,05 fissiamo la probabilità di incorrere in un errore di Tipo I del 5%.
Se chiamiamo n il numero dei t-test da svolgere avremo una probabilità complessiva di commettere errori di Tipo I pari a:
nel nostro esempio questo significa:
\( 1-(1-0,05)^6 = \\ 1-0,735 = \\ 0,265 \\ \\ \)Vale a dire una probabilità di errore di Tipo I del 26,5% ! Chiaramente inaccettabile… Quando vogliamo testare la media di 3 o più gruppi, Anova è certamente da preferire rispetto a una serie di T-test.
Il tipo più semplice di test ANOVA è l’ANOVA a un fattore. Questo metodo è una generalizzazione dei t-test in grado di valutare la differenza tra più di due medie di gruppo.
I dati sono organizzati in vari gruppi sulla base di una singola variabile categorica (chiamata variabile fattore).
Come abbiamo detto, Anova è un test delle ipotesi. In questo caso, abbiamo una ipotesi nulla H0:
le medie tra i diversi gruppi sono uguali
e una ipotesi alternativa Ha:
almeno una media è diversa.
ATTENZIONE: Anova ci dice SE una media è diversa, non QUALE gruppo presenta una media differente. Per quello, avremo bisogno di un passaggio supplementare, il test post hoc, che vedremo a tempo debito.
E’ vero che utilizzare il modo “classico” di computare il risultato di un test Anova può fornire nozioni teoriche importanti, ma è altresì vero che chiunque utilizzi questa tipologia di test nella quotidianità difficilmente – per non dire mai – usa carta e penna e compila una tabella Anova… La praticità delle funzioni di R nel svolgere tutto il “lavoro duro” con un clic è davvero impagabile. Tuttavia, un esempio passo-passo ci fornirà una importante infarinatura. Siamo pronti a “sporcarci le mani”?
I passaggi che compiremo possono essere schematizzati così:
Dal momento che la SEO è uno dei campi che seguo con maggiore interesse, ipotizzo un esempio (ovviamente privo di reale valore) che ha per oggetto l’analisi dei dati di traffico di un sito web.
La mia variabile indipendente a più fattori è il tipo di dispositivo usato dai navigatori: desktop, mobile, tablet.
La mia variabile dipendente saranno gli obiettivi realizzati sul sito.
Immaginiamo di seguire i dati mensili per 6 mesi e di ricavare queste misure:
Desktop | Mobile | Tablet |
39 | 45 | 30 |
67 | 54 | 45 |
78 | 64 | 22 |
59 | 52 | 39 |
42 | 46 | 38 |
51 | 35 | 41 |
Vado a calcolare la media dei valori per il gruppo Desktop:
(39+67+78+59+42+51)/6 = 56
Calcolo la media per Mobile:
(45+54+64+52+46+35)/6 = 49,3
E quella per i Tablet:
(30+45+22+39+38+41)/6 = 35,83
Passiamo a calcolare le somme dei quadrati:
Desktop | Mobile | Tablet |
(39-56)2 = 289 | (45-49,3)2 = 18,49 | (30-35.83)2 = 33.99 |
(67-56)2 = 121 | (54-49,3)2 = 22.09 | (45-35.83)2 = 84.09 |
(78-56)2 = 484 | (64-49,3)2 = 216.09 | (22-35.83)2 = 191.27 |
(59-56)2 = 9 | (52-49,3)2 = 7.29 | (39-35.83)2 = 10.05 |
(42-56)2 = 196 | (46-49,3)2 = 10.89 | (38-35.83)2 = 4.71 |
(51-56)2 = 25 | (35-49,3)2 = 204.49 | (41-35.83)2 = 26.73 |
Totale | Totale | Totale |
1124 | 479.34 | 350.84 |
Siamo pronti per ricavare SSe, la somma degli errori quadratici:
SSe = 1124 + 479.34 + 350.84 = 1954.18
Calcoliamo la Grande Media di tutte le osservazioni, sommando i valori del gruppo desktop,mobile e tablet e dividendoli per il numero delle osservazioni:
(336+296+215)/18 = 47
Procediamo nel calcolo aiutandoci con una tabella:
A-Osservazioni | B-Grande Media | C-Media | (B-C)2 | A * D | |
Desktop | 6 | 47 | 56 | 81 | 486 |
Mobile | 6 | 47 | 49,3 | 5.29 | 31.74 |
Tablet | 6 | 47 | 35.83 | 124.77 | 748.62 |
E troviamo così la Somma dei Quadrati between:
SSb = 486 + 31.74 + 748.62 = 1266,4
Ancora un piccolo sforzo, ma ora viene il bello!
I gradi di libertà between df1 sono uguali a N – 1, quindi:
3 – 1 = 2
I gradi di libertà within df2 sono uguali a N – K, quindi:
18 – 3 = 15
Troviamo la Media Quadrata dell’Errore, MSe:
\( MS_e=\frac{SS_e}{df_2} \\ \frac{1954.18}{15} = 130.3 \\ \\ \)E la Media Quadrata between:
\( MS_b=\frac{SS_b}{df_1} \\ \frac{1266.4}{2}=633.18 \\ \\ \)E’ arrivato il momento: possiamo ricavare finalmente il nostro valore F!
\( F=\frac{MS_b}{MS_e} \\ \frac{633.18}{130.3}=4.86 \\ \)Ho finalmente trovato il valore che cercavo, F=4.86.
Non mi resta che prendere in mano una tabella della distribuzione F e andare a cercare il valore critico in corrispondenza dell’incrocio tra i valori df2/df1.
Quel valore risulta essere pari a 3.68.
Il mio valore F=4.86 cade nella zona di rigetto dell’ipotesi nulla H0
Il mio test, per un valore alpha di 0.05, mi indica che le medie dei tre gruppi non sono uguali.
I valori d’esempio sono contenuti in questo file csv.
Ipotizzando di avere il nostro file csv nella home, posso creare uno script R in Rstudio e caricare il mio semplicissimo dataset:
obiettivianova <- read.csv("~/anova-ex1.csv")
Uno sguardo grafico a come si presentano i valori per i tre gruppi:
boxplot(obiettivianova$obiettivi ~ obiettivianova$device, main="Boxplot obiettivi per device", xlab="Device", ylab="Obiettivi")
Già il boxplot sembra suggerirci qualcosa, ma ovviamente procediamo analiticamente.
Diamo uno sguardo alle medie:
aggregate(obiettivi ~ device,obiettivianova,mean)
device obiettivi 1 desktop 56.00000 2 mobile 49.33333 3 tablet 35.83333
e procediamo con il nostro test:
miomodello <- aov(obiettivianova$obiettivi ~ obiettivianova$device) summary(miomodello)
l’output che otteniamo è il seguente:
Df Sum Sq Mean Sq F value Pr(>F) obiettivianova$device 2 1267 633.4 4.862 0.0236 * Residuals 15 1954 130.3 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
La potenza di R qui è evidente. Bastano pochi attimi per avere un sacco di informazioni utili. Il valore di F è 4,862, i gradi di libertà sono 2, ecc.ecc.
Non serve consultare la tabella della distribuzione F (o usare il comando R corrispondente) perchè già è presente il p-value, che segnala il rigetto dell’ipotesi nulla al livello del 5% (p= 0.0236 < 0,05).
Anova ci dice che le medie non sono tutte uguali. E’ giunto il momento di un test post-hoc per poter valutare dove si trova “l’anomalia”:
TukeyHSD(miomodello)
Il Test HSD di Tukey è uno dei test post hoc più utili in casi come quello in esame. Ci restituisce questo output:
diff lwr upr p adj mobile-desktop -6.666667 -23.78357 10.450234 0.5810821 tablet-desktop -20.166667 -37.28357 -3.049766 0.0204197 tablet-mobile -13.500000 -30.61690 3.616900 0.1348303
Come si può notare, mentre per il confronto tra le medie mobile-desktop e tablet-mobile non possiamo scartare l’ipotesi nulla, lo stesso non si può dire nel caso delle medie tablet-desktop, dove la differenza risulta statisticamente significativa.
I test statistici sono strumenti fondamentali per l’analisi dei dati e la presa di decisioni informate. Scegliere…
Gli Alberi Decisionali sono un tipo di algoritmo di apprendimento automatico che utilizza una struttura…
Immaginiamo di voler trovare il percorso più veloce per raggiungere una destinazione in auto. Si…
Nel 1847, il matematico francese Augustin-Louis Cauchy stava lavorando su calcoli astronomici, quando ideò un…
La simulazione Monte Carlo è un metodo utilizzato per quantificare il rischio associato a un…
Abbiamo visto che la distribuzione binomiale si basa sull’ipotesi di una popolazione infinita N, condizione che si…