# Analisi della varianza

L'analisi della varianza (ANOVA, dall'inglese Analysis of Variance) è un insieme di tecniche statistiche facenti parte della statistica inferenziale che permettono di confrontare due o più gruppi di dati calcolando e confrontando la variabilità interna a questi gruppi con la variabilità tra i gruppi.
L'analisi della varianza prevede una verifica di validità dell'ipotesi nulla, che prescrive che i dati di tutti i gruppi abbiano la stessa origine, ovvero la stessa distribuzione stocastica, e le differenze osservate tra i gruppi siano dovute solo al caso.
Si tratta di tecniche usate soprattutto quando le variabili esplicative sono di tipo nominale (discreto); nulla impedisce di usarle anche in presenza di variabili esplicative di tipo ordinale o continuo, ma in questo caso si ha un'efficienza minore rispetto a tecniche alternative (ad esempio la regressione lineare).

## Ipotesi di base

L'ipotesi alla base dell'analisi della varianza è che dati $G$ gruppi, sia possibile scomporre la varianza in due componenti: Varianza interna ai gruppi (anche detta Varianza Within) e Varianza tra i gruppi (Varianza Between). La ragione che spinge a compiere tale distinzione è la convinzione, da parte del ricercatore, che determinati fenomeni trovino spiegazione in caratteristiche proprie del gruppo di appartenenza. Un esempio tipico, ripreso dalle analisi sociologiche, si trova nello studio dei gruppi di tossicodipendenti. In questo caso l'analisi della varianza si usa per determinare se più gruppi possono essere in qualche modo significativamente diversi tra loro (è la varianza between a contribuire più significativamente alla varianza totale - il fenomeno è legato a caratteristiche proprie di ciascun gruppo, come la zona di residenza) o, viceversa, risultano omogenei (è la varianza within a contribuire più significativamente alla varianza totale - il fenomeno è legato a caratteristiche proprie di tutti i gruppi). In altre parole, il confronto si basa sull'idea che se la variabilità interna ai gruppi è relativamente elevata rispetto alla variabilità tra i gruppi, allora probabilmente la differenza tra questi gruppi è soltanto il risultato della variabilità interna.
Il più noto insieme di tecniche si basa sul confronto della varianza e usa variabili di test distribuite come la variabile casuale F di Fisher-Snedecor.
Le diverse tecniche vengono suddivise a seconda del fatto che il modello preveda:
* una sola causa: ad esempio, il gradimento di un cibo dipende dal colore del medesimo;
* più di una causa: ad esempio il successo scolastico dipende sia dal grado di interesse individuale nei confronti dello studio e dell'ottenimento di buoni voti, sia dal grado di istruzione dei genitori;
* interazione tra più cause: ad esempio, la velocità di effetto di una cura medica dipende dall'azione di due farmaci, i quali però si annullano (o rinforzano) a vicenda.

## Discussione analitica

La relazione tra varianza totale $\sigma ^{2}$ riferita alle $n$ unità e varianze calcolate sui singoli gruppi $\sigma _{g}^{2}$ (con $g=1,2,\ldots ,G$) risulta essere:
    $\sigma ^{2}=\sum _{g=1}^{G}\sigma _{g}^{2}{{n_{g}-1} \over {n-1}}+\sum _{g=1}^{G}(m_{g}-m)^{2}{n_{g} \over {n-1}}$
dove $m$ è la media totale delle $n$ unità, uguale alle medie parziali di ciascun gruppo $m_{g}$ con pesi uguali alle rispettive frequenze relative di gruppo ${n_{g} \over n}$. La prima sommatoria è la varianza within mentre la seconda è la varianza between; equivalentemente si può scrivere:
    $\sigma ^{2}=\sigma _{W}^{2}+\sigma _{B}^{2}.$
A loro volta, le medie parziali $m_{g}$ dei valori $x_{gj}$ del $g$-esimo gruppo sono date da:
    $m_{g}=\sum _{j=1}^{n_{g}}{x_{gj} \over n_{g}}.$
Inoltre si ha che:
    $\sigma _{g}^{2}={\sum _{j=1}^{n_{g}}[x_{gj}-m_{g}]^{2} \over {n_{g}-1}}.$
La varianza within è uguale alla media ponderata delle varianze parziali, calcolate in ogni gruppo. I pesi sono uguali alle loro frequenze relative.
La varianza between è uguale alla varianza ponderata delle medie parziali. I pesi sono uguali alle frequenze relative di gruppo.

## Esempio di analisi della varianza semplice

In questo esempio abbiamo $G=4$ gruppi di uguale numerosità $n_{g}=5$ (per semplificare l'esempio), con $g=1,2,3,4$, indicati con $A,B,C,D$ e $n=20$ unità statistiche (cioè il numero di osservazioni sperimentali totali).
Il modello prevede che
    $x_{gj}=\mu +\alpha _{g}+\varepsilon _{gj},$
con $g=1,2,3,4$ che indica il gruppo e $j=1,2,3,4,5$.
L'ipotesi nulla prevede che:
* i valori osservati derivino da una distribuzione gaussiana;
* con stessa media $\mu$ e stessa varianza $\sigma ^{2}$;
* $\alpha _{g}$ sia uguale per tutti i gruppi (e pertanto nullo).
I dati osservati nei quattro gruppi sono:
| j | A | B | C | D |
| 1 | 0,72 | 0,75 | 0,68 | 0,78 |
| 2 | 0,69 | 0,85 | 0,70 | 0,86 |
| 3 | 0,71 | 0,82 | 0,67 | 0,87 |
| 4 | 0,70 | 0,80 | 0,65 | 0,84 |
| 5 | 0,68 | 0,88 | 0,70 | 0,85 |
Siano adesso:
* $SSQ_{a}$: la somma degli scarti quadratici delle medie dei singoli gruppi ($m_{g}$) dalla media generale $m$;
* $SSQ_{e}$: la somma degli scarti quadratici dei singoli valori $x_{gj}$ rispetto alla media $m_{g}$ del gruppo a cui appartengono;
* $SSQ_{tot}$: la somma degli scarti quadratici di tutti singoli valori rispetto alla media generale $m$.
Ovvero:
    $m={\frac {1}{n}}\sum _{g=1}^{G}\sum _{j=1}^{n_{g}}x_{gj}$
    $m_{g}={\frac {1}{n_{g}}}\sum _{j=1}^{n_{g}}x_{gj}$
    $SSQ_{a}=\sum _{g=1}^{G}n_{g}(m_{g}-m)^{2}$
    $SSQ_{e}=\sum _{g=1}^{G}\sum _{j=1}^{n_{g}}(x_{gj}-m_{g})^{2}$
    $SSQ_{tot}=\sum _{g=1}^{G}\sum _{j=1}^{n_{g}}(x_{gj}-m)^{2}=SSQ_{e}+SSQ_{a}$
La variabile test diventa:
    $T={\frac {SSQ_{a}/(G-1)}{SSQ_{e}/(n-G)}}$
dove:
    $G$ è il numero di gruppi (nel nostro esempio: $G=4$);
    $n_{g}$ la numerosità dei singoli gruppi (nel nostro caso $n_{g}=5$ per ogni gruppo);
    $n=\sum _{g=1}^{G}n_{g}$, ovvero il numero complessivo di casi osservati (nel nostro caso $n=20$).
Nell'esempio si ottiene che:
    $SSQ_{tot}=0,1176$
    $SSQ_{a}=0,1000$
    $SSQ_{e}=0,0176$
e pertanto
    $T={\frac {0,1000/(4-1)}{0.0176/(20-4)}}={\frac {0,1000\cdot 16}{0,0176\cdot 3}}=30,30.$
Tale valore viene confrontato con i valori di una variabile casuale F di Snedecor con $G-1=3$ e $n-G=16$ gradi di libertà. Se si accetta una percentuale di falsi positivi del $5\%=(100-95)\%$ tale valore è:
    $F(0,95;3;16)=3,24.$
Pertanto, essendo $30,3\gg 3,24$ si rigetta l'ipotesi nulla che prevedeva l'assenza di effetti e si afferma che molto probabilmente almeno uno dei quattro gruppi è diverso dagli altri. Forse tutti i gruppi sono diversi uno dall'altro, forse solo uno di loro.
Un test (proposto per la prima volta da Ronald Fisher) permette di determinare la più piccola differenza significativa tra la media di due gruppi, confrontandoli uno a uno.
Tale differenza è:
    $t\left({\frac {0,05}{2}};n-G\right)\cdot {\sqrt {\left(SSQ_{e}\left({\frac {1}{n_{p}}}+{\frac {1}{n_{q}}}\right)\right)}}.$

## Software statistico R

Il calcolo dell'ANOVA con il software R si esegue in diversi modi: a seconda dei dati da analizzare. Prima di procedere nel calcolo vero e proprio è necessario verificare i seguenti assunti:
* Indipendenza dei punteggi osservati (se i soggetti sono tra loro indipendenti ci troviamo nell'opzione 'TRA CASI'; se l'assunto non è rispettato (ovvero si fanno più misurazioni agli stessi soggetti) siamo nell'opzione 'ENTRO CASI' che segue modalità di calcolo proprie);
* normalità della distribuzione;
* omoschedasticità (o omogeneità delle varianze);
Il secondo assunto può essere valutato in due modi:
* test di normalità di Kolmogorov-Smirnov:
dove:
* x è la variabile di cui si vuole valutare la normalità;
* mean(x) calcola la media di tale distribuzione;
* sd(x) calcola la deviazione standard di tale distribuzione;
* pnorm esegue il confronto tra la distribuzione e una distribuzione normale teorica con media=mean(x) e deviazione standard=sd(x).
Dell'output restituito si legge solo il p-value: deve essere maggiore o uguale a 0.05 (o ad un alpha prefissato). L'ipotesi nulla sostiene infatti che la distribuzione è normale;
* test di normalità di Shapiro-Wilk:
questo comando richiede solo la variabile da analizzare. Stesso discorso di prima per l'output e le ipotesi del test.
Il terzo assunto, omogeneità delle varianze (ossia delle diverse varianze considerate suddivise in funzione dei livelli del fattore), viene così calcolato:
dove:
* y è la variabile dipendente;
* A è il fattore;
per quanto riguarda l'output è sufficiente leggere il p-value e assicurarsi che sia maggiore o uguale ad un livello alpha prefissato (di default è 0.05). L'ipotesi nulla sostiene infatti che tutte le varianze sono tra loro omogenee. Nel caso questo assunto non sia rispettato è necessario eseguire il calcolo dell'ANOVA con la correzione di Welch.
Verificati gli assunti si può procedere con l'ANOVA vera e propria.

### Modello tra casi

In questo caso è sufficiente utilizzare il seguente comando:
la cui ipotesi nulla è che le diverse medie dei gruppi del fattore sono uguali.
Si noti che l'ipotesi alternativa sostiene che almeno una è diversa dalle altre, non necessariamente tutte diverse tra loro.
nel caso avessimo più fattori possiamo scrivere:

### Modello entro casi

In questo caso dobbiamo verificare i 3 assunti di prima più un quarto: l'assunto di sfericità (che sostiene che le covarianze siano omogenee). Per tale verifica:
e si valuta il p-value: deve essere maggiore o uguale al livello di significatività imposto: l'ipotesi nulla è quella che sostiene la sfericità. nel caso non sia verificato si esegue il calcolo con la correzione di Greenhouse-Geisser
nel caso in cui tale assunto è verificato basta inserire il comando:
e si osserva il p-value: anche qui l'ipotesi nulla depone a favore dell'uguaglianza tra le medie.