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.