Teoria 3 Anova

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

Maestría en Aplicaciones de

Información Espacial

Análisis de la Varianza

(ANOVA)

Prof. María Laura Nores (FAMAF, UNC)


Ejemplo 1

Se tomaron aleatoriamente muestras de agua de cuatro zonas diferentes de un


río para determinar si la cantidad de oxígeno disuelto (COD) variaba de una
zona a otra. La COD es una medida de la contaminación del agua, cuanto
mayor es la contaminación, menores serán las cantidades de oxígeno disuelto.
Las zonas 1 y 2 se eligieron pasando una planta industrial, una cerca de la orilla
y la otra a mitad del río; la zona 3 se encontraba junto a la descarga industrial
de agua de la planta y la zona 4 se localizaba río abajo a la mitad de éste.

Zona Cantidad de oxígeno disuelto


1 5.9 6.1 6.3 6.1 6.0
2 6.3 6.6 6.4 6.4 6.5
3 4.8 4.6 5.0 4.7 5.1
4 6.0 6.2 6.1 5.8

¿Proporcionan los datos suficiente evidencia que indique una diferencia en la


cantidad media de oxígeno disuelto en las cuatro zonas?
> COD <- c(5.9,6.1,6.3,6.1,6.0,6.3,6.6,6.4,6.4,6.5,4.8,4.6,5.0,
+ 4.7,5.1,6.0,6.2,6.1,5.8)
> zona <- factor(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4))
> plot(zona,COD)

Medias muestrales por zona

> tapply(COD,zona,mean)
1 2 3 4
6.080 6.440 4.840 6.025

Desvíos estándar por zona

> tapply(COD,zona,sd)
1 2 3 4
0.1483240 0.1140175 0.2073644 0.1707825
Análisis de la varianza para un diseño de un factor: el modelo

Se centra en la comparación de medias de más de dos grupos o poblaciones.


Supongamos que tomamos muestras aleatorias independientes de k poblaciones
normales con medias µ1, µ2 , … , µk y varianza común σ2.
Sea ni el número de observaciones en la muestra tomada de la i-ésima
población (tratamiento i o nivel i del factor), i =1,…,k.
Sea Yij la respuesta de la j-ésima unidad experimental en la i-ésima población.
Las Yij se consideran variables aleatorias independientes que generan los
valores observados yij , con Yij ∼ N ( µi ,σ 2 ) .

El modelo es:
Yij = µ + τ i + ε ij i = 1,…,k, j = 1,…, ni

µi
µ = media general
k
τ i = efecto del tratamiento i, con ∑ i =1τ i = 0
ε ij = término de error aleatorio, desviación aleatoria respecto de la media µi
{ε } son variables aleatorias independientes, ε
ij ij ∼ N ( 0,σ 2 )
Comparación de medias
Hipótesis de interés

Se desea testear
H0 : µ 1 = µ 2 = … = µ k
contra
Ha: por lo menos dos de las µi son diferentes
(µi ≠ µi’ para algún i ≠ i’)

De manera equivalente:
H0: τ1 = τ2 = … = τk = 0
contra
Ha: τi ≠ 0 para por lo menos un i
El análisis de la varianza se basa en descomponer la variabilidad total
de los datos en dos componentes: la debida a la diferencia entre los
tratamientos (variabilidad entre tratamientos) y la que puede atribuirse
a un error aleatorio (variabilidad dentro de los tratamientos).
Descomposición de la suma total de cuadrados
k ni k ni ni
2
SCTotal = ∑∑ Yij − Y ..
i =1 j =1
( ) ∑∑ Y
i =1 j =1
ij k ∑Y
j =1
ij

Y .. = N = ∑ ni Y i. =
k 2 N ni
(
SCTrat = ∑ ni Y i. − Y ..
i =1
) i =1

ni
k 2 k
1 ni 2
SCError = ∑∑ Yij − Y i.
i =1 j =1
( ) = ∑ ( ni -1) S
i =1
i
2
i
2
S = ∑
ni − 1 j =1
(
Yij − Y i. )

Puede mostrarse que:

k ni k k ni
2 2 2
∑∑ (Y
i =1 j =1
− Y ..
ij ) (
= ∑ ni Y i . − Y .. + ∑∑ Yij − Y i .
i =1 i =1 j =1
) ( )
  
SCTotal SCTrat SCError
Grados de libertad asociados a cada suma de cuadrados:

glTotal = N - 1
glTrat = k - 1
glError = N - k

Se definen los “cuadrados medios”:

SCTrat SCTrat
CMTrat = =
glTrat k -1

SCError SCError
CMError = =
glError N -k
Bajo los supuestos del modelo,
k ni
2
∑∑ (
i =1 j =1
Yij − Y i . )
CMError =
N −k

es un estimador insesgado de σ2 , esto es, E (CMError) = σ2

Por otro lado,


k

∑ii
n τ 2

E ( CMTrat ) = σ 2 + i =1


 − 1
k
≥0
Luego, cuando H0 es verdadera,
E (CMTrat) = E (CMError) = σ2
Cuando H0 es falsa,
E (CMTrat) > E (CMError) = σ2

Estadístico de prueba:
CMTrat
F=
CMError

Valores grandes del estadístico de prueba conducen al rechazo de la


hipótesis de la igualdad de medias.

Bajo H0, el estadístico F tiene una distribución F con k -1 grados de


libertad en el numerador y N - k grados de libertad en el denominador.
Sea Fobs el valor observado del estadístico F.
Entonces, se rechaza H0 a nivel α si Fobs ≥ Fα ,k −1, N −k
Tabla de análisis de la varianza para un diseño de un factor

Fuente de gl Suma de Cuadrado Fobs p-valor


variación cuadrados medio
Tratamiento k -1 SCTrat SCTrat CMTrat P(F > Fobs)
k −1 CMError
Error N-k SCError SCError
N −k
Total N-1 SCTotal

La tabla se completa realizando los cálculos con los valores observados yij

k ni k k ni
2 2 2
∑∑ ( y
i =1 j =1
− y..
ij ) ( )
= ∑ ni y i . − y.. + ∑∑ yij − y i.
i =1 i =1 j =1
( )
   
SCTotal SCTrat SCError
En el ejemplo 1:

> fit <- aov(COD ~ zona)


> summary(fit)

Df Sum Sq Mean Sq F value Pr(>F)


zona 3 7.2247 2.40824 90.422 7.86e-10 ***
Residuals 15 0.3995 0.02663
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Ejemplo 2

Para determinar si existen diferencias en la cosecha media de tres variedades de


maíz, se consideraron 15 parcelas iguales. Luego se sembró cada una de 5
parcelas con una variedad de maíz. En el momento de la cosecha, la medición
de interés fue el número de toneladas por acre.
Completar la siguiente tabla de análisis de la varianza para este problema:

Fuente de gl Suma de Cuadrado Fobs p-valor


variación cuadrados medio
Variedad 64 0.002

Error

Total 100
Métodos de comparaciones múltiples

Si H0 es rechazada, entonces las medias correspondientes a los diferentes


grupos no son todas iguales.
Pero… ¿son todas distintas entre sí?
¿O sólo hay algunas que difieren entre sí?

Para saber a dónde están las diferencias, deben realizarse pruebas a posteriori
o comparaciones múltiples.

Ejemplos: Métodos de Tukey, Fisher, Duncan, Bonferroni.


Comparación de las medias de COD en las distintas
zonas del río por el método de Tukey
> TukeyHSD(fit)
Tukey multiple comparisons of means
95% family-wise confidence level

Fit: aov(formula = COD ~ zona)

$zona
diff lwr upr p adj
2-1 0.360 0.06251907 0.65748093 0.0155783
3-1 -1.240 -1.53748093 -0.94251907 0.0000000
4-1 -0.055 -0.37052618 0.26052618 0.9572569
3-2 -1.600 -1.89748093 -1.30251907 0.0000000
4-2 -0.415 -0.73052618 -0.09947382 0.0085900
4-3 1.185 0.86947382 1.50052618 0.0000001
> plot(TukeyHSD(fit))
Validación del modelo
¿Cómo chequear los supuestos del ANOVA?

Supusimos que {ε ij } son variables aleatorias independientes con distribución


normal con media 0 y varianza común σ2.

Resumiendo, requerimos:
•Independencia
•Normalidad
•Homogeneidad de varianzas

La validez del supuesto de independencia generalmente se asegura mediante un


buen proceso de aleatorización. Por ejemplo, asignando aleatoriamente a los
individuos a los distintos tratamientos previamente a la realización del
experimento.

Los residuos del modelo son útiles para comprobar los supuestos. Si el modelo
es adecuado, los residuos no deben tener estructura, no debe haber patrones
marcados.
ɵy = y
Valores predichos (o ajustados): ij i.

Residuos: rij = yij − ɵy ij = yij − y i.

Residuos estandarizados: rij*

Se obtienen dividiendo a los rij por un factor de corrección.


Si el modelo es adecuado, deberían comportarse aproximadamente como
realizaciones de una variable aleatoria N(0,1).
Gráficos de residuos (estandarizados) versus valores predichos

r* r*

ɵy ɵy

Gráfico adecuado Sugiere falta de cumplimiento del


supuesto de homogeneidad de varianzas
En el ejemplo 1:

> plot(fitted.values(fit), rstandard(fit),


xlab = "Valores predichos", ylab = "Residuos estandarizados")
Prueba de Levene
Para chequear el supuesto de homogeneidad de varianzas

Se desea contrastar
H 0 : σ 12 = σ 22 = … = σ k2

contra la alternativa de que H0 es falsa.

Para ello, se realiza un ANOVA considerando como variable respuesta al valor


absoluto de los residuos del modelo. El factor de clasificación es el mismo que
se utilizó en el ANOVA basado en la variable original.
En el ejemplo 1:

> summary(aov(abs(residuals(fit))~zona))
Df Sum Sq Mean Sq F value Pr(>F)
zona 3 0.017999 0.0059996 0.8731 0.4769
Residuals 15 0.103080 0.0068720
Otro comando para hacer la prueba de Levene:

> library(lawstat)
> levene.test(COD,zona,location = "mean")

classical Levene's test based on the


absolute deviations from the mean

data: COD
Test Statistic = 0.8731, p-value = 0.4769
QQ-plot e histogramas de los residuos (estandarizados)
Gráficos para chequear el supuesto de normalidad
En el ejemplo 1:
> qqnorm(rstandard(fit)); qqline(rstandard(fit))
> hist(rstandard(fit))
Pruebas de normalidad sobre los residuos (estandarizados)

Shapiro-Wilks

Kolmogorov-Smirnov

En H0 se plantea que la distribución es normal y en Ha que no lo es.


En el ejemplo 1:

> shapiro.test(rstandard(fit))

Shapiro-Wilk normality test

data: rstandard(fit)
W = 0.9631, p-value = 0.6341

> library(nortest)

> lillie.test(rstandard(fit))

Lilliefors (Kolmogorov-Smirnov) normality test


data: rstandard(fit) D = 0.12, p-value = 0.6691

También podría gustarte