anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >>...

36
22/01/2013 1 ANOVA ANALYSIS OF VARIANCE 1 2

Transcript of anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >>...

Page 1: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

1

ANOVA

ANALYSIS OF VARIANCE

1

2

Page 2: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

2

Disegnare i box plot

1 2 3 4

8

10

12

14

16

18

20

22

24

Valu

es

Column Number

>> boxplot(x)

3

CONCENTRAZIONE=LIVELLIREPLICHE 5 10 15 20

1 7 12 14 19

2 8 17 18 25

3 15 13 19 22

4 11 18 17 23

5 9 19 16 18

6 10 15 18 20

1, ,

1, ,ij i ij

i aY

j nµ τ ε

== + +

=

osservazioni

Media comune

Scostamenti dallaMedia comune errore

4

Page 3: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

3

TOTALE LIVELLI ERRORESS SS SS= +

Sum of

Squares

Indichiamo con ( 1)

LivelliLivelli

SSMS

a• =

Media quadratica

del trattamento

Indichiamo con ( 1)

erroreErrore

SSMS

a n• =

−Errore quadratico

medio

[ ] 2 ( 1)

erroreErrore

SSE MS E

a nσ

= =

E’ uno stimatore della

var. indipendentemente

dalla validità dell’ipotesi

nulla5

[ ]

2 2

0

2 2

0

, se è vera 0

( 1) , se è falsa 0

i

Livelli

Livelli

i

HSS

E MS Ea H

σ τ

σ τ

⇐ =

= = − > ⇐ ≠

[ ][ ]

1LIVELLI

ERRORE

E MS

E MS>

[ ] [ ]0 1Se : 0a Livelli Errore

H E MS E MSτ τ= = = ⇒ >⋯

1, ( 1)Livelli

a a n

Errore

MSFisher

MS− − ≈

6, 1, ( 1)Si rigetta l'ipotesi nulla se il valore della statistica test è maggiore di a a n

fα − −

Page 4: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

4

In Matlab c’è una procedura per effettuare l’ANOVA

>> anova1(x)

ans =

3.5926e-006

In Output

If X is a matrix, ANOVA1 treats each column as a separate group, and determines whether the population means of the columns are equal.This form of ANOVA1 is appropriate when each group has the same number of elements (balanced ANOVA).

7

1 2 3 4

8

10

12

14

16

18

20

22

24

Valu

es

Column Number

“Notched box-plots”: sono rappresentati gli intervalli di confidenza per la mediana; se si sovrappongono allora i livelli potrebbero avere la stessa mediana.

382.792Columns Livelli

SS SS= =

4 1 3Columns

df = − =

127.587Columns Livelli

MS MS= =

130.167Errors

SS =

4(6 1) 20Errors

df = − =

6.508Errors

MS =512.958

Totale Livelli ErrorsSS SS SS= + =

4*6 1 23Total

df = − =

Page 5: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

5

[P,ANOVATAB,STATS] = ANOVA1(...) returns an additional structure

of statistics useful for performing a multiple comparison of means

with the MULTCOMPARE function.

>> [P,ANOVATAB,STATS] = ANOVA1(x)

P = 3.5926e-006ANOVATAB =

'Source' 'SS' 'df' 'MS' 'F' 'Prob>F' 'Columns' [382.7917] [ 3] [127.5972] [19.6052] [3.5926e-006]'Error' [130.1667] [20] [ 6.5083] [] []'Total' [512.9583] [23] [] [] []

STATS = gnames: [4x1 char]n: [6 6 6 6]

source: 'anova1'means: [10 15.6667 17 21.1667]

df: 20s: 2.5511

9

6 8 10 12 14 16 18 20 22 24

4

3

2

1

Click on the group you want to test

3 groups have means significantly different from Group 1

Nell’output compare…

In basso leggiamo che gli altri 3 gruppi hanno media diversa dal primo gruppo. Se clicchiamo sul secondo gruppo….

La tabella STATS va data in input alla function multcompare:

>> [c,u]=multcompare(STATS)

10

Page 6: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

6

6 8 10 12 14 16 18 20 22 24

4

3

2

1

Click on the group you want to test

2 groups have means significantly different from Group 2

Scopriamo che due gruppi (quelli in rosso) hanno media diversa da quello in blu. Il gruppo la cui media è disegnata in grigio ha la stessa media (statisticamente) del gruppo in blu.

11

6 8 10 12 14 16 18 20 22 24

4

3

2

1

Click on the group you want to test

2 groups have means significantly different from Group 3

Questa è la situazione per il terzo gruppo….

12

Page 7: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

7

6 8 10 12 14 16 18 20 22 24

4

3

2

1

Click on the group you want to test

3 groups have means significantly different from Group 4

E questa è la situazione per il quarto gruppo….

Nell’output compaiono anche delle statistiche…

13

>> [c,u]=multcompare(STATS)

c =

1.0000 2.0000 -9.7892 -5.6667 -1.54411.0000 3.0000 -11.1226 -7.0000 -2.87741.0000 4.0000 -15.2892 -11.1667 -7.04412.0000 3.0000 -5.4559 -1.3333 2.78922.0000 4.0000 -9.6226 -5.5000 -1.37743.0000 4.0000 -8.2892 -4.1667 -0.0441

u =

10.0000 1.041515.6667 1.041517.0000 1.041521.1667 1.0415

>>

Intervallo di confidenza al 95% di default (si può cam-biare in input) •stima delle differenze dellemedie tra i due gruppi 1 e 2.

Le medie dei sottogruppi

Errori standard delle medie campionarie

14

>>sqrt(6.508)/sqrt(6)

Page 8: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

8

15

CONCENTRAZIONE=LIVELLI

REPLICHE 5 10 15 20

1 7 12 14 19

2 8 17 18 25

3 15 13 19 22

4 11 18 17 23

5 9 19 16 18

6 10 15 18 20

Medie 10 15,67 17 21,17

2( , )ij i ij iY Nµ τ ε µ τ σ= + + ≈ +

Anche per l’ANOVA è necessario verificare che l’errore inserito nel mo-

dello teorico sia gaussiano , come fattore che ingloba l’elemento stoca-

stico sperimentale.

Per calcolare i residui è necessario effettuarela differenza tra gli elementi delle singole colonnee le rispettive medie.

1) E’ possibile costruire una matrice le cui colonnesono uguali alle medie delle colonne.2) Effettuare la differenza tra la matrice dei datie questa matrice così costruita.3) Concatenare le colonne della matrice in un unicovettore.

16

>> for i=1:4media(:,i)=mean(x(:,i))*ones(6,1);end>> media

media =

10.0000 15.6667 17.0000 21.166710.0000 15.6667 17.0000 21.166710.0000 15.6667 17.0000 21.166710.0000 15.6667 17.0000 21.166710.0000 15.6667 17.0000 21.166710.0000 15.6667 17.0000 21.1667

>> appoggio=x-media;>> appoggio

appoggio =

-3.0000 -3.6667 -3.0000 -2.1667-2.0000 1.3333 1.0000 3.83335.0000 -2.6667 2.0000 0.83331.0000 2.3333 0 1.8333

-1.0000 3.3333 -1.0000 -3.16670 -0.6667 1.0000 -1.1667

>> res=[];>> for i=1:4 res=[res; appoggio(:,i)]; end>> res

res = -3.0000-2.00005.00001.0000

-1.0000...

Punto (1)

Punto (2)

Punto (3)

Page 9: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

9

>> normplot(res)

-3 -2 -1 0 1 2 3 4 5

0.02

0.05

0.10

0.25

0.50

0.75

0.90

0.95

0.98

Data

Pro

babili

ty

Normal Probability Plot

17

>> kstest(res/sqrt(6.508))

ans =

0

18

Page 10: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

10

TOTALE LIVELLI ERRORESS SS SS= +

NB: Tutto l’impianto del test resta inalterato. Dalla tabella dei risultati è possibile stimare la variabilità del fattore.

2 2

1

LivelliSS

E na

τσ σ

= + −

2

( 1)

ErrorsSS

Ea n

σ

= −

Esempio: Una compagnia di manufatti tessili progetta una

fabbrica con un elevato numero di telai. La compagnia vuole

studiare la variabilità tra un telaio e l’altro della resistenza tessile.

A questo scopo vengono selezionati 4 telai a caso e da

ogni telaio 4 campioni tessili a caso di cui viene misurata la

resistenza.

20

TELAIO

Repliche I II III IV

1 98 91 96 95

2 97 90 95 96

3 99 93 97 99

4 96 92 95 98

Page 11: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

11

1 2 3 4

90

91

92

93

94

95

96

97

98

99

Valu

es

Column Number

21

Terminiamo con l’analisi dei residui.

22

2 29.7292 1.8958

4τσ

−=

Page 12: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

12

>> kstest(res/sqrt(1.8958))

ans = 0

23

NORMPLOT

TEST DI KOLMOGOROV-S

24

LUNGHEZZA FIBRE

REPLICHE 1 2 3 4

1 8,99 11,62 11,85 7,57

2 9,89 11,40 11,33 11,27

3 9,61 11,11 11,84 8,94

4 9,31 10,80 13,83 7,85

5 9,35 11,72 11,05 9,28

Durata dei prototipiespresse in cicli10^6

Page 13: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

13

25

26

a) Fattore sperimentale (o di interesse): fattore che influenza diretta-mente la variabile di risposta Y.

Ex: tipo di fertilizzante che influenza la crescita di una pianta

b) Fattore sub-sperimentale (o fattore blocco): fattore che influenza indirettamente la variabile di risposta Y.

Ex: tipologia di terreno

c) Fattore accidentale (o fattore di perturbazione): componente errore

1 solo fattore: disegno completamente casualizzato

1 solo fattore + 1 fattore blocco: disegno a blocchi randommiz-

zato completo

più fattori: disegno fattoriale

Page 14: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

14

27

Campioni di fabbrica 1 2 3 4 5

A(1,30) C(1,70) D(2,00) A(1,20) B(1,80)

B(2.20) A(1,60) C(0) B(2) A(1.10)

C(1,80) B(2.40) A(0.50) D(4.10) D(3.40)

D(3.90) D(4.40) B(0.40) C(1.50) C(1.30)

Un disegno a blocchi randommizzato completo può essere il seguente:

A, B, C, D rappresentano i 4 composti chimici1,2,3,4,5 rappresentano le repliche (blocchi)

I dati vanno riordinati per l’impiego in MATLAB

28

COMPOSTI CHIMICI

REPLICHE I II III IV

1 1,30 2,20 1,80 3,90

2 1,60 2,40 1,70 4,40

3 0,50 0,40 0,00 2,00

4 1,20 2,00 1,50 4,10

5 1,10 1,80 1,30 3,40

Page 15: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

15

1 2 3 4

0.5

1

1.5

2

2.5

3

3.5

4

4.5

Valu

es

Column Number

SUI LIVELLI: COMPOSTI CHIMICI

29

Effettuando l’anova1(x) in MATLAB otteniamo il box-plot sulle colonne

SULLE RIGHE: BLOCCHI

1 2 3 4 5

0.5

1

1.5

2

2.5

3

3.5

4

4.5

Valu

es

Column Number

30

Effettuando l’anova1(x) in MATLAB otteniamo il box-plot sulle colonne

Page 16: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

16

31

Per effettuare l’anova tenendo conto del fattore principale e del fattore blocco, si usa la procedura per l’anova a due fattori:

>> anova2(x,1) Numero di repliche per sperimentazione

>> [P,ANOVATAB,STATS] = ANOVA2(x,1)

>> [c,u]=multcompare(stats)

È possibile stabilire quali medie differiscono

32

Differenze tra le medie (tra colonne)

Page 17: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

17

33

Differenze tra le medie (tra righe)

>> [P,ANOVATAB,STATS] = ANOVA2(x’,1)

>> [c,u]=multcompare(stats)

34

Repliche: possibilità di ripetere l’esperimento un numero finito di volte sempre nelle medesime condizioni sperimentali.

Unico modo per catturare la variabilità accidentale

Page 18: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

18

35

Effetto principale: quota di variabilità imputabile ai singoli fattori

Interazione: quota di variabilità imputabile al fattore A al variare dei livelli di B (e viceversa)

Nel caso di assenza di interazioni, si ha un effetto additivo tra gli effetti principali dei fattori sperimentali, cosa invece che non avviene in presenza di interazioni.

Page 19: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

19

38

Esperimenti fattoriali 2^k

Sono speciali tipi di esperimenti fattoriali in cui vengono presi in considerazione k fattori a soli 2 livelli.

Repliche

Ora Temperatura A B I II Medie Convenzione

1 120 -1 -1 22,1 17,4 19,75 (-1)

1 150 -1 1 27,6 32,5 30,05 b

1,5 120 1 -1 21,5 19,5 20,5 a

1,5 150 1 1 28,6 33,7 31,15 ab

( 1)−

Page 20: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

20

0 0.5 1 1.5 2 2.5 315

20

25

30

35Grafico delle interazioni

tempo di esecuzione

>> plot([1,2],x(1,:),[1,2],x(2,:))>> axis([0,3,15,35])

Un primo modo per visualizzare la presenza di interazioni è di natura grafica

40

Un secondo modo è per via

numerica.

120 150

122,1; 17,4 27,6; 32,5

(-1) b

1,5

21,5; 19,5 28,6; 33,7

a ab

(21.5 19.5) (28.6 33.7) (27.6 32.5) (22.1 17.4)0.925

4 4effA

+ + + + + += − =

( 1)

2 2

a ab beffA

n n

+ + −= −

(27.6 32.5) (28.6 33.7) (22.1 17.4) (21.5 19.5)10.475

4 4effB

+ + + + + += − =

( 1)

2 2

b ab aeffB

n n

+ + −= −

(22.1 17.4) (28.6 33.7) (21.5 19.5) (27.6 32.5)0.175

4 4effAB

+ + + + + += − =

( 1)

6 6

ab a beffAB

− + += −

Page 21: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

21

41

Un terzo modo è per via statistica: anova.

Var. Totale = Var. A + Var B + Var Interazioni + Var. Errore

42

1

1

( 1)( 1)

LivelliA

LivelliB

Interazione

SSE

a

SSE

b

SSE

a b

− −

2

( 1)

ErroreSSE

ab nσ

=

TEST SULLE INTERAZIONI

Se il test non rigetta l’ipotesi di assenza diinterazioni, allora si effettuano i test sui fattori>> ora

ora =

22.1000 21.500017.4000 19.500027.6000 28.600032.5000 33.7000

>> temp=2;

>> anova2(ora,temp)

ans =

0.8909 0.8778 0.9040

Page 22: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

22

43

1

1

( 1)( 1)

LivelliA

LivelliB

Interazione

SSE

a

SSE

b

SSE

a b

− −

2

( 1)

ErroreSSE

ab nσ

=

TEST SUL FATTORE A

44

1

1

( 1)( 1)

LivelliA

LivelliB

Interazione

SSE

a

SSE

b

SSE

a b

− −

2

( 1)

ErroreSSE

ab nσ

=

TEST SUL FATTORE A

Page 23: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

23

45

1

1

( 1)( 1)

LivelliA

LivelliB

Interazione

SSE

a

SSE

b

SSE

a b

− −

2

( 1)

ErroreSSE

ab nσ

=

TEST SUL FATTORE B

Il MATLAB non produce i box-plots

46

Repliche

Ora Temperatura I II

1 120 22,1 17,4

1 150 27,6 32,5

1,5 120 21,5 19,5

1,5 150 28,6 33,7

Box-plot per il fattore ORA

>> ora=[22.1, 21.5; 17.4, 19.5; 27.6, 28.6; 32.5, 33.7]

ora =

22.1000 21.500017.4000 19.500027.6000 28.600032.5000 33.7000

>> boxplot(ora,1)

Page 24: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

24

47

Repliche

Ora Temperatura I II

1 120 22,1 17,4

1 150 27,6 32,5

1,5 120 21,5 19,5

1,5 150 28,6 33,7

Box-plot per il fattore TEMPERATURA

>> temperatura=[22.1, 27.6; 17.4, 32.5; 21.5, 28.6; 19.5, 33.7]

temperatura =

22.1000 27.600017.4000 32.500021.5000 28.600019.5000 33.7000

>> boxplot(temperatura,1)

48

Validazione del modello

Repliche

Ora

Temperatur

a I II Media

1 120 22,1 17,4

24.91 150 27,6 32,5

1,5 120 21,5 19,5

25.8251,5 150 28,6 33,7

L’analisi dei residui va fatta per en-trambi i fattori.

Il calcolo dei residui va fatto calcolando lamedia per ogni livello del fattore

In MATLAB creo una matrice le cui colonne restituiscono la media campionaria dei livelli

>> y(:,1)=(24.9*ones(4,1));>> y(:,2)=(25.825*ones(4,1));>> y

y =

24.9000 25.825024.9000 25.825024.9000 25.825024.9000 25.8250

22.1-24.9 21.5-25.825

17.4-24.9 19.5-25.825

27.6-24.9 28.6-25.825

32.5-24.9 33.7-25.825

Page 25: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

25

49

>>z= ora - y

ans =

-2.8000 -4.3250-7.5000 -6.32502.7000 2.77507.6000 7.8750

Concatenarele colonnedella matrice in un unicovettore colonna

>> resA=[z(:,1); z(:,2)]

resA=

-2.8000-7.50002.70007.6000

-4.3250-6.32502.77507.8750

>>normplot(resA)

>> kstest(resA/sqrt(9.514))

ans =

0

L’analisi va fatta anche per il fattoretemperatura.

Non è di tipo 2^2.

Page 26: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

26

51

Calcolando i valori delle medie dei sottogruppi, si ha:

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 33.5

4

4.5

5

5.5

6

6.5Grafico interazioni

Imm

Spray

9.4

12 0.9

13 0.2888

23 1.1833

12 0.1333

13 0.15

23 0.2833

effVERN

effAREA

effAREA

effAREA

INT

INT

INT

= −

= −

=

=

= −

=

=

In questo esempio l’effetto può essere calcolato per via numerica, poiché le tre regioni testate non influenzano la risposta alla verni-ciatura delle altre. Questo calcolo non può però essere effettuatosempre.

52

1 2 3

Immers.

4 5,60 3,80

4,50 4,90 3,70

4,30 5,40 4,00

Vernic.

5,40 5,80 5,50

4,90 6,10 5,00

5,60 6,30 5,00

Per il calcolo dell’effetto verniciatura, bisogna sommare i contributi in rosso (dividerli per 2*9) e sottrarre la somma dei contributi in verde.

Per il calcolo dell’effetto 12, bisogna sommare i contributi in rosso (dividerli per 2*6) e sottrarre la somma dei contributi in verde.

1 2 3

Immers.

4 5,60 3,80

4,50 4,90 3,70

4,30 5,40 4,00

Vernic.

5,40 5,80 5,50

4,90 6,10 5,00

5,60 6,30 5,00

Page 27: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

27

53

>> verniciatura

verniciatura =

4.0000 5.6000 3.80004.5000 4.9000 3.70004.3000 5.4000 4.00005.4000 5.8000 5.50004.9000 6.1000 5.00005.6000 6.3000 5.0000

>> tempi=3;

>> [p,tbi,stats]=anova2(verniciatura, tempi)

Questa volta il MATLAB non produce i box-plot!

>> x=[verniciatura(1:3,1);verniciatura(1:3,2);verniciatura(1:3,3)]; >> x

x =

4.00004.50004.30005.60004.90005.40003.80003.70004.0000

>> app(1:9,1)=x;>> app(1:9,2)=[verniciatura(4:6,1);verniciatura(4:6,2);verniciatura(4:6,3)];>> boxplot(app,1)

54

>> boxplot(verniciatura,1)

Page 28: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

28

Superato il test delle interazioni, se si analizza il fattore riga ed il fattore colonna, l’analisi va conclusa con l’analisi dei residui

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

0.02

0.05

0.10

0.25

0.50

0.75

0.90

0.95

0.98

Data

Pro

babili

ty

Normal Probability PlotSulle colonne

>> media=mean(app);>> medie(:,2)=media(2)*ones(9,1);>> medie(:,1)=media(1)*ones(9,1);>>app1=[app(:,1)-medie(:,1);app(:,2)-medie(:,2)];>> normplot(app1)>> kstest(app1/sqrt(mserror))

Page 29: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

29

>> mediaver=mean(verniciatura);>> for i=1:3appver(:,i)=mediaver(i)*ones(6,1);end>> conc=[verniciatura(:,1)-appver(:,1); verniciatura(:,2)-appver(:,2); verniciatura(:,3)-appver(:,3)]; >> normplot(conc)

Page 30: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

30

PIANO FATTORIALE 2^3

60

A B C I prova II prova-1 -1 -1 (-1) -3 -11 -1 -1 a 0 1-1 1 -1 b -1 0-1 -1 1 c -1 01 1 -1 ab 2 3

1 -1 1 ac 2 1-1 1 1 bc 1 11 1 1 abc 6 5

( 1)−

( 1)−

Page 31: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

31

(-1) a

abb

cac

abcbc

- +

4

( 1)3

4

a ab ac abceffA

n

b c bc

n

+ + +=

− + + +− =

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

-

+

4

( 1)2.25

4

b ab bc abceffB

n

a c ac

n

+ + +=

− + + +− =

(-1) a

abb

cac

abcbc

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

Page 32: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

32

4

( 1)1.75

4

c ac bc abceffC

n

a b ab

n

+ + +=

− + + +− =

(-1) a

abb

cac

abcbc

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

( 1)

4

0.754

c ab abceffAB

n

a b bc ac

n

− + + +=

+ + +− =

(-1)a

abb

cac

abcbc

( 1)( )

2 2

( )2 2

( ) ( )

2

ab a beffAB Clow

n n

abc c ac bceffAB Chigh

n n

effAB Clow effAB ChigheffAB

+ − += −

+ +

= −

+=

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

Page 33: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

33

( 1)

4

0.254

b ac abceffAC

n

a c bc ab

n

− + + +=

+ + +− =

( 1)( )

2 2

( )2 2

( ) ( )

2

ac a ceffAC Blow

n n

abc b ab bceffAC Bhigh

n n

effAC Blow effAC BhigheffAC

− + += −

+ +

= −

+=

(-1)a

abb

cac

abcbc

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

( 1)

4

0.54

a bc abceffBC

n

b c ac ab

n

− + + +=

+ + +− =

( 1)( )

2 2

( )2 2

( ) ( )

2

bc c beffBC Alow

n n

abc a ac abeffBC Ahigh

n n

effBC Alow effBC AhigheffBC

− + += −

+ +

= −

+=

(-1)a

abb

cac

abcbc

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

Page 34: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

34

4

( 1)0.5

4

a b c abceffABC

n

ac bc ab

n

+ + +=

− + + +− =

(-1)a

abb

cac

abcbc

( 1)( )

2 2

( )2 2

( ) ( )

2

ab a beffAB Clow

n n

abc c ac bceffAB Chigh

n n

effAB Chigh effAB CloweffAB

+ − += −

+ +

= −

−=

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

Grafico delle interazioni AB

25 3010 -3,-1,-1,0 -1,0,1,112 0,1,2,1 2,3,6,5

10 10.2 10.4 10.6 10.8 11 11.2 11.4 11.6 11.8 12-2

-1

0

1

2

3

4Grafico delle interazioni AB

25%

30%

Costruire gli altri graficiper le interazioni per esercizio

A B C I prova II prova

-1 -1 -1 (-1) -3 -1

1 -1 -1 a 0 1

-1 1 -1 b -1 0

-1 -1 1 c -1 0

1 1 -1 ab 2 3

1 -1 1 ac 2 1

-1 1 1 bc 1 1

1 1 1 abc 6 5

Page 35: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

35

Grafico delle interazioni ABC

>> x=[-1,1];>> y=[-1,1];>> z=[-2, -0.5; 0.5, 2.5];>> mesh(x,y,z)>> hold on>> z1=[-0.5, 1; 1.5, 5.5]; >> mesh(x,y,z1)

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

1-2

0

2

4

6

A B C I prova II prova media

-1 -1 -1 (-1) -3 -1 -2,00

1 -1 -1 a 0 1 0,50

-1 1 -1 b -1 0 -0,50

-1 -1 1 c -1 0 -0,50

1 1 -1 ab 2 3 2,50

1 -1 1 ac 2 1 1,50

-1 1 1 bc 1 1 1,00

1 1 1 abc 6 5 5,50

Grafico delle interazioni ABC

>> x=[-1,1];>> y=[-1,1];>> z=[-2, -0.5; 0.5, 2.5];>> mesh(x,y,z)>> hold on>> z1=[-0.5, 1; 1.5, 5.5]; >> mesh(x,y,z1)

-1

-0.5

0

0.5

1 -1

-0.5

0

0.5

1-2

0

2

4

6

Per dare significatostatistico…ANOVA3!!

Per implementare l’ANOVAN in MATLAB l’unica difficoltà è costruire correttamente leassociazioni tra le prove e le combinazioni dei fattori.

Page 36: anovaold>> anova2(x,1) Numero di repliche per sperimentazione >> [P,ANOVATAB,STATS] = ANOVA2(x,1) >> [c,u]=multcompare(stats) È possibile stabilire quali medie differiscono 32 Differenze

22/01/2013

36

Costruiamo la matrice dei dati.

>> x=[-3,-1,0,1,-1,0,-1,0,2,3,2,1,1,1,6,5];

Costruiamo il vettore con le combinazioni dei livelli.

>> A=[10 10 12 12 10 10 10 10 12 12 12 12 10 10 12 12];>> B=[25 25 25 25 30 30 25 25 30 30 25 25 30 30 30 30];>> C=[250 250 250 250 250 250 300 300 250 250 300 300 300 300 300 300];

>> group={A; B; C}

group =

[1x16 double][1x16 double][1x16 double]

>> [p, tab, stats]=anovan(x,group,'full')

72

Completare l’analisi con i box-plots per i 3 fattori e l’analisi dei residui.