ispezione preliminare dei dati e verifica delle

Transcript

ispezione preliminare dei dati e verifica delle
ISPEZIONE PRELIMINARE DEI DATI E
VERIFICA DELLE ASSUNZIONI DI BASE
Andrea Onofri
Dipartimento di Scienze Agrarie ed Ambientali
Universitá degli Studi di Perugia
Versione on-line: http://www.unipg.it/ onofri/RTutorial/index.html
Indice
1 Introduzione
1
2 Analisi dei residui
2
3 Osservazioni aberranti
3
4 Disomogeneità delle varianze
5
5 Non-normalità degli errori
7
6 Uso di R per l’analisi dei residui
7
7 Non-additività dei blocchi nell’ANOVA
9
8 Lack of fit nell’analisi di regressione
10
9
11
Azioni correttive: la procedura di BOX e COX
10 Referenze bibliografiche per approfondimenti
1
13
Introduzione
Nel momento in cui eseguiamo test d’ipotesi nell’ambito di un modello lineari, assumiamo implicitamente che i dati seguano una certa distribuzione
di frequenza e rispondano ai seguenti requisiti:
I pre-requisiti fondamentali di ogni modello lineare possono essere cosı̀
espressi:
1. il modello è corretto;
1
2
ANALISI DEI RESIDUI
2
2. la risposta osservata è una funzione del modello più o meno l’ errore
sperimentale;
3. l’ errore sperimentale è indipendente dal modello;
4. gli errori sono normalmente distribuiti, con media zero e varianze
omogenee;
5. gli errori rilevati in esperimenti ripetuti sono tra loro indipendenti.
6. assenza di osservazioni aberranti;
Queste assunzioni di base non possono essere in genere verificate a priori, perché per quasi nessuno dei fenomeni naturali sono note le vere relazioni causa-effetto. Per questo motivo, i procede in primo luogo alla stima
dei parametri della funzione e, successivamente, si verifica il rispetto delle
assunzioni di base.
Il problema è importante perchè ogni deviazione rispetto agli anzidetti
requisiti può inficiare la validità dei test d’ipotesi, modificando il livello
di significatività e di protezione. A riguardo dei dati aberranti dobbiamo
dire che, se è un errore quello di correggerli arbitrariamente, senza averne
prima verificato la provenienza alla ricerca di possibili cause di errore, è
altrettanto un errore lasciarli nel dataset, in quanto essi possono influenzare
in modo molto marcato il risultato dell’analisi. E’evidente comunque che la
correzione non può che riguardare una larga minoranza dei dati sperimentali
raccolti (uno o due dati), altrimenti si dovrà necessariamente pensare di
ripetere l’esperimento.
2
Analisi dei residui
La gran parte dei pre-requisiti fondamentali di un dataset riguardano la
struttura dei residui e, di conseguenza, l’ispezione grafica di questi ultimi,
eventualmente accompagnata da semplici strumenti algebrici, può da sola
permetterci di evidenziare la gran parte delle ’patologie’ di cui soffrono i dati
sperimentali. Si può affermare che l’ispezione dei residui è uno strumento
diagnostico fondamentale il cui impiego dovrebbe rientrare tra le metodiche
di routine per ogni elaborazione statistica dei dati.
Si ricorda che i residui sono gli scostamenti tra i valori osservati e quelli
attesi sulla base del modello in studio; il metodo grafico più utilizzato per
il loro esame è quello di plottare i residui verso i valori attesi. Se non
vi sono problemi, i punti nel grafico dovrebbero essere distribuiti in modo
assolutamente casuale, come in fig. 1.
Il grafico dei residui, in R, viene ottenuto molto semplicemente ricorrendo
alla funzione grafica plot(modelObj\$fitted, modelObj\$residuals).
3
OSSERVAZIONI ABERRANTI
3
Figura 1: Residui distribuiti casualmente
3
Osservazioni aberranti
Le osservazioni aberranti (outliers) sono chiaramente indicate come punti
isolati rispetto agli altri (Figura 2).
Nel caso di outliers, l’ispezione grafica dei residui può essere supportata
dalla procedura indicata da Anscombe e Tukey. Con questa, si va alla ricerca
del residuo con valure assoluto più alto (che potrebbe quindi essere un outlier, cioè un dato aberrante) e lo si confronta con un valore massimo teorico
stabilito sulla base della varianza dell’errore e sul relativo numero di gradi
di libertà (Si rimanda al lavoro citato per ulteriori informazioni). Questa procedura può essere implementata ricorrendo alla funzione aggiuntiva
AnscombeTukey(lm-object) disponibile nel package aomisc.
Ad esempio consideriamo il dataset ’outlier.Rdata’ ed eseguiamo l’ANOVA:
> outlier
id x y
1
1 1 12
2
2 1 13
3
3 1 10
4
4 1 15
3
OSSERVAZIONI ABERRANTI
Figura 2: Presenza di un outlier
5
6
7
8
9
10
11
12
13
14
15
16
5
6
7
8
9
10
11
12
13
14
15
16
2
2
2
2
3
3
3
3
4
4
4
4
16
17
19
21
32
34
35
33
39
40
87
38
> model <- lm(y ~ factor(x), data=outlier)
> anova(model)
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value
Pr(>F)
factor(x) 3 3567.7 1189.2 8.0957 0.003245 **
4
4
DISOMOGENEITÀ DELLE VARIANZE
5
Residuals 12 1762.8
146.9
--Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
> model$residuals
1
2
3
4
5
6
7
8
9
-0.50
0.50 -2.50
2.50 -2.25 -1.25
0.75
2.75 -1.50
12
13
14
15
16
-0.50 -12.00 -11.00 36.00 -13.00
>
Il grafico dei residui (che qui non riportiamo) mostra un residuo isolato
rispetto agli altri, con un valore assoluto pari a 36.
Caricando i R la libreria aomisc ed utilizzando la funzione AnscombeTukey(), otteniamo l’indicazione che il residuo osservato è più alto di quello
massimo ammesso, e quindi la relativa osservazione può essere ritenuta un
dato aberrante. In questo caso, si propone una correzione (”least square
correction”) con un dato pari a 39
> library(aomisc)
> AnscombeTukey(y ~ factor(x), data=outlier)
The data in position n. 15 may be considered an outlier
The correct data is 39
>
4
Disomogeneità delle varianze
Se consideriamo il set di dati in tabella 1, eseguiamo l’ANOVA e plottiamo
i residui otteniamo il grafico in Figura 3.
Dal grafico, emerge una chiara proporzionalità tra media e varianza.
Viene quindi meno una delle assunzioni fondamentali per l’ANOVA e il test
di F, cioè l’omoschedasticità della risposta.
Questa evidenza può trovare conferma con il test di Bartlett, che può
essere facilmente eseguito in R mediante la funzione specifica.
>
>
>
>
>
Peso <- c(62,63,61,80,84,88,109,101,93,141,125,109)
Tesi < -c("A","A","A","B","B","B","C","C","C","D","D","D")
Tesi <- factor(Tesi)
model <- lm(Peso~Tesi)
plot(model$fitted,model$residuals,"p",col="red",
lwd=5,xlab="Valori osservati",ylab="Residui")
> bartlett.test(Peso~Tesi)
10
0.50
11
1.50
4
DISOMOGENEITÀ DELLE VARIANZE
6
Tabella 1: Tabella 2. Esempio di un set di dati affetto da eteroschedasticità
della risposta
Tesi Peso
A
62
A
63
A
61
B
80
B
84
B
88
C
109
C
101
C
93
D
141
D
125
D
109
Bartlett test of homogeneity of variances
data: Peso by Tesi
Bartlett’s K-squared = 8.7037, df = 3, p-value = 0.0335
Come atteso, il test è significativo e dimostra quindi la disomogeneità
delle varianze.
Tuttavia, il test di Bartlett è sensibile alla non-normalità delle distribuzione e, pertanto, gli viene spesso preferito un test molto semplice, cioè
il test di Levene, più robusto nei confronti di dati che non sono del tutto
caratterizzati dalla normalità delle distribuzioni. In questo caso è sufficiente
calcolare i residui dal modello in valore assoluto e sottoporli ad ANOVA. Se
il test F è significativo, i dati mostrano eteroschedasticità.
> Peso <- c(62,63,61,80,84,88,109,101,93,141,125,109)
> Tesi <- c("A","A","A","B","B","B","C","C","C","D","D","D")
> model <- lm(Peso ~ factor(Tesi))
> anova(lm(abs(model$residuals)~Tesi))
Analysis of Variance Table
Response: abs(model$residuals)
Df Sum Sq Mean Sq F value Pr(>F)
Tesi
3 169.000 56.333 2.0059 0.1918
Residuals 8 224.667 28.083
Come vediamo, questo test è più conservativo del precedente (forse troppo!) e consente di accettare l’omoschedasticità della risposta.
5
NON-NORMALITÀ DEGLI ERRORI
7
Figura 3: Analisi dei residui per un set di dati affetti da eteroschedasticità
della risposta
5
Non-normalità degli errori
Tra le possibili problematiche, la non-normalità delle distribuzioni non è
particolarmente grave, dato che (come riconosciuto da molti autori) il test
di F è sufficientemente robusto nei confronti delle deviazioni rispetto a questo
assunto.
Tuttavia, nell’ambito di una valutazione preliminare del modello anche
questo assunto dovrebbe essere verificato ricorrendo al QQplot, cioò plottando i residui standardizzati (divisi per la radice quadrata della varianza
d’errore) E ordinati contro i valori di z corrispondenti ai relativi quantili
della distribuzione normale standardizzata. Se i residui sono normali, essi
dovrebbero giacere sulla bisettrice del primo quadrante (fig. 4).
In R, un QQplot può essere disegnato con le funzioni qqnorm(residui) e
qqline(residui), passando loro come argomento il vettore dei residui.
6
Uso di R per l’analisi dei residui
L’analisi dei residui in R in relazione ad un modello lineare può essere eseguita molto semplicemente utilizzando la funzione plot() e passandole
come argomento il modello. L’output prodotto è una serie di quattro grafi-
6
USO DI R PER L’ANALISI DEI RESIDUI
8
Figura 4: Esempio di QQPlot
ci, visualizzabili in successione grazie alla pressione del tasto INVIO. E’
anche possibile visualizzare i quattro grafici sulla stessa pagina, sotto forma
di figura multipla, come nell’esempio seguente (figura 5)
Peso <- c(62,63,66,80,84,87,109,101,98,141,130,111)
Tesi <- c("A","A","A","B","B","B","C","C","C","D","D","D")
model <- lm(Peso ~ factor(Tesi))
par(mfrow=c(2,2))
plot(model)
Si può vedere che i primi due grafici in alto sono quelli già indicati in
precedenza (residui vs. attesi e QQplot); il terzo grafico (sx basso) è simile
al primo, ma considera la radice quadrata dei residui standardizzati (quindi
con varianza unitaria) presi in valore assoluto. Questo grafico mette meglio
in evidenza l’eteroschedasticità, sotto forma di una regressione lineare dei
residui verso gli attesi, con pendenze più o meno elevate. Inoltre, dato che
la varianza è unitaria, residui molto superiori ad 1 vanno guardati come
possibili outliers. L’ultimo grafico (dx basso) cambia a seconda del tipo di
modello e, per semplicità, verrà trascurato.
7
NON-ADDITIVITÀ DEI BLOCCHI NELL’ANOVA
9
Figura 5: Output del comando plot() applicato ad un oggetto lm
7
Non-additività dei blocchi nell’ANOVA
Consideriamo il set di dati i tabella 2, proveniente da una prova a blocco randomizzato; se eseguiamo l’ANOVA a blocco randomizzato otteniamo
l’analisi grafica dei residui riportata in Figura 6.
Anche in questo caso i residui non appaiono distribuiti casualmente,
ma è evidente una regressione curvilinea, sintomo chiaro di mancanza di
additività del modello (il blocco non agisce additivamente, ma ha un effetto
moltiplicativo), che richiede un qualche intervento correttivo.
La non-additività dei blocchi può essere confermata con il test di Tukey,
basato sulla constatazione che la mancanza di additività dell’effetto blocco fa
si che i residui presentino un qualche tipo di regressione (in genere quadratica) verso i valori attesi. Il test è disponibile caricando in R la libreria aomisc
ed utilizzando la funzione TukeyNA().
8
LACK OF FIT NELL’ANALISI DI REGRESSIONE
Tesi
A
A
A
B
B
B
C
C
C
Blocco
1
2
3
1
2
3
1
2
3
10
Peso
1.1
3.3
5.5
1.4
4.2
7.0
1.8
5.4
9.0
Tabella 2: Esempio di un set di dati affetto da non-adittività dei blocchi
Tesi <- rep(c("A", "B", "C"), each=3)
Blocco <- rep(c(1,2,3), 3)
Peso <- c(1.1, 3.3, 5.5, 1.4, 4.2, 7.0, 1.8, 5.4, 9)
model <- lm(Peso ~ factor(Blocco) + factor(Tesi))
library(aomisc)
TukeyNA(Peso, Tesi, Blocco)
$‘Test of Additivity‘
df Sum.of.Squares Mean.Squares
F Prob.
Non additivity 1
1.973333e+00 1.973333e+00 -807918478607074
1
Residual
7 -7.327472e-15 -2.442491e-15
$‘Suggested value for power transformation of data‘
[1] -1.776357e-15
8
Lack of fit nell’analisi di regressione
Consideriamo l’esempio seguente:
> x <- seq(from=10, to=100, by=10)
> x
[1] 10 20 30 40 50 60 70 80 90 100
> y <- c(70, 75, 89, 104, 118, 129, 135, 146, 148, 150)
> model <- lm(y ~ x)
> plot(model)
Il grafico dei residui (in figura 7). I residui mostrano chiaramente di essere negativi a sinistra, positivi al centro e ancora negativi a destra, deviando
sistematicamente dall’ipotesi di casualità.
9
AZIONI CORRETTIVE: LA PROCEDURA DI BOX E COX
11
Figura 6: Analisi dei residui per un set di dati affetti da non-additività degli
effetti (blocco e tesi)
Anche in questo caso è necassaria una riformulazione del modello, in
quanto sembra esservi una sistematica mancanza di adattamento dei dati
sperimentali.
Oltre all’ispezione grafica dei residui, che è sempre utile, esistono altri
strumenti che consentono di individuare eventuali problemi relativi alla distribuzione dei dati ed, eventualmente, indicare possibili correzioni. Ciò è di
particolare interesse per supportare con un vero e proprio test statistico le
problematiche eventualmente emerse con l’analisi dei residui.
9
Azioni correttive: la procedura di BOX e COX
In genere, quando siano violate alcune delle assunzioni di base per il test
d’ipotesi, piuttosto che ricorrere alla statistica non parametrica, si preferisce
ricorrere a trasformazioni correttive. Invece che utilizzare dette trasformazioni in modo arbitrario (es. trasformazione logaritmica per varianze proporzionali alle medie, trasformazione in radice per dati provenienti da conte,
che seguono la distribuzione di Poisson e trasformazione in arcoseno per proporzioni) si può impiegare la procedura suggerita da Box e Cox (1964), che
può contemporaneamente verificare se esistono violazioni delle assunzioni di
9
AZIONI CORRETTIVE: LA PROCEDURA DI BOX E COX
12
Figura 7: Analisi dei residui per un dataset che mostra mancanza
d’adattamento al modello lineare.
base e suggerire trasformazioni correttive. La procedura si basa su alcune
famiglie di trasformazioni, tra cui la più diffusa è:
dove W è la variabile trasformata, Y è la variabile originale e λ è il
parametro che definisce la trasformazione. In particolare, osserviamo che
se λ è pari ad 1 i dati non sono trasformati, se è pari a 0.5 abbiamo una
trasformazione in radice, se è pari a 0 abbiamo la trasformazione logaritmica,
se è pari a -1 abbiamo la trasformazione nel reciproco.
Se consideriamo valori di λ variabili tra -2.5 e 2.5 (ad esempio) con uno
scarto di 0.25, operiamo le relative trasformazioni e applichiamo il modello lineare ai dati trasformati, possiamo calcolare la verosimiglianza della
trasformazione, individuare il valore di λ che la massimizza ed utilizzarlo
per la trasformazione.
In R tutto questo è eseguibile automaticamente, anche se è necessario
caricare il package MASS, agendo da menu sulla voce Carica Pacchetto. La
funzione si applica sull’oggetto modello ed ha la seguente sintassi:
boxcox(model)
10
REFERENZE BIBLIOGRAFICHE PER APPROFONDIMENTI
13
Nei vari casi studio verranno forniti esempi sull’uso di questo importante
strumento correttivo.
10
Referenze bibliografiche per approfondimenti
Ahrens, W. H., D. J. Cox, and G. Budwar. 1990, Use of the arcsin and square
root trasformation for subjectively determined percentage data. Weed science 452-458.
Anscombe, F. J. and J. W. Tukey. 1963, The examination and analysis of
residuals. Technometrics 5: 141-160.
Babbini, M., B. Chiandotto, G. Chisci, R. d. Cristofaro, G. A. Maccararo,
N. Montanaro, F. Nicolis, E. Ottaviano, F. Salvi, and M. Turri. 1978.
Biometria: principi e metodi per studenti e ricercatori biologi. Padova: P.
552.
Box, G. E. P. and D. R. Cox. 1964, An analysis of transformations. Journal
of the Royal Statistical Society, B-26, 211-243, discussion 244-252.
Camussi , A., F. Moller , E. Ottaviano , and M. Sarli Gorla . 1986, Metodi
statistici per la sperimentazione biologica. Ed. Zanichelli.
Chatfield, C. 1985, The initial examination of data. J. R. Statist. Soc. A148, 3, 214-253 A-148: 214-253.
D’Elia, A. 2001, Un metodo grafico per la trasformazione di Box-Cox: aspetti esplorativi ed inferenziali. STATISTICA LXI: 630-648.
Draper, N. R. and H. Smith. 1981, Applied regression. John Wiley & Sons,
Inc. , New York, 2nd ed.
Saskia, R. M. 1992, The Box-Cox transformation technique: a review. Statistician 41: 169-178.
Snedecor, G. W. and W. G. Cochran. 1991. Statistical methods. AMES
(Iowa): IOWA State University Press, VIII Edition. P. 503.