ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che...

23
ANOVA 2 Monica Marabelli 15 Gennaio 2016

Transcript of ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che...

Page 1: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA 2

Monica Marabelli

15 Gennaio 2016

Page 2: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA a una via

Nella scorsa esercitazione abbiamo visto che nell’Analisi dellaVarianza (ANOVA) si considerano le medie di una variabiledipendente (quantitativa) negli strati indotti dalle modalitá diuna seconda variabile (qualitativa), detta variabile esplicativa ofattore.

Si vuole verificare l’ipotesi nulla che tutte le medie siano ugualicontro l’ipotesi alternativa che almeno una coppia di mediepresenti una differenza statisticamente significativa.

Page 3: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Esercizio 1E’ stato condotto uno studio per valutare la durata della vita tra imembri di sovranitá, aristocrazia e nobiltá in Inghilterra.

I dati sono nel file age.xls

setwd("X:/")age <- read.table (file="age.csv",

header=T,sep=",",dec=".")

str(age)

’data.frame’: 700 obs. of 2 variables:$ class : Factor w/ 3 levels "aris","gent",..: 1 3 2 1 1 2 1 3 3 1 ...$ age_death: int 81 43 70 54 90 56 50 63 38 56 ...

Page 4: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Visualizziamo graficamente i dati

boxplot(age_death~class, data=age)

Page 5: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA

modello <- aov (lm(age_death~class, data=age))summary(modello)

Df Sum Sq Mean Sq F value Pr(>F)class 2 2452 1226.2 4.073 0.0174 *

Residuals 697 209849 301.1– – –Signif. codes: 0 `***´ 0.001 `**´ 0.01 `*´ 0.05 `.´ 0.1 ` ´ 1

Pvalue < 0.05: c’é almeno una coppia di medie la cui differenzaé statisticamente significativa (per α = 0.05).

Page 6: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Test post hoc

Per individuare quali sono le medie significativamente diversetra loro, applichiamo il test HSD (honest significant difference)di Tukey

TukeyHSD (modello)

Tukey multiple comparisons of means95% family-wise confidence level

Fit: aov(formula = lm(age_death ~ class, data = age))

$classdiff lwr upr p adj

gent-aris -2.376541 -5.944069 1.1909858 0.2617559sovr-aris -4.787597 -8.752292 -0.8229026 0.0130255sovr-gent -2.411056 -6.369596 1.5474843 0.3257161

Page 7: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Verifica degli assunti

Prima di procedere all’analisi ANOVA, occorre tuttavia verificarei seguenti assunti:

I normalitá dei residui entro gruppiI omoschedasticitá dei residui entro gruppi (uguali varianze)I indipendenza dei residui entro gruppi

Page 8: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Normalitá dei residui

shapiro.test (resid(aov(lm(age_death~class, data=age)))[age$class == "gent"])

Shapiro-Wilk normality testdata: resid(aov(lm(age_death ~class, data = age)))[age$class == "gent"]W = 0.961, p-value = 1.597e-06

shapiro.test (resid(aov(lm(age_death~class, data=age)))[age$class == "sovr"])

Shapiro-Wilk normality testdata: resid(aov(lm(age_death ~class, data = age)))[age$class == "sovr"]W = 0.9756, p-value = 0.003201

Page 9: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Normalitá dei residui

shapiro.test (resid(aov(lm(age_death~class, data=age)))[age$class == "aris"])

Shapiro-Wilk normality testdata: resid(aov(lm(age_death ~class, data = age)))[age$class == "aris"]W = 0.9778, p-value = 0.0004311

Pvalue < 0.05 per tutte e tre le classi. Rifiutiamo l’ipotesi nullache i residui siano distribuiti normalmente.

Page 10: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Omoschedasticitá dei residui

bartlett.test (age_death~class, data=age)

Bartlett test of homogeneity of variances

data: age_death by classBartlett’s K-squared = 3.3476, df = 2, p-value = 0.1875

Pvalue > 0.05: non rifiutiamo l’ipotesi nulla che le varianze sianoomogenee.

Page 11: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Indipendenza dei residui

Installiamo in R il pacchetto lmtestI PackagesI Install package(s)

Page 12: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Indipendenza dei residui

I Scegliere uno dei CRAN Mirrors italiani (Milano)I Cercare il pacchetto lmtest

Page 13: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Indipendenza dei residui

library(lmtest) # Rendiamo disponibili le funzioni del pacchetto

Applichiamo il test di Durbin–Watson

dwtest (aov(lm(age_death~class, data=age)))

Durbin-Watson test

data: aov(lm(age_death ~ class, data = age))DW = 2.0574, p-value = 0.7765alternative hypothesis: true autocorrelation is greater than 0

Pvalue > 0.05: non rifiuto l’ipotesi nulla di indipendenza deiresidui.

Page 14: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Analisi non parametrica

Siccome l’ipotesi di normalitá non é stata confermata,effettuiamo un’analisi non parametrica: applichiamo il test diKruskal-Wallis.

kruskal.test (age_death~class, data=age)

Kruskal-Wallis rank sum test

data: age_death by classKruskal-Wallis chi-squared = 8.3987, df = 2, p-value = 0.01501

Pvalue < 0.05. Rifiuto l’ipotesi nulla: l’appartenenza alle treclassi sociali ha un effetto significativamente diverso sulladurata della vita.

Page 15: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA a blocchi randomizzati

Nell’analisi a blocchi randomizzati, gli individui sono suddivisi ingruppi omogenei, detti blocchi; gli individui di ogni bloccosaranno poi attribuiti in modo casuale (random) ai trattamenti.

Page 16: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Esercizio 2

Alcuni maialini d’India sono sottoposti a 4 diete differenti. 5gruppi di 4 animali ciascuno sono tenuti in identiche condizioniambientali. Entro blocco le condizioni ambientali sonoidentiche, tra blocchi le condizioni ambientali possono risultarediverse. Gli animali di ciascun gruppo sono assegnati a casoad ognuna delle 4 diete.

Il nostro scopo é studiare l’effetto del tipo di dieta sul peso deimaialini d’India, cioé verificare se esiste una differenza diincremento di peso tra le diverse diete somministrate.

Page 17: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Leggiamo i dati

I dati sono contenuti nel file maialini.csv

setwd("Y:/STATISTICA")dati <- read.table (file="maialini.csv",

header=T,sep=",",dec=".")

head(dati)

Blocco Dieta Peso1 1 1 1.52 1 2 2.73 1 3 2.14 1 4 1.35 2 1 1.46 2 2 2.9

Page 18: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Trasformiamo i dati nel formato corretto

str(dati)

’data.frame’: 20 obs. of 3 variables:$ Blocco: int 1 1 1 1 2 2 2 2 3 3 ...$ Dieta : int 1 2 3 4 1 2 3 4 1 2 ...$ Peso : num 1.5 2.7 2.1 1.3 1.4 2.9 2.2 1 1.4 2.1 ...

Per poter effettuare l’analisi, le variabili trattamento e bloccodevono essere fattori.Ricordarsi di trasformare i dati prima di effettuare l’analisi!

dati$Blocco <- factor(dati$Blocco)dati$Dieta <- factor(dati$Dieta)

Page 19: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA a blocchi randomizzati

Effettuiamo l’analisi della varianza

modello2 <- aov(lm(Peso ~ Dieta + Blocco, data=dati))summary(modello2)

Df Sum Sq Mean Sq F value Pr(>F)Dieta 3 8.154 2.7178 41.866 1.24e-06 ***

Blocco 4 0.393 0.0982 1.513 0.26Residuals 12 0.779 0.0649

– – –Signif. codes: 0 `***´ 0.001 `**´ 0.01 `*´ 0.05 `.´ 0.1 ` ´ 1

H0 che le 4 diete abbiano lo stesso effetto: rifiutata.H0 che l’effetto sia uguale tra i 5 blocchi: non rifiutata.

Page 20: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA a due vie con replica

Si parla di ANOVA a due vie quando viene studiato l’effetto didue variabili esplicative e si valuta anche l’interazione tra diesse.

Page 21: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Esercizio 3

Vogliamo studiare l’effetto sulla capacitá vitale di: tipo di lavoro,etá e loro interazione.

Leggiamo i dati contenuti nel file capacity.csv

setwd("Y:/STATISTICA")hum_cap <- read.table (file="capacity.csv",

header=T,sep=",",dec=".")

Page 22: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

Esercizio 3

str(hum_cap)

’data.frame’: 60 obs. of 3 variables:$ lavoro : Factor w/ 4 levels "A","B","C","D": 1 1 1 1 1 1 1 1 1 ...$ cl_eta : int 1 1 1 1 1 2 2 2 2 2 ...$ capacita: num 4.31 4.89 4.05 4.44 4.59 4.13 4.61 3.91 4.52 ...

Trasformiamo in fattore la variabile classi d’etá

hum_cap$cl_eta <- factor(hum_cap$cl_eta)

Page 23: ANOVA 2 · 2016-01-14 · ANOVA a una via Nella scorsa esercitazione abbiamo visto che nell’Analisi della Varianza (ANOVA) si considerano le medie di una variabile dipendente (quantitativa)

ANOVA a due vie con replica

modello3 <- aov(lm(capacita ~ lavoro*cl_eta, data=hum_cap))summary(modello3)

Df Sum Sq Mean Sq F value Pr(>F)lavoro 3 19.779 6.593 31.48 2.13e-11 ***cl_eta 2 12.309 6.154 29.38 4.65e-09 ***

lavoro:cl_eta 6 8.949 1.491 7.12 1.83e-05 ***Residuals 48 10.054 0.209

– – –Signif. codes: 0 `***´ 0.001 `**´ 0.01 `*´ 0.05 `.´ 0.1 ` ´ 1

I risultati indicano che sia il tipo di lavoro sia l’etá sial’interazione dei due fattori hanno un effetto significativo sullacapacitá vitale.