jueves, 24 de enero de 2019

COMPROBACIÓN DE LOS SUPUESTOS DEL ANÁLISIS DE VARIANZA CON R


COMPROBACIÓN DE LOS SUPUESTOS DEL ANÁLISIS DE VARIANZA CON R

Ing. Luis Manfredo Reyes
La técnica conocida como Análisis de Varianza (ANDEVA, ANOVA o ANVA), se utiliza intensamente en la experimentación para comparar varios grupos, llamados tratamientos.
La hipótesis nula que se prueba con el ANDEVA, es que “todos los tratamientos son iguales”,  contra la hipótesis alterna que “al menos uno de los tratamientos es distinto a los demás”.

El análisis de varianza, está construido sobre supuestos teóricos, que en la mayoría de casos nunca son comprobados.




Una de las excusas más utilizadas es “SI LA VARIABLE DE RESPUESTA ES CONTÍNUA, SEGURAMENTE ES NORMAL”.

También anteriormente, no se tenía la tecnología informática que permitiera realizar las pruebas en forma rápida y efectiva.
Ahora sí existe la tecnología (se acabaron las excusas). De todas las opciones disponibles, tanto comerciales como gratuitas y libres, destaca el lenguaje R.

R es actualmente el lenguaje  estadístico más utilizado en el mundo académico y de investigación, primero por su potencia de procesamiento, y en segundo lugar por ser un software libre.
R  puede ser descargado del siguiente sitio: http://www.r-project.org/
Existen versiones para Windows, Mac, Linux y Android

Se asume que los lectores tienen conocimientos básicos  de cómo se utiliza el programa R

SUPUESTOS DEL ANÁLISIS DE VARIANZA
1)    La variable de respuesta debe medirse en una escala por lo menos de intervalo
2)    Las observaciones son independientes
3)    La distribución de los errores debe ser normal
4)    Las varianzas deben ser  iguales (Homocedasticidad)

Prueba de Homogeneidad de Varianza
Para verificar el supuesto de homogeneidad de varianzas de los grupos comparados, de aplica la prueba de Levene , la prueba Q de Cochran, o la prueba de Bartlett

COMPROBACION DEL SUPUESTO DE NORMALIDAD DE LOS ERRORES
Métodos gráficos: Una primera posibilidad consiste en obtener histogramas con curvas superpuestas de la distribución Normal para cada tratamiento.
Otra posibilidad son las gráficas QQ que sitúan los cuantiles de la distribución de la muestra respecto de los cuantiles del modelo de distribución normal.
Cuando ambas distribuciones coinciden los puntos se sitúan sobre una recta, y en la medida que la distribución de la muestra difiera de la distribución normal se sitúan fuera de la recta.

Pruebas de bondad de ajuste
Los procedimientos analíticos más precisos se basan en pruebas de bondad de ajuste que someten a prueba la hipótesis de que la distribución de la muestra se ajusta al modelo Normal.
La prueba de Kolmogorov-Smirnov o la de Shapiro-Wilk pueden ser utilizadas a este propósito.

COMPROBACION DE LA INDEPENDENCIA
Los datos de cada tratamiento deben provenir de observaciones no correlacionadas, es decir al azar. Esto en parte se logra al inicio del experimento por medio del proceso de aleatorización .

Sin embargo es posible que aún se viole el supuesto.
Pruebas para detectar falta de independencia
Prueba de rachas (aleatoridad)
Prueba de Durbin Watson
Pruebas de chi cuadrado de bondad de ajuste

Consecuencias de la violación de las hipótesis del modelo

La pregunta que ahora surge es:  qué efectos genera la violación de los supuestos del análisis de varianza :

i) Independencia de los errores.
ii) Normalidad de los errores.
iii) Igualdad de varianzas de tratamientos.


Dependencia entre los términos de error
La no independencia entre los términos de error puede producir graves efectos en la inferencia. Debido a que este incumplimiento es a veces  difícil de corregir, es importante evitarlo cuando sea factible. Una forma de conseguirlo es mediante el uso de la aleatorización y otra forma es modificando el modelo.

Desviación de los errores de la normalidad
a)    Inferencias sobre las medias: se refiere únicamente a los efectos del factor (estimación puntual o por intervalos para medias, contraste de igualdad de medias, contrastes múltiples de medias, etc.)

b) Inferencias sobre las varianzas: incluye la estimación puntual o por intervalos de la varianza o de componentes de la varianza e inferencia sobre la razón  de varianzas.

El efecto de la falta  de normalidad afecta de manera desigual a estos tipos de inferencias. En general, si la desviación de la normalidad no es muy grave, es poco importante en la inferencia sobre medias y más grave en la inferencia sobre varianzas.

Además, en los dos casos, las estimaciones puntuales siguen siendo insesgadas y en los contrastes de hipótesis se modifican  el error de tipo I y su potencia. Generalmente, dicho error es ligeramente mayor que el nominal y la potencia menor que la teórica.

Heterocedasticidad del término error
Cuando las varianzas de los términos de error de cada nivel no son iguales,lal prueba  F para la igualdad de medias de los tratamientos está poco afectado si todas las repeticiones de los tratamientos son iguales o difieren muy poco, pero no ocurre lo mismo cuando hay grandes diferencias entre dichas repeticiones o cuando una varianza es mucho mayor que las otras.

En el caso de dos grupos de igual tamaño, la violación de la hipótesis de homocedasticidad para n grande es aún menos importante que en el caso general, así, por ejemplo, la potencia del test F será la teórica si y sólo si los tamaños de cada grupo son iguales.

EJEMPLO DE APLICACIÓN USANDO R (DATOS REALES)

En 1996 se realizó un diagnóstico de los conocimientos con los que ingresaban los alumnos de nuevo ingreso a la Facultad de Ciencias Químicas y Farmacia de la Universidad de San Carlos de Guatemala . Se les aplicó un test con temas de álgebra, geometría, física y trigonometría y se calculó una nota final (entre cero y 100)

La pregunta de investigación que se desea responder es:

“HAY DIFERENCIAS ENTRE LAS NOTAS OBTENIDAS, DEPENDIENDO DEL TITULO DE SECUNDARIA  CON EL QUE INGRESARON ¿”

Los datos están contenidos en un archivo tipo CSV, que se puede obtener en el sitio: http://www.mediafire.com/file/54xb7t6rygxy5qb/DIAGNOSTICO.csv/file

1.    Importar el archivo a R (suponiendo que los datos ya fueron descargados y están en la unidad E)
Datos<-read.table(“E/DIAGNOSTICO.csv, header=TRUE, sep=”,”,
na.strings=”NA”)

2.    Realizar un análisis visual de las variables independientes (tratamientos)
Boxplot(NOTA~TITULO,data=Datos,id=(list(method=”y”))




Se observan diferencias de promedios entre los títulos, y la variabilidad es aparentemente distinta . El mayor promedio lo presentan los agrónomos y el menor los maestros.

3.    Realizar el andeva preliminar, presentar resultados
Andeva1<-aov(NOTA~TITULO,data=Datos)
Summary(Andeva1)
                     Df  Sum Sq   Mean Sq F value  Pr(>F)  
TITULO        5     5842      1168.3      4.139 0.00155 **
Residuals   139  39240       282.3                  
-Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

4. Presentar promedios por tratamiento
With(Datos, numSummary(NOTA, groups=TITULO, statistics=c(“mean”,”sd”)))

                         mean       sd data       :n
AGRONOMO   52.62500 15.65647      8
BACHILLER     41.37805 17.41196     82
COMPUTO       36.00000 22.62742      2
CONTADOR     30.69231 17.13371     13
MAESTRO       28.95455 12.98892     22
SECRETARIA  45.72222 17.80550     18

5.    Cargar paquetes para pruebas de validación
Si no están instaladas es necesario instalarlas antes
library(agricolae)
Loading required package: agricolae
library(car)
Loading required package: car
library(ggplot2)
Loading required package: ggplot2
library(outliers)
Loading required package: outliers

6.    Extraer y mostrar  los residuos  del objeto Andeva1
Residuos<-residuals(Andeva1) 
Residuos 
1           2           3           4           5           6           7
  6.6219512 -17.3780488   6.6219512   2.6219512   2.6219512  18.6219512 -16.9545455
          8           9          10          11          12          13          14
 -6.6923077  26.6219512 -21.3780488  19.0454545   2.6219512 -21.7222222  -1.3780488
         15          16          17          18          19          20          21
 26.6219512  -9.3780488  14.6219512  30.6219512  -1.3780488 -13.3780488  18.2777778
         22          23          24          25          26          27          28
  7.0454545  -4.9545455  -1.3780488  -1.3780488  14.6219512 -21.3780488   5.3076923
         29          30          31          32          33          34          35
-17.3780488  -1.3780488   2.6219512  -9.3780488  -0.9545455   6.6219512 -13.3780488
         36          37          38          39          40          41          42
 10.6219512  -0.9545455  26.6219512  -9.3780488  10.6219512  19.3750000   6.6219512
         43          44          45          46          47          48          49
-25.3780488   6.6219512  50.6219512 -13.3780488  26.2777778  30.2777778  14.2777778
         50          51          52          53          54          55          56
 14.2777778  26.2777778  14.6219512  10.6219512  22.6219512  30.6219512  14.6219512
         57          58          59          60          61          62          63
 34.6219512  23.0454545   3.0454545   1.3076923  -4.9545455 -21.7222222  -5.3780488
         64          65          66          67          68          69          70
 -5.3780488 -17.3780488 -14.6923077 -13.3780488  -8.9545455 -13.3780488  -5.7222222
         71          72          73          74          75          76          77
-10.6923077  -1.3780488  -1.3780488  -1.3780488  -1.3780488  -5.3780488  -5.3780488
         78          79          80          81          82          83          84
-29.3780488  -9.3780488 -33.3780488 -13.3780488   2.6219512 -21.3780488  -9.3780488
         85          86          87          88          89          90          91
 -1.3780488 -16.0000000 -12.9545455 -20.6250000 -25.3780488  -8.9545455   7.0454545
         92          93          94          95          96          97          98
 -4.9545455 -13.3780488 -25.7222222   2.2777778  -1.3780488 -16.9545455  14.6219512
         99         100         101         102         103         104         105
 16.0000000  -5.7222222  49.3076923  -2.7222222 -13.7222222  15.3750000 -18.7222222
        106         107         108         109         110         111         112
-15.9545455  -8.9545455   6.0454545  -7.9545455   9.0454545   9.0454545  -5.6923077
        113         114         115         116         117         118         119
  1.3076923  12.3076923 -17.6923077  -0.6923077 -13.6923077   0.3076923  -9.7222222
        120         121         122         123         124         125         126
-14.6250000  10.3750000  11.3750000  -9.6250000 -11.6250000  -0.7222222  -5.7222222
        127         128         129         130         131         132         133
 31.0454545 -11.3780488 -11.3780488  47.6219512   0.6219512  16.6219512  -7.3780488
        134         135         136         137         138         139         140
 26.6219512   5.6219512 -24.3780488   3.6219512 -18.3780488  26.6219512  13.6219512
        141         142         143         144         145
-15.3780488 -16.3780488 -18.3780488 -24.3780488  -5.3780488

7.  Verificación de Independencia de los residuos
Este supuesto necesita  que la probabilidad de que el residuo de una observación cualquiera tenga un determinado valor, no debe depender de los valores de los otros residuos. Al momento de aleatorizar, debió controlarse, pero se realiza la prueba de Durbin Watson (DW) para tener la seguridad del cumplimiento de este supuesto,

durbinWatsonTest(Andeva1) 
lag Autocorrelation D-W Statistic p-value
   1       0.1110966      1.775952   0.128
 Alternative hypothesis: rho != 0

Debido a que el valor es cercano a 2, y que la significancia es mayor que 0.01 y 0.05, se concluye que los datos no están correlacionados, con lo que se verifica el supuesto (LOS RESIDUOS SON INDEPENDIENTES)

Distribución normal de los residuos

Este supuesto dice que los residuos deben tener distribución normal estándar (media cero y varianza 1). A continuación, se calcula y presenta una curva de densidad observada de las frecuencias de los residuos y el gráfico de probabilidad normal, tomando en cuenta que la curva de densidad observada se debería parecer a una  campana de Gauss, y que, en el gráfico de probabilidad normal, los cuantiles observados de los residuos de la variable nota  (representados por los puntos negros) se aproximan a la línea central que representa los cuantiles de una distribución normal teórica. Para tener la certeza del cumplimiento de este supuesto se realiza la prueba de Shapiro Wilk.
par(mfrow=c(1,2)) 
dplot<-density(residuos) 
plot(dplot,
      main="Curva de densidad observada", 
      xlab = "Residuos", 
      ylab = "Densidad") 
polygon(dplot, 
        col = "red", 
        border = "black") 
 
qqPlot(Residuos,
       pch =20, 
       main="Gráfica QQ-Plot de los residuos", 
       xlab = "Cuantiles teóricos",  
       ylab="Cuantiles observados de los residuos") 
mtext(side=3, at=par("usr")[1], adj=0.7, cex=0.6, col="gray40", line=-21, ext=paste("Facultad de Farmcia Usac", format(Sys.time(), 
                "%d/%m/%Y %H:%M:%S --")) 
Se observa que en los extremos (punteos bajos y punteos altos) los puntos se apartan de la línea recta, y algunos fuera de los límites. Para asegurarse es necesario realizar la prueba de normalidad, en éste caso Shapiro y Wilks


shapiro.test(residuals(Andeva1)) 
            Shapiro-Wilk normality test

data:  residuals(Andeva1)
W = 0.96628, p-value = 0.001232
Debido a que el valor de p es menor que 0.05 y 0.01, se rechaza la hipótesis nula (los datos tienen distribución normal) y se acepta la alterna (los datos no tienen distribución normal).

Homogeneidad de varianzas.

Este es el supuesto más importante que los residuos deben cumplir para que el modelo empleado sea válido.
En siguiente gráfica (graf1) se debería observar los valores predichos por el modelo para la variable NOTA  contra la raíz cuadrada de los residuos estandarizados, donde no se observa ninguna tendencia en la distribución de dichos valores lo cual implica en que no existen indicios de que no se cumple el supuesto de homogeneidad de varianzas, pero para corroborar esto se realiza una prueba de Cochran o una de Levine
graf1<-ggplot(Andeva1, aes(.fitted, sqrt(abs(.stdresid))))+geom_point(na.rm=TRUE)
graf1<-graf1+stat_smooth(method="loess", na.rm = TRUE)+xlab("Valores predichos")
graf1<-graf1+ylab(expression(sqrt("|Residuos estandarizados|")))
graf1<-graf1+theme_bw()
plot(graf1)



La prueba de C de Cocharn, es una prueba unilateral del límite superior atípico de la varianza. La prueba C se utiliza para determinar si una sola estimación de una varianza es significativamente más grande que un grupo de varianzas, se presenta el resultado de la prueba de C de Cochran para la variable porcentaje de parasitismo. En este caso no es posible usarla porque el modelo es desbalanceado (diferentes repeticiones por tratamiento)
Una alternativa a la prueba C de Cochran es la prueba de Levene**
La prueba de Levene consiste en realizar un análisis de la varianza usando como variable dependiente el valor absoluto de los residuos.
leveneTest(NOTA ~ TITULO) 

Resultados del test

Para solicitar el coeficiente de variación

cv.model(Andeva1)

Para solicitar la prueba de Tukey al 99% de confianza

LTukey(Andeva1, which="tratamiento", conf.level=0.99)


CONCLUSIONES:
1.    Los residuos son independientes
2.    Los residuos no tienen distribución normal, pero tomando en cuenta que lo que interesa es comparar las medias, la violación del supuesto no se considera crítica para seguir con el análisis
3.    Las varianzas son homogéneas

4. EL ANÁLISIS DE VARIANZA POR LA VÍA ORDINARIA ES VÁLIDO, LO MISMO QUE LAS CONCLUSIONES



No hay comentarios:

Publicar un comentario