You are on page 1of 7

Analyse de la variance

Table des mati`res e


1 Introduction 2 Construire le mod`le et dcomposer la variabilit e e e 3 Application 4 Utilisation des fonctions lm et anova 5 Simulations 1 2 3 4 6

Introduction

Lanalyse de la variance (ANOVA) a pour objectif dtudier linuence dun ou plue sieurs facteurs sur une variable quantitative. Nous nous intresserons ici au cas o` les e u niveaux, ou modalits, des facteurs sont xs par lexprimentateur. On parle alors e e e de mod`le xe. Lorsque les niveaux des facteurs sont des variables alatoires le mod`le e e e est dit alatoire et linterprtation des rsultats sapplique ` lensemble des modalits e e e a e que la variable peut explorer. Pour le mod`le xe, les conclusions se restreigent aux e niveaux tests. e LANOVA se rsume ` une comparaison multiple de moyennes de dirents chantillons e a e e constitus par les direntes modalits des facteurs. Les conditions dapplication du e e e

TD Stats - DESS Bioinfo test paramtrique de comparaison de moyennes sappliquent donc ` nouveau. e a

Construire le mod`le et dcomposer la variabilit e e e

En microbiologie, la croissance dune bactrie (mesure par le diam`tre des colonies) e e e est tudie en fonction du pH du milieu. Pour cela, lexprimentateur choisit p niveaux e e e tes e e du pH et utilise ni (1 < i < p) bo de Ptri ensemences pour chaque niveau i du pH. Dans cet exemple, la variable ` expliquer est la croissance des colonies bactriennes a e et la variable explicative teste est le pH. Notons yij (1 < j < ni ) le diam`tre de e e la colonie pour la bo j du niveau i en pH. i est leet du pH au niveau i. est te la moyenne thorique du diam`tre des colonies bactriennes par bo de Ptri et e e e te e
ij

correspond ` lerreur rsiduelle. LANOVA ne peut tre ralise qu` partir de jeux de a e e e e a donnes respectant les conditions suivantes : e les yij sont des variables alatoires indpendantes e e elles sont normales et dcart-type constant e
ij

N (0, 2)

Le mod`le scrit : e e yij = + i +


ij ,

a Question : quelle est lhypoth`se nulle ` tester ? e Solution : H0 : i = 0, i , i et et


ij .

ij

` sont des valeurs thoriques de la population dont sont extraits les yij . A e

partir dun chantillon, on ne peut questimer leurs valeurs. Celles-ci sont notes y, i e e yi est la moyenne des yij pour le niveau i du facteur. ? Questions : comment calcule-t-on la valeur de
ij

TD Stats - DESS Bioinfo montrer que


p ni

i=1 j=1

(yij y) =
p i=1

p i=1

ni (yi y) +

ni

i=1 j=1

(yij yi)2
p i=1

Notons S1 , la valeur de
p i=1 ni j=1 (yij

ni j=1 (yij

y)2 , S2 , celle de

ni (yi y)2 , S3 celle de

yi )2 . S1 est la somme des carrs des carts ` la moyenne totaux. Ce e e a

terme se dcompose en un terme de variabilit inter-classe, S2 et un terme de variabilit e e e intra-classe S3 . La variabilit totale S1 est ainsi dcompose en deux termes, le premier e e e tant attribu au facteur. e e Le test de lhypoth`se nulle est ralis en calculant : e e e
1 N p 1 p1 p i=1 p i=1

ni (yi y)2
ni j=1 (yij

y i )2

Ce rapport scrit aussi : e


1 S p1 2 1 S N p 3

et, sous lhypoth`se nulle, suit une distribution de Fisher-Sndecor ` p 1 et N p e e a degrs de libert. e e Question : que reprsente le terme du numrateur ? e e Solution : une estimation de 2

Application
ecrin.txt utilis lors de la premi`re sance et transformer e e e

Charger le chier

HEU, SEM, STA en facteurs heu.fac, sem.fac et sta.fac. Questions : calculer S1 , S2 et S3 pour le facteur heure (utiliser la fonction tapply) Solution : > S1_sum((ric-mean(ric))^2); > S1 [1] 22396.04 > ni_summary(heu.fac); > mi_tapply(ric,heu.fac,mean); > S2_sum(ni*(mi-mean(ric))^2); > S2 3

TD Stats - DESS Bioinfo [1] 3071.284 > S3_sum((ric[heu.fac=="Matin"]-mi[1])^2) + sum((ric[heu.fac=="Soir"]-mi[2])^2); [1] 19324.76 leet du facteur heure est-il signicatif ( = 5%) ? > n_ni[1]+ni[2] > p_2; > (S2/(p-1))/(S3/(n-p)); 208.6751 Le test est donc signicatif : H0 peut tre rejete pour un risque = 5% e e

Utilisation des fonctions lm et anova

LANOVA est inclue dans le cadre plus large du mod`le linaire o` lobjectif est de btir e e u a et analyser un mod`le statistique permettant dexpliquer les variations dune variable e a ` partir dautres variables. lm est une fonction permettant de tester lajustement entre les prdictions dun mod`le et les observations. e e Exemple : > > > > > x_seq(1,10,1); y_rnorm(10,x); plot(x,y); lm1_lm(y~x); summary(lm1);

Call: lm(formula = y ~ x) Residuals: Min 1Q -0.73171 -0.41084 Median 0.05551 3Q 0.42011 Max 0.64607

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.4103 0.3711 1.106 0.301 0.9625 0.0598 16.094 2.23e-07 *** x --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 0.5432 on 8 degrees of freedom Multiple R-Squared: 0.97, Adjusted R-squared: 0.9663 F-statistic: 259 on 1 and 8 DF, p-value: 2.23e-07

TD Stats - DESS Bioinfo > abline(lm1);

y 2 4

10

4 x

10

Pour lANOVA, la variable explicative est quantitative. Prenons lexemple de lheure. Le mod`le scrit : e e > lm1_lm(ric~heu.fac); et lANOVA est ralise ensuite en utilisant lobjet lm1 : e e > anova(lm1); Analysis of Variance Table Response: ric Df Sum Sq Mean Sq F value Pr(>F) heu.fac 1 3071.3 3071.3 208.68 < 2.2e-16 *** Residuals 1313 19324.8 14.7 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Questions : raliser lANOVA ` partir du mod`le additif : yijk = + i + j + k + e a e station. Solution : > lm2_lm(ric~heu.fac+sem.fac+sta.fac); > anova(lm2); Analysis of Variance Table Response: ric Df Sum Sq Mean Sq F value Pr(>F) heu.fac 1 3071.3 3071.3 396.580 < 2.2e-16 *** sem.fac 51 6133.2 120.3 15.528 < 2.2e-16 *** 5
ijk ,

o` u

i mesure leet du facteur heure, j , celui du facteur semaine, k , celui du facteur

TD Stats - DESS Bioinfo sta.fac 13 3518.8 270.7 34.951 < 2.2e-16 *** Residuals 1249 9672.8 7.7 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 les rsultats sont-ils identiques lorsque lont modie lordre des variables explicae tives ?

Solution : Non. Lorsque A et B sont lis, YA+B donne des dcompositions des e e sommes des carrs des carts totaux distincts de celles obtenues ` partir YB+A. Il e e a est donc important de tenir compte de cet eet pour linterprtation des rsultats. e e Lorsque les deux facteurs sont orthogonaux (ou indpendants) les deux mod`les e e donnent les mmes rsultats. e e

Simulations

Questions Que fait la fonction suivante : generdonnees <- function(mu,variance,niveauxfac,niter) { donnees_matrix(ncol=2,nrow=sum(niter)); niveauxnom_vector(length=length(niveauxfac)); sumeffets_0; for(i in 1:length(niveauxfac)) { niveauxnom[i]_i; sumeffets_sumeffets+niveauxfac[i]; } if(sumeffets) print("La somme des effets doit etre nulle !"); donnees[,1]_rep(niveauxnom,niter); pos_1; for(i in 1:length(niveauxfac)) { for(j in 1:niter[i]) 6

TD Stats - DESS Bioinfo { donnees[pos,2]_niveauxfac[i]+mu+rnorm(1,sd=sqrt(variance)); pos_pos+1; }

} donnees; }

Ecrire une nouvelle fonction, utilisant generdonnes, et permettant de tester leet du facteur On ralise ` prsent une centaine ditrations en imposant labsence deet du facteur. e a e e Questions : calculer la moyenne et la variance des statistiques F de Fisher. Conclusions ? Solution : la moyenne tend vers 1 (H0 est vraie en ralit) et la variance est tr`s e e e forte. calculer la moyenne des probabilits associes aux statistiques F e e Solution : la moyenne est proche de 0.5 car lorsque H0 est vraie, F est distribu e selon une loi uniforme Raliser ` prsent 100 itrations pour 4 niveaux de facteurs avec 1 = 1, 2 = 1.2, e a e e e e 3 = 1, 4 = 1.2, = 10, 2 = 5, et 10 rptitions pour chaque niveaux du facteur. Question : quelle est la puissance du test dans ces conditions ? Discutez . . . Solution : 1 0.3

You might also like