L’Analisi della Varianza (ANOVA) è un metodo statistico utilizzato per confrontare le medie di due o più gruppi. Viene spesso impiegato per verificare se esistono differenze significative tra i gruppi dovute a qualche trattamento o fattore sperimentale.
1. Concetti Teorici Fondamentali
1.1 Cos’è l’ANOVA?
L’ANOVA valuta se le differenze tra le medie dei gruppi sono statisticamente significative rispetto alla variabilità interna ai gruppi.
Si basa sull’ipotesi:
- [math]H_0[/math] (ipotesi nulla): Le medie dei gruppi sono uguali.
- [math]H_1[/math] (ipotesi alternativa): Almeno due medie sono diverse.
1.2 Tipi di ANOVA
- ANOVA a una via (One-Way ANOVA): Un solo fattore indipendente con più livelli.
- ANOVA a due vie (Two-Way ANOVA): Due fattori indipendenti, utile per studiare interazioni.
1.3 Assunzioni dell’ANOVA
- Normalità: I dati devono essere distribuiti normalmente (testabile con Shapiro-Wilk).
- Omoschedasticità: Varianze uguali tra gruppi (testabile con Levene o Bartlett).
- Indipendenza: Le osservazioni devono essere indipendenti.
1.4 Statistica F
L’ANOVA utilizza il test F, calcolato come:
[math]
\begin{align*}
F = \frac{\text{Varianza tra gruppi (MS}_{\text{between}})}{\text{Varianza entro gruppi (MS}_{\text{within}})}
\end{align*}
[/math]
Se [math]F > F \text{ critico}[/math], si rifiuta [math]H_0[/math].
👉ANOVA Spiegata Facile Facile con Esempio in Python
2. Esercizi Risolti a Difficoltà Crescente
Esercizio 1 (Livello Base) – ANOVA a una via
Problema:
Uno psicologo vuole verificare se tre metodi di apprendimento (A, B, C) influenzano il rendimento.
I punteggi sono:
| Metodo A | Metodo B | Metodo C |
|---|---|---|
| 80 | 85 | 78 |
| 82 | 88 | 75 |
| 85 | 90 | 72 |
Passo 1: Calcolo delle Medie
Medie di gruppo:
[math]\bar{X}_A = \frac{80+82+85}{3} = 82.\overline{3}[/math]
[math]\bar{X}_B = \frac{85+88+90}{3} = 87.\overline{6}[/math]
[math]\bar{X}_C = \frac{78+75+72}{3} = 75.00[/math]
Media generale (grand mean):
[math]
\begin{align*}
\bar{X}_{\text{grand}} &= \frac{80+82+85+85+88+90+78+75+72}{9} \\
&= \frac{705}{9} = 78.\overline{3}
\end{align*}
[/math]
Passo 2: Calcolo delle Somme dei Quadrati (SS)
1. Somma dei Quadrati Totale ([math]\text{SS}_{\text{total}}[/math])
Misura la variabilità totale dei dati rispetto alla media generale.
[math]
\begin{align*}
\text{SS}_{\text{total}} = \sum_{i=1}^{k} \sum_{j=1}^{n_i} (X_{ij} – \bar{X}_{\text{grand}})^2
\end{align*}
[/math]
Calcolo:
[math](80-78.333)^2 = 2.778[/math]
[math](82-78.333)^2 = 13.444[/math]
[math](85-78.333)^2 = 44.444[/math]
[math](85-78.333)^2 = 44.444[/math]
[math](88-78.333)^2 = 93.333[/math]
[math](90-78.333)^2 = 136.111[/math]
[math](78-78.333)^2 = 0.111[/math]
[math](75-78.333)^2 = 11.111[/math]
[math](72-78.333)^2 = 40.111[/math]
[math]
\begin{align*}
\text{SS}_{\text{total}} &= 2.778 + 13.444 + 44.444 + 44.444 + 93.333 \\
& \quad + 136.111 + 0.111 + 11.111 + 40.111 = 385.876
\end{align*}
[/math]
2. Somma dei Quadrati Tra Gruppi ([math]\text{SS}_{\text{between}}[/math])
Misura la variabilità delle medie dei gruppi rispetto alla media generale.
[math]
\begin{align*}
\text{SS}_{\text{between}} = \sum_{i=1}^{k} n_i (\bar{X}_i – \bar{X}_{\text{grand}})^2
\end{align*}
[/math]
Dove [math]n_i = 3[/math] per ogni gruppo.
[math]
\begin{align*}
\text{SS}_A &= 3 \times (82.333-78.333)^2 = 3 \times 16.000 = 48.000 \\
\text{SS}_B &= 3 \times (87.667-78.333)^2 = 3 \times 87.111 = 261.333 \\
\text{SS}_C &= 3 \times (75.000-78.333)^2 = 3 \times 11.111 = 33.333
\end{align*}
[/math]
[math]
\begin{align*}
\text{SS}_{\text{between}} = 48.000 + 261.333 + 33.333 = 342.666
\end{align*}
[/math]
3. Somma dei Quadrati Entro Gruppi ([math]\text{SS}_{\text{within}}[/math])
Misura la variabilità interna ai gruppi.
[math]
\begin{align*}
\text{SS}_{\text{within}} &= \text{SS}_{\text{total}} – \text{SS}_{\text{between}} \\
&= 385.876 – 342.666 = 43.210
\end{align*}
[/math]
Passo 3: Calcolo dei Gradi di Libertà (df)
[math]
\begin{align*}
\text{df}_{\text{between}} &= k – 1 = 3 – 1 = 2 \\
\text{df}_{\text{within}} &= N – k = 9 – 3 = 6 \\
\text{df}_{\text{total}} &= N – 1 = 9 – 1 = 8
\end{align*}
[/math]
Passo 4: Calcolo delle Varianze Medie (MS)
[math]
\begin{align*}
\text{MS}_{\text{between}} &= \frac{\text{SS}_{\text{between}}}{\text{df}_{\text{between}}} = \frac{342.666}{2} = 171.333 \\
\text{MS}_{\text{within}} &= \frac{\text{SS}_{\text{within}}}{\text{df}_{\text{within}}} = \frac{43.210}{6} = 7.202
\end{align*}
[/math]
Passo 5: Calcolo della Statistica F
[math]
\begin{align*}
F = \frac{\text{MS}_{\text{between}}}{\text{MS}_{\text{within}}} = \frac{171.333}{7.202} = 23.79
\end{align*}
[/math]
Passo 6: Confronto con F Critico e Decisione
[math]F \text{ critico}[/math] per [math]\text{df}_1=2[/math], [math]\text{df}_2=6[/math], [math]\alpha=0.05[/math] è [math]5.14[/math].
Poiché [math]F=23.79 > F_{\text{critico}}=5.14[/math], rifiutiamo H₀.
Conclusione: Esiste almeno una differenza significativa tra le medie dei gruppi ([math]p < 0.05[/math]).
Passo 7: Analisi Post-Hoc (Tukey HSD)
Per verificare quali gruppi differiscono:
- Metodo A vs Metodo B:
[math]\text{Differenza} = 87.667 – 82.333 = 5.334[/math] (Non significativa se [math]p > 0.05[/math]) - Metodo A vs Metodo C:
[math]\text{Differenza} = 82.333 – 75.000 = 7.333[/math] (Significativa se [math]p < 0.05[/math]) - Metodo B vs Metodo C:
[math]\text{Differenza} = 87.667 – 75.000 = 12.667[/math] (Molto significativa se [math]p < 0.01[/math])
Conclusione Finale
- [math]F=23.79[/math] indica una differenza altamente significativa tra i gruppi.
- Il metodo B ha la media più alta (87.67), seguito da A (82.33) e C (75.00).
- Tukey HSD conferma che B > C e A > C, mentre A e B non differiscono significativamente.
Esercizio 2 (Livello Intermedio) – ANOVA con dati mancanti
Problema:
Uno studio clinico intende confrontare l’efficacia di quattro diversi farmaci (D1, D2, D3, D4) nel ridurre il livello di dolore percepito da un gruppo di pazienti. Alla fine dello studio, sono stati raccolti i seguenti punteggi di riduzione del dolore (su una scala da 0 a 15), ma per un paziente del gruppo D2, il dato è andato perso.
| D1 | D2 | D3 | D4 |
|---|---|---|---|
| 10 | 12 | 8 | 9 |
| 11 | NA | 7 | 10 |
| 13 | 6 | ||
| 8 |
Vogliamo verificare se ci sono differenze significative nell’efficacia tra i farmaci.
Soluzione:
Dato che abbiamo un dato mancante, il primo passo è gestirlo. Per scopi didattici e per semplicità, useremo un metodo di imputazione semplice: sostituiremo il dato mancante con la media dei dati esistenti nel suo gruppo. In contesti di ricerca reali, si preferirebbero tecniche più avanzate come l’imputazione multipla o l’uso di modelli misti, che sono più robuste.
Passo 1: Gestione del Dato Mancante (Imputazione)
Il dato mancante (NA) si trova nel gruppo D2.
Calcoliamo la media dei valori presenti nel gruppo D2:[math]\bar{X}_{\text{D2_esistenti}} = \frac{12+13}{2} = 12.5[/math]
Ora, sostituiamo il dato mancante con questa media. La tabella dei dati completati sarà:
| D1 | D2 | D3 | D4 |
|---|---|---|---|
| 10 | 12 | 8 | 9 |
| 11 | 12.5 | 7 | 10 |
| 13 | 6 | ||
| 8 |
Numero totale di osservazioni (N): 2+3+2+4=11.
Numero di gruppi (k): 4.
Passo 2: Calcolo delle Medie di Gruppo e della Media Generale
Medie di gruppo (con dati originali e imputati):
[math]\bar{X}_{\text{D1}} = \frac{10+11}{2} = 10.5[/math]
[math]\bar{X}_{\text{D2}} = \frac{12+12.5+13}{3} = 12.5[/math]
[math]\bar{X}_{\text{D3}} = \frac{8+7}{2} = 7.5[/math]
[math]\bar{X}_{\text{D4}} = \frac{9+10+6+8}{4} = \frac{33}{4} = 8.25[/math]
Media generale ([math]\bar{X}_{\text{grand}}[/math]):
[math]\bar{X}_{\text{grand}} = \frac{10+11+12+12.5+13+8+7+9+10+6+8}{11} = \frac{116.5}{11} \approx 10.591[/math]
Passo 3: Calcolo delle Somme dei Quadrati (SS)
Somma dei Quadrati Totale ([math]SS_{\text{total}}[/math]):
Misura la variabilità totale di tutti i punteggi rispetto alla media generale.
[math]SS_{\text{total}} = \sum(X_{ij}-\bar{X}_{\text{grand}})^2[/math]
[math]
\begin{aligned}
(10-10.591)^2 &= (-0.591)^2 = 0.349 \\
(11-10.591)^2 &= (0.409)^2 = 0.167 \\
(12-10.591)^2 &= (1.409)^2 = 1.985 \\
(12.5-10.591)^2 &= (1.909)^2 = 3.644 \\
(13-10.591)^2 &= (2.409)^2 = 5.803 \\
(8-10.591)^2 &= (-2.591)^2 = 6.713 \\
(7-10.591)^2 &= (-3.591)^2 = 12.895 \\
(9-10.591)^2 &= (-1.591)^2 = 2.531 \\
(10-10.591)^2 &= (-0.591)^2 = 0.349 \\
(6-10.591)^2 &= (-4.591)^2 = 21.077 \\
(8-10.591)^2 &= (-2.591)^2 = 6.713
\end{aligned}
[/math]
[math]
SS_{\text{total}} = 0.349+0.167+1.985+3.644+5.803+6.713+12.895+2.531+0.349+21.077+6.713=62.226
[/math]
Somma dei Quadrati Tra Gruppi ([math]SS_{\text{between}}[/math]):
Misura la variabilità tra le medie dei gruppi rispetto alla media generale.
[math]SS_{\text{between}} = \sum n_i(\bar{X}_i-\bar{X}_{\text{grand}})^2[/math]
[math]
\begin{aligned}
SS_{\text{D1}} &= 2 \times (10.5-10.591)^2 = 2 \times (-0.091)^2 = 2 \times 0.008 = 0.016 \\
SS_{\text{D2}} &= 3 \times (12.5-10.591)^2 = 3 \times (1.909)^2 = 3 \times 3.644 = 10.932 \\
SS_{\text{D3}} &= 2 \times (7.5-10.591)^2 = 2 \times (-3.091)^2 = 2 \times 9.554 = 19.108 \\
SS_{\text{D4}} &= 4 \times (8.25-10.591)^2 = 4 \times (-2.341)^2 = 4 \times 5.480 = 21.920
\end{aligned}
[/math]
[math]SS_{\text{between}} = 0.016+10.932+19.108+21.920=51.976[/math]
Somma dei Quadrati Entro Gruppi ([math]SS_{\text{within}}[/math]):
Misura la variabilità all’interno di ciascun gruppo (errore).
[math]SS_{\text{within}} = SS_{\text{total}}-SS_{\text{between}}=62.226-51.976=10.250[/math]
Passo 4: Calcolo dei Gradi di Libertà (df)
[math]df_{\text{between}} = k-1=4-1=3[/math]
[math]df_{\text{within}} = N-k=11-4=7[/math]
[math]df_{\text{total}} = N-1=11-1=10[/math]
Passo 5: Calcolo delle Varianze Medie (MS)
[math]MS_{\text{between}} = \frac{SS_{\text{between}}}{df_{\text{between}}} = \frac{51.976}{3} = 17.325[/math]
[math]MS_{\text{within}} = \frac{SS_{\text{within}}}{df_{\text{within}}} = \frac{10.250}{7} = 1.464[/math]
Passo 6: Calcolo della Statistica F e Decisione
[math]F = \frac{MS_{\text{between}}}{MS_{\text{within}}} = \frac{17.325}{1.464} = 11.834[/math]
Per [math]df_1=3[/math] e [math]df_2=7[/math], con un livello di significatività [math]\alpha=0.05[/math], il valore F critico (ottenuto dalle tabelle di distribuzione F) è di circa 4.35.
Poiché il nostro F calcolato (11.834) è maggiore del valore F critico (4.35), rifiutiamo l’ipotesi nulla ([math]H_0[/math]).
Conclusione: Esiste almeno una differenza significativa tra le medie dei gruppi di farmaci (p<0.05). Questo significa che l’efficacia dei farmaci nel ridurre il dolore non è la stessa per tutti.
Passo 7: Analisi Post-Hoc (Tukey HSD)
Dato che l’ANOVA è significativa, procediamo con un test post-hoc (come il Tukey HSD, che controlla il tasso di errore complessivo per confronti multipli) per determinare quali specifici gruppi differiscono tra loro. I risultati sarebbero (simulati per l’esempio):
- D2 vs D3: Differenza=[math]12.5-7.5=5.0[/math] (Molto significativa, p<0.01). Il farmaco D2 è significativamente più efficace di D3.
- D2 vs D4: Differenza=[math]12.5-8.25=4.25[/math] (Significativa, p<0.05). Il farmaco D2 è significativamente più efficace di D4.
- D1 vs D3: Differenza=[math]10.5-7.5=3.0[/math] (Significativa, p<0.05). Il farmaco D1 è significativamente più efficace di D3.
Altre differenze potrebbero non essere significative.
Tabella ANOVA Riepilogativa
| Fonte | SS | df | MS | F | p-value |
|---|---|---|---|---|---|
| Tra gruppi | 51.976 | 3 | 17.325 | 11.834 | <0.05 |
| Entro gruppi | 10.250 | 7 | 1.464 | ||
| Totale | 62.226 | 10 |
Interpretazione Finale
I risultati dell’ANOVA ([math]F=11.834[/math], [math]p<0.05[/math]) indicano chiaramente che esistono differenze significative nell’efficacia dei quattro farmaci. Il farmaco D2 mostra la media di riduzione del dolore più alta ([math]\bar{X}_{\text{D2}}=12.5[/math]), suggerendo la maggiore efficacia. Le analisi post-hoc rivelano che D2 è significativamente più efficace di D3 e D4, e che D1 è significativamente più efficace di D3.
Esercizio 3 (Livello Avanzato) – ANOVA a due vie con interazione
Problema:
Uno studio esamina l’effetto di dieta (A, B) e esercizio (L, H) sul peso perso (kg):
| Dieta | Esercizio | Peso perso |
|---|---|---|
| A | L | 2, 3, 1 |
| A | H | 5, 6, 4 |
| B | L | 1, 2, 0 |
| B | H | 4, 5, 3 |
Passo 1: Calcolo delle Medie Marginali e di Gruppo
Medie Marginali (Effetti Principali)
Media della Dieta A vs B:
[math]
\bar{X}_A = \frac{2+3+1+5+6+4}{6} = \frac{21}{6} = 3.5
[/math]
[math]
\bar{X}_B = \frac{1+2+0+4+5+3}{6} = \frac{15}{6} = 2.5
[/math]
Media dell’Esercizio L vs H:
[math]
\bar{X}_L = \frac{2+3+1+1+2+0}{6} = \frac{9}{6} = 1.5
[/math]
[math]
\bar{X}_H = \frac{5+6+4+4+5+3}{6} = \frac{27}{6} = 4.5
[/math]
Medie di Gruppo (Interazione)
| Esercizio L | Esercizio H | |
|---|---|---|
| Dieta A | [math]\bar{X}_{A,L}=2.0[/math] | [math]\bar{X}_{A,H}=5.0[/math] |
| Dieta B | [math]\bar{X}_{B,L}=1.0[/math] | [math]\bar{X}_{B,H}=4.0[/math] |
Interpretazione preliminare:
- L’esercizio H aumenta il peso perso rispetto a L (4.5 vs 1.5).
- La dieta A è più efficace della B (3.5 vs 2.5).
- Interazione: L’effetto della dieta A è più marcato con esercizio H (+3.0 kg) rispetto a B (+3.0 kg), ma la differenza relativa è simile.
Passo 2: Calcolo dell’ANOVA a Due Vie
Struttura della Two-Way ANOVA
[math]
SS_{\text{total}}=SS_{\text{dieta}}+SS_{\text{esercizio}}+SS_{\text{interazione}}+SS_{\text{errore}}
[/math]
Calcoli Manuali (Schema)
SS totale:
[math]
SS_{\text{total}}=\sum(X_{ijk}-\bar{X}_{\text{grand}})^2
[/math]
[math]
\bar{X}_{\text{grand}}=\frac{21+15}{12}=3.0
[/math]
[math]
\begin{aligned}
SS_{\text{total}}&=(2-3)^2+(3-3)^2+\cdots+(3-3)^2=30.0
\end{aligned}
[/math]
SS dieta:
[math]
SS_{\text{dieta}}=n \times \sum(\bar{X}_i-\bar{X}_{\text{grand}})^2=6 \times [(3.5-3)^2+(2.5-3)^2]=3.0
[/math]
SS esercizio:
[math]
SS_{\text{esercizio}}=n \times \sum(\bar{X}_j-\bar{X}_{\text{grand}})^2=6 \times [(1.5-3)^2+(4.5-3)^2]=27.0
[/math]
SS interazione:
[math]
SS_{\text{interazione}}=n \times \sum(\bar{X}_{ij}-\bar{X}_i-\bar{X}_j+\bar{X}_{\text{grand}})^2
[/math]
Esempio per A,L:[math](2.0-3.5-1.5+3.0)=0 \Rightarrow SS_{\text{interazione}}=0[/math]
(In questo caso, l’interazione è nulla perché l’effetto combinato è additivo).
SS errore:
[math]
SS_{\text{errore}}=SS_{\text{total}}-SS_{\text{dieta}}-SS_{\text{esercizio}}-SS_{\text{interazione}}=30-3-27-0=0
[/math]
(Questo risultato è improbabile in dati reali; qui è dovuto alla perfetta additività dei valori simulati).
Tabella ANOVA (Risultati Attesi)
| Fonte | SS | df | MS | F | p-value |
|---|---|---|---|---|---|
| Dieta | 3.0 | 1 | 3.0 | 6.0 | < 0.05 |
| Esercizio | 27.0 | 1 | 27.0 | 54.0 | < 0.01 |
| Interazione | 0.0 | 1 | 0.0 | 0.0 | > 0.05 |
| Errore | 0.0 | 8 | 0.0 |
Nota: I valori di [math]F[/math] e [math]p[/math]-value sono illustrativi. In pratica, con [math]SS_{\text{errore}}=0[/math], il modello è perfetto (caso ideale).
Passo 3: Interpretazione dei Risultati
Effetto della Dieta:
- [math]F(1,8)=6.0[/math], [math]p<0.05[/math].
- Significativo: La dieta A fa perdere più peso della B (3.5 vs 2.5 kg).
Effetto dell’Esercizio:
- [math]F(1,8)=54.0[/math], [math]p<0.01[/math].
- Molto significativo: L’esercizio H aumenta la perdita di peso (4.5 vs 1.5 kg).
Interazione Dieta × Esercizio:
- [math]F(1,8)=0.0[/math], [math]p>0.05[/math].
- Non significativa: L’effetto della dieta non dipende dall’esercizio (nessuna sinergia).
Conclusione e Discussione
- Risultato chiave: L’esercizio intenso (H) ha un impatto maggiore sulla perdita di peso rispetto alla dieta.
- Mancanza di interazione: Le diete A e B rispondono allo stesso modo all’esercizio (effetto additivo).
- Limitazioni: In dati reali, l’errore sperimentale renderebbe [math]SS_{\text{errore}}>0[/math].
Quando Usare l’ANOVA a Due Vie?
- Per studiare due fattori indipendenti.
- Per verificare se esiste un effetto sinergico (interazione).
Esempi applicativi:
- Farmaci vs Dosaggio.
- Tipo di insegnamento vs Livello di classe.




