Tema 3. Contraste de la normalidad multivariante

Anuncio
Análisis Multivariante - Máster en técnicas estadísticas
Curso 2010-2011
Tema 3. Contraste de la normalidad multivariante
César A. Sánchez Sellero
Índice
1. Introducción
2
2. Contraste de la normalidad univariante
2
2.1. Test basado en la asimetría . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.2. Test basado en la kurtosis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3. Test de Shapiro-Wilk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3. Contraste de la normalidad multivariante
10
3.1. Conceptos previos: invariancia, estandarización, y distancias y ángulos de Mahalanobis 10
3.2. Tests basados en medidas de asimetría y kurtosis . . . . . . . . . . . . . . . . . . .
11
3.3. Extensiones multivariantes del test de Shapiro-Wilk . . . . . . . . . . . . . . . . . . .
15
3.4. Aplicación práctica de los test de normalidad multivariante . . . . . . . . . . . . . . .
15
1
2
Análisis Multivariante
1. Introducción
En el tema anterior se han estudiado los procedimientos naturales de inferencia sobre el vector de
medias y la matriz de covarianzas, bajo suposición de normalidad en la distribución del vector de
variables observadas.
Esta hipótesis de normalidad es esencial en muchos de aquellos procedimientos. Por ejemplo, la
forma elíptica de las regiones de confianza es consustancial a la forma de la distribución normal
multivariante. Si la forma en que se presentaran las observaciones en el espacio no fuera elíptica,
tampoco lo debería ser una región de confianza para el vector de medias.
En este tema veremos una breve introducción a los métodos de contraste de normalidad en observaciones multivariantes. Empezaremos con un repaso de los métodos de contraste de la normalidad
en el caso univariante. Este será el objeto de la Sección 2, en la cual se podrán fijar algunos conceptos y prestar atención singular a los métodos susceptibles de ser extendidos al caso multivariante.
En la Sección 3 se abordan algunos métodos (los más representativos) para el contraste de normalidad multivariante. Están basados en la extensión de las medidas de asimetría, kurtosis, así como
del test de Shapiro-Wilk al caso multivariante.
En este tema, además del objetivo de contraste de normalidad, conseguiremos una mejor comprensión de cómo se pueden disponer los datos en el espacio multidimensional.
2. Contraste de la normalidad univariante
Se han desarrollado muchos procedimientos para el contraste de la normalidad en el caso univariante. No es el objetivo de esta sección el recorrerlos todos. Por el contrario, nos centraremos
únicamente en aquellos que se extienden de manera más natural al caso multivariante. Serán los
métodos basados en la asimetría, la kurtosis, y el test de Shapiro-Wilk.
2.1. Test basado en la asimetría
Es bien conocido que la distribución normal es simétrica en torno a su media. Como además, la
forma más común de desviarse respecto de la normalidad es por falta de simetría, por ejemplo
en variables positivas, parece lógico construir un método de contraste en base a cierta medida de
asimetría.
Si X1 , . . . , Xn es una muestra aleatoria simple (observaciones independientes e idénticamente
Tema 3. Contraste de la normalidad multivariante
3
3
0
1
2
Frequency
4
5
6
Histogram of z
−1
0
1
2
3
z
Figura 1: Representación de 30 datos simulados con distribución normal estándar.
distribuidas), el coeficiente de asimetría muestral se define como
A=
siendo X̄ = (1/n)
∑n
i=1 Xi
(1/n)
∑n (
i=1
Xi − X̄
S3
)3
1∑
=
n
n
i=1
la media muestral y S 2 = (1/n)
(
∑n
Xi − X̄
S
i=1 (Xi
)3
− X̄)2 la varianza muestral.
Es la media de las potencias cúbicas (también llamado momento de orden tres) de los valores
estandarizados. Al estar estandarizados, habrá observaciones a ambos lados de la media, manteniendo un equilibrio (en orden uno). Sin embargo, la potencia tres que se emplea en el coeficiente
de asimetría, rompe el equilibrio en caso de distribución asimétrica. Lo vemos en las Figuras 1 y 2.
A pesar de haber sido simulados con distribución normal, en la Figura 1 hay una leve asimetría
hacia la derecha, lo cual da lugar a un índice de asimetría muestral de 0’3384.
En la Figura 2 se representa a la izquierda el histograma asociado a 30 datos simulados con distribución exponencial de media 1. En la derecha se muestra el histograma de los mismos datos,
tras cambiarles el signo. El coeficiente de asimetría muestral vale 1’718 a la izquierda y -1’718 a la
derecha.
Si la distribución de los datos muestrales es normal, entonces el coeficiente de asimetría tiene
distribución asintótica normal de media cero y varianza 6/n, por lo que se puede emplear como
estadístico de contraste el siguiente:
√
n
A ≈ N (0, 1)
6
4
Análisis Multivariante
8 10
6
4
0
0
2
4
6
Frequency
8 10
Histogram of x
2
Frequency
Histogram of x
0
1
2
3
4
5
6
7
x
−7 −6 −5 −4 −3 −2 −1
0
x
Figura 2: Representación de 30 datos simulados con distribución exponencial de media 1 (gráfico
de la izquierda) y sus opuestos (gráfico de la derecha).
Se rechazará la normalidad, en base al coeficiente de asimetría, cuando el estadístico anterior sea
muy grande (en positivo o negativo), en comparación con los cuantiles de la N (0, 1).
Ejemplo 1. Vamos a presentar los resultados del contraste sobre los mismos datos simulados que
se han utilizado para ilustrar las explicaciones anteriores.
El código R se encuentra en el anexo al final del tema, bajo el título de Ejemplo 1.
A continuación se muestran los valores de los coeficientes de asimetría, los estadísticos de contraste y los niveles críticos asociados, para los datos simulados de la distribución normal, de la
exponencial y los opuestos de los datos exponenciales. Como cabía esperar, la pequeña asimetría
muestral de los datos normales no resulta significativa, mientras que sí lo es con los datos exponenciales.
> c(a_normal,a_exponencial,-a_exponencial)
[1] 0.338375 1.717739 -1.717739
> c(estadistico_normal,estadistico_exponencial,-estadistico_exponencial)
[1] 0.7566295 3.8409814 -3.8409814
Tema 3. Contraste de la normalidad multivariante
5
> c(pvalor_normal,pvalor_exponencial,pvalor_exponencial)
[1] 0.4492718469 0.0001225434 0.0001225434
2.2. Test basado en la kurtosis
Partiendo de la muestra X1 , . . . , Xn , el coeficiente de apuntamiento o kurtosis se define como
1∑
K=
n
n
i=1
∑n
(
Xi − X̄
S
)4
−3
∑n
− X̄)2 la varianza muestral.
En esta definición se resta tres para que el coeficiente valga cero en la distribución normal.
siendo X̄ = (1/n)
i=1 Xi
la media muestral y S 2 = (1/n)
i=1 (Xi
Recordemos que las características de posición se calculan mediante un momento de orden uno
(la media), las de dispersión a través de un momento de orden dos (la varianza) y la asimetría con
un momento de orden tres (el coeficiente de asimetría).
Pues bien, la kurtosis se calcula a través del momento de orden cuatro, pues de esta manera se
pueden medir características de forma, que son un refinamiento todavía más detallado en el análisis
de la distribución.
Lo vemos en la Figura 3, en la cual se representan tres distribuciones con la misma media, desviación
típica y asimetría (asimetría cero, pues son simétricas). Son la T de Student con 5 grados de libertad, la normal y la uniforme, ambas con la misma media y desviación típica que la T5 . Para ello, se
toma la normal con media cero y desviación típica
√
√
√
5/3, y la uniforme entre − 5 y 5.
En la Figura 3 vemos que la distribución T de Student es la que presenta una mayor concentración
de probabilidad en las proximidades de la media, así como en las colas (lejanías extremas)1 . Esto
hace que tenga un coeficiente de apuntamiento más grande.
Por el contrario, la distribución uniforme es la que presenta menor densidad en las proximidades de
la media, y carece de colas. En este caso, la densidad es más grande en los valores con desviaciones intermedias (µ − σ) y (µ + σ). Como resultado, el coeficiente de apuntamiento será más
pequeño para la distribución uniforme.
La distribución normal presenta un comportamiento intermedio entre la T5 y la uniforme.
1
El fenómeno de la cola es difícilmente perceptible en la Figura 3. Aún así, se puede observar que el trazo rojo,
correspondiente a la T5 , se encuentra ligeramente más elevado que el azul, correspondiente a la normal, en las colas. Es
una pequeña diferencia a la vista, porque ambas densidades convergen a cero en las colas. Sin embargo, la consecuencia
es que la T5 presenta una frecuencia no despreciable de observaciones muy grandes, cosa que no ocurre con la normal.
Estas observaciones grandes (o extremas), al elevarlas a la potencia cuarta, aportan una contribución considerable a la
kurtosis.
Análisis Multivariante
0.2
0.0
0.1
yt
0.3
6
−6
−4
−2
0
2
4
6
Figura 3: Funciones de densidad normal (trazo azul), T de Student (trazo rojo) y uniforme (trazo
verde). La T de Student tiene cinco grados de libertad, y las distribuciones normal y uniforme han
sido tomadas con la misma media y varianza que la T5 .
Si una distribución tiene un apuntamiento similar al de la normal decimos que es mesocúrtica, si el
apuntamiento es mayor se dice leptocúrtica, y si es menor se dice platicúrtica. La T de Student
es una distribución leptocúrtica y la uniforme platicúrtica.
Volviendo al propósito de contraste de la normalidad, si estamos ante una distribución simétrica,
podemos valorar una posible desviación del modelo normal en función de su apuntamiento o kurtosis. Rechazaremos la normalidad si la kurtosis muestral es mucho mayor o mucho menor que cero,
que es lo que corresponde a la distribución normal.
Ciertos cálculos de probabilidad, que omitimos aquí, permitieron determinar la distribución de la
kurtosis muestral, bajo la hipótesis nula de normalidad. Así, si la distribución de los datos muestrales
es normal, entonces la kurtosis tiene distribución asintótica normal de media cero y varianza 24/n,
por lo que se puede emplear como estadístico de contraste el siguiente:
√
n
K ≈ N (0, 1)
24
Se rechazará la normalidad, en base a la kurtosis, cuando el estadístico anterior sea muy grande
(en positivo o negativo), en comparación con los cuantiles de la N (0, 1).
Ejemplo 2. Vamos a extraer muestras simuladas de tamaño 100 de cada una de las tres distribuciones que se han comentado en esta sección, y cuyas densidades se representan en la Figura 3:
Tema 3. Contraste de la normalidad multivariante
7
T5 de Student, normal y uniforme. El código R figura en el anexo al final de tema. A continuación
mostramos los valores obtenidos para el coeficiente de apuntamiento, el estadístico de contraste,
que no es más que la estandarización del coeficiente, y el nivel crítico para el contraste.
Los resultados son los que cabía esperar. Así, el coeficiente de apuntamiento muestral es próximo a
cero para la normal, negativo para la uniforme y positivo para la T5 . Al estandarizarlos, se obtienen
cantidades comparables con la N (0, 1), que arrojan los niveles críticos que aparecen en la última
línea. Las discrepancias más significativas se obtienen con la T5 de Student.
> c(k_normal,k_uniforme,k_tstudent)
[1] -0.1864935 -1.1646089 1.6039029
> c(estadistico_normal,estadistico_uniforme,estadistico_tstudent)
[1] -0.3806784 -2.3772480 3.2739530
> c(pvalor_normal,pvalor_uniforme,pvalor_tstudent)
[1] 0.703441930 0.017442358 0.001060542
2.3. Test de Shapiro-Wilk
Consideremos los datos estandarizados
Zi =
Xi − X̄
S
i ∈ {1, . . . , n}
El estadístico de Shapiro-Wilk se construye de la siguiente manera:
∑
[n/2]
W =
(
)
ai,n Z(n−i+1):n − Zi:n
i=1
siendo Z1:n < . . . < Zn:n la muestra ordenada de los datos estandarizados y ai,n ciertas constantes. Consiste en calcular las distancias entre los datos de la muestra ordenada, simétricos respecto
de la mediana, esto es, la distancia entre el primero y el último, el segundo y el penúltimo, y así
sucesivamente; en general el Zi:n y el Z(n−i+1):n . El propósito es comparar estas distancias con las
que habría en una muestra de observaciones normales.
Al final, el coeficiente de determinación tiene una relación muy estrecha con el QQ-Plot, pues se
puede interpretar como el coeficiente de determinación de los puntos representados en el QQ-Plot.
8
Análisis Multivariante
En consecuencia, se rechazará la normalidad cuando el estadístico de Shapiro-Wilk sea pequeño,
pues eso será debido a que los puntos del QQ-Plot se alejan de la recta esperada.
Ejemplo 3. Vamos a extraer muestras simuladas de tamaño 100 de cada una de las distribuciones
vistas en las secciones anteriores: normal, exponencial, uniforme y T de Student.
Ciertos parámetros de estas distribuciones, como media, desviación típica u otros, que en las secciones anteriores se determinaron con el propósito de facilitar la comparación, ahora son irrelevantes, porque el test de Shapiro-Wilk comienza con una estandarización de los datos.
La idea es que el test de Shapiro-Wilk es más general, pues permite detectar tanto defectos de
simetría como de kurtosis, o incluso de otro tipo no considerado por los tests anteriores.
En la Figura 4 se representan los cuatro QQ-Plots. El primero de ellos, situado en la esquina superior izquierda, corresponde a los datos simulados de una distribución normal. Hay leves desviaciones respecto de la recta en la cual estarían los datos que coinciden con los cuantiles esperados
bajo normalidad. Estas desviaciones son perfectamente justificables por el azar. Los resultados del
test de Shapiro-Wilk figuran debajo, donde se obtuvo como valor del estadístico 0’9938 y como nivel
crítico 0’931. Se acepta por tanto la normalidad.
> shapiro.test(z)
Shapiro-Wilk normality test
data: z
W = 0.9938, p-value = 0.931
En el gráfico situado en la esquina superior derecha se presenta el QQ-Plot asociado a la muestra
de observaciones exponenciales. Los puntos deberían encontrarse sobre la línea, si procedieran de
la distribución normal. Sin embargo, la falta de simetría hace que los cuantiles grandes estén muy
por encima de la recta. Los cuantiles pequeños también se encuentran por encima de la media,
aunque no tan distanciados.
Los dos gráficos inferiores representan distribuciones simétricas. En ambos casos, los cuantiles de
las colas no coinciden con los esperados bajo distribución normal. La diferencia es que la distribución uniforme tiene un comportamiento más regular, con un conjunto amplio de observaciones que
discrepan de la normalidad. Por el contrario, en la distribución T de Student casi todas las observaciones se asemejan bastante bien a la distribución normal, mientras que de vez en cuando unas
pocas observaciones pueden adoptar valores extremos incompatibles con la normalidad.
En los tres casos los niveles críticos conducen al rechazo de la normalidad. No reproducimos todas
las salidas, que puede obtener el lector ejecutando el código R, que se acompaña en el anexo a
este tema.
Tema 3. Contraste de la normalidad multivariante
9
Datos exponenciales
4
3
2
0
1
Sample Quantiles
1
0
−1
−2
Sample Quantiles
2
5
Datos normales
−1
0
1
2
−2
−1
0
1
Theoretical Quantiles
Theoretical Quantiles
Datos uniformes
Datos T de Student
2
2
0
−4
−2
Sample Quantiles
0.8
0.6
0.4
0.2
0.0
Sample Quantiles
1.0
−2
−2
−1
0
1
Theoretical Quantiles
2
−2
−1
0
1
2
Theoretical Quantiles
Figura 4: QQ-Plots de datos simulados de distintas distribuciones.
10
Análisis Multivariante
3. Contraste de la normalidad multivariante
En esta sección veremos cómo se pueden extender los conceptos de asimetría y kurtosis al caso multivariante. Asimismo, también se verá la manera de extender el test de Shapiro-Wilk con
datos multivariantes. Empezamos estudiando ciertos conceptos previos en relación con este tipo
de contrastes.
3.1. Conceptos previos: invariancia, estandarización, y distancias y ángulos de Mahalanobis
Sabemos que la normalidad se conserva frente a traslaciones y transformaciones lineales, esto es:
Para cualesquiera b vector de dimensión d y A matriz d × d no singular,
X tiene distribución normal ⇐⇒ AX + b tiene distribución normal
Por tanto, si estamos contrastando que el vector X tenga distribución normal, tanta evidencia habrá
a favor o en contra de esta hipótesis, si empleamos los datos de X como si empleamos los datos
transformados AX + b.
Definición . Diremos que un test de normalidad multivariante es invariante si proporciona los
mismos resultados con los datos originales que con datos transformados por traslaciones o transformaciones lineales.
Nos parece que la invariancia es una propiedad deseable para un test de normalidad.
Ahora, si somos libres de transformar los datos, se nos ocurre aplicar la estandarización multivariante, pues es una transformación que los simplifica al suprimirles la media y la matriz de covarianzas.
Pasamos entonces de los datos originales X1 , . . . , Xn a los datos estandarizados:
(
)
Zi = S −1/2 Xi − X̄
siendo X̄ la media muestral y S la matriz de covarianzas muestral.
La idea es que los datos Z1 , . . . , Zn deberían presentar una distribución normal estándar, esto es,
deberían mostrar un aspecto esférico, sin especial predilección por unas direcciones frente a otras,
y con mayor concentración en la zona central.
Las distancias de Mahalanobis de las observaciones al vector de medias se pueden expresar así:
(
)
(
)
rii = Xi − X̄ S −1 Xi − X̄ = Zi′ Zi = ∥Zi ∥2
Ahora consideramos los valores
(
)
(
)
rij = Xi − X̄ S −1 Xj − X̄ = Zi′ Zj = ∥Zi ∥ · ∥Zj ∥ · cos(θij )
11
2
Tema 3. Contraste de la normalidad multivariante
1
(a)
0
(b)
−2
−1
−(b)
−3
−2
−1
0
1
2
Figura 5: Representación de los valores rij .
siendo θij el ángulo que forman las observaciones estandarizadas Zi y Zj en el espacio usual.
En este momento definimos θij como el ángulo de Mahalanobis que forman las observaciones Xi
y Xj en el espacio original.
En la Figura 5 se representa una muestra de observaciones, que han sido estandarizados. Por tanto, las distancias y los ángulos de Mahalanobis coinciden con las distancias y ángulos ordinarias en
esta representación. El punto central, representado en color azul, es la posición del vector de medias. En el gráfico se han destacado también dos puntos, denotados por (a) y (b), respectivamente.
Las longitudes de las flechas, que son sus distancias al vector de medias, serían las raíces cuadradas de sus valores rii y rjj . El valor rij para este par de puntos sería el producto de las longitudes,
multiplicado por el coseno del ángulo que forman las dos flechas. Así, si el ángulo es de 90 grados,
rij vale cero, si es menor de 90 grados rij es positivo, y si es mayor de 90 grados es negativo. De
este modo, rij refleja si los dos puntos (a) y (b) están del mismo lado o si se encuentran en lados
opuestos. Esto será utilizado en la sección siguiente para definir una medida de asimetría.
3.2. Tests basados en medidas de asimetría y kurtosis
Existen diversas formas de definir medidas de asimetría y kurtosis con datos multivariantes. Consideraremos aquí las introducidas por Mardia.
12
Análisis Multivariante
Coeficiente de asimetría multivariante
Así, calcularemos la asimetría de la siguiente manera:
Am =
n
n
1 ∑∑ 3
rij
n2
i=1 j=1
En la Figura 5 se ofrece una representación que resulta muy útil para interpretar los valores rij .
Como vimos en la sección anterior, rij es positivo si los dos puntos en cuestión, (a) y (b) en el
gráfico, están del mismo lado (ángulo inferior a 90 grados). Por el contrario, rij será negativo si se
encuentran en lados opuestos respecto del vector de medias.
Siempre se cumple que
n
∑
rij = 0 =
i=1
n
∑
rij
j=1
esto es, se cancelan los valores positivos con los negativos, lo cual es muy comprensible, pues el
vector de media ocupa la posición central. Esto también se cumplía en el caso univariante.
Sin embargo, al elevar al cubo los rij , se desequilibra este balance. Para mantener el equilibrio, por
cada punto, como el (b), tendría que haber otro punto, que se representa como -(b) en el gráfico,
situado en la posición contraria a (b) respecto del vector de medias. Los puntos (b) y -(b) tendrían
los mismos valores rij con el resto de la muestra, pero con signos cambiados. Al efectuar cualquier
potencia impar, como el cubo, se cancelarían.
Así, si cada punto de la muestra tuviera otro punto simétrico en la propia muestra, el coeficiente de
asimetría valdría cero. En otro caso, si la simetría se cumple aceptablemente, el coeficiente sería
sólo algo mayor que cero, mientras que si hay un comportamiento claramente distinto en lados
opuestos, el coeficiente de asimetría sería más grande.
En la Figura 6 se presentan seis ejemplos de muestras bivariantes de tamaño 40. Mediante puntos
huecos de color negro se representan los datos muestrales, con un punto relleno de color azul se
representa el vector de medias y con una elipse de color azul se representa la matriz de covarianzas,
siguiendo el procedimiento del documento de Preliminares.
El gráfico (b) contiene 40 puntos situados en una circunferencia centrada en cero. El coeficiente
de asimetría vale cero. El gráfico (a) representa datos simulados de la distribución normal. A nivel
teórico, la distribución normal multivariante tiene un coeficiente de asimetría teórico igual a cero. Sin
embargo, a nivel muestral dicho coeficiente puede ser algo mayor que cero. Los datos del gráfico
(a) presenta un valor de 0’299 para el coeficiente de asimetría multivariante, Am .
En el gráfico (c) se representan datos bivariantes con marginales exponenciales e independientes.
La asimetría del modelo se refleja en un coeficiente de asimetría muestral de 15’04.
En el gráfico (d) se han simulados tres grupos de datos normales multivariantes. Esto hace que la
distribución de la muestra completa no sea normal. De hecho, la presencia de varios grupos es una
Tema 3. Contraste de la normalidad multivariante
13
causa muy común de falta de normalidad. También es común que produzca un efecto de asimetría,
que permite detectar esa falta de normalidad. En este caso, el coeficiente Am ha tomado el valor
2’45.
En el gráfico (e) se representó una muestra simulada cuyas marginales tienen distribución de
Laplace y son independientes. Entonces la distribución teórica es simétrica. Sin embargo el coeficiente de asimetría muestral Am tomó el valor 6’14, lo cual es grande. La causa se encuentra en
algunos valores extremos, que son frecuentes en un modelo Laplace, y que desequilibran la muestra. Recordemos que la distribución de Laplace se puede ver como diferencia de dos exponenciales
independientes.
En el gráfico (f) se han simulado observaciones uniformes en el cuadrado unidad. El modelo teórico
es simétrico y de hecho el valor muestral de Am ha sido 0’484.
Como test de normalidad, y dado que la distribución normal es simétrica, rechazaremos la normalidad, por falta de simetría, si el coeficiente Am es demasiado grande, comparado con ciertos
valores tabulados correspondientes a muestras normales. Aproximaremos estos valores por simulación. Los detalles sobre la aplicación práctica del test se encuentran en la sección 3.4.
Coeficiente de kurtosis multivariante
El coeficiente de kurtosis propuesto por Mardia adopta la forma siguiente:
1∑ 2
=
rii
n
n
Km
i=1
A la vista de esta definición, el coeficiente de kurtosis está basado únicamente en los valores rii .
2 que
Como rii es el cuadrado de la distancia del dato i-ésimo al vector de medias, los valores rii
figuran en la definición de Km son las potencias cuartas de estas distancias.
Por tanto, el coeficiente Km generaliza la medida de kurtosis al caso multivariante como estas
potencias cuartas de la distancia a la media. De esta manera, para la kurtosis no importará la
dirección o sentido de la desviación respecto de la media, sino únicamente la magnitud de dicha
desviación. Se trata, pues, de detectar si los datos se agrupan en torno a la Media±Desviación
típica, que en el caso multivariante sería la elipse en azul de la Figura 6, o si por el contrario se
agrupan o muy cerca de la media o muy lejos de ésta. Si están cerca de la elipse la kurtosis será
pequeña (distribución platicúrtica), y si están o muy cerca de la media o muy lejos de ella, la kurtosis
será grande y diremos que la distribución es leptocúrtica.
Igual que en el caso univariante, la distribución normal multivariante presenta un valor intermedio de
kurtosis (diríamos que es mesocúrtica). Así, en el gráfico (a) de la Figura 6 el valor del coeficiente
de kurtosis Km es 7’56. Los gráficos (b), (d) y (f) presentan valores menores, serían platicúrticos,
mientras que los gráficos (c) y (e) son leptocúrticos.
Respecto del contraste de normalidad, el test basado en la kurtosis rechazará la normalidad tanto
Análisis Multivariante
−1.0
−2
−1
0.0
0
0.5
1
1.0
14
−2
−1
0
1
2
−1.0 −0.5
0.5
1.0
(b) Circunferencia
8
0.0
10
1.0
12
14
2.0
16
3.0
(a) Normales
0.0
0
2
4
6
8
14
18
(d) Tres grupos
0.0
−4 −2
0
0.4
2
4
0.8
6
(c) Exponenciales
10
−2
0
2
4
6
(e) Distribuciones de Laplace
0.0
0.2
0.4
0.6
0.8
1.0
(f) Uniforme en el cuadrado
Figura 6: Ejemplos de muestras bivariantes para su contraste de normalidad.
Tema 3. Contraste de la normalidad multivariante
15
para valores demasiado grandes como para valores demasiado pequeños de Km . De nuevo, los
valores críticos están tabulados y los aproximaremos por simulación siguiendo las pautas de la
sección 3.4.
3.3. Extensiones multivariantes del test de Shapiro-Wilk
Existen diversas maneras de extender el test de Shapiro-Wilk. Nos centraremos en una idea muy
sencilla, que surge del concepto de invariancia. Así, el vector aleatorio es normal multivariante si y
sólo si su estandarización lo es, esto es:
X ∈ Nd (µ, Σ) ⇐⇒ Z = Σ−1/2 (X − µ) ∈ Nd (0, Id )
Lo interesante es que Z tiene sus d componentes (las d variables) incorrelacionadas, y entonces Z
es normal si y sólo si sus componentes son normales. Ante tal resultado, basta con comprobar si
las d variables resultantes de la estandarización multivariante son normales.
Volvemos entonces a los datos estandarizados:
(
)
Zi = S −1/2 Xi − X̄
siendo X̄ la media muestral y S la matriz de covarianzas muestral.
Si W1 , . . . , Wd son los estadísticos de Shapiro-Wilk de cada componente de Z1 , . . . , Zn , entonces
podemos considerar el estadístico de Shapiro-Wilk multivariante:
1∑
=
Wj
d
d
WV G
j=1
Este estadístico ha sido propuesto por Villasenor Alva y González Estrada (2009).
Se rechazará la normalidad cuando WV G sea pequeño, en comparación con ciertos valores tabulados, que de nuevo podemos aproximar por simulación, según se indica en la sección 3.4, que viene
a continuación.
3.4. Aplicación práctica de los test de normalidad multivariante
Para la aplicación práctica de los tests de normalidad multivariante hemos programado tres funciones en código R, que figuran en los anexos al final del tema:
representa (x,texto) A partir de una matriz x de observaciones bivariantes (dos columnas), obtiene
un gráfico de dispersión, acompañado del vector de media y la matriz de covarianzas.
16
Análisis Multivariante
estadisticos (x) A partir de una matriz x de observaciones multivariantes (con cualquier número
de columnas), calcula los estadísticos Am , Km y WV G .
pvalores (d,n,ns,am0,km0,w0) A partir de los valores d=número de variables, n=tamaño muestral,
ns=número de muestras simuladas, am0=valor de Am en la muestra, km0=valor de Km en la
muestra y w0=valor de WV G en la muestra, proporciona una tabla aproximada por simulación
con los cuantiles de estos estadísticos bajo la hipótesis de normalidad, y aproxima también
por simulación los niveles críticos para el contraste de normalidad.
Para poder emplear estas funciones, habría que ejecutar el código correspondiente a cada una de
ellas. La ejecución de ese código no genera salidas ni cálcuo alguno, sino que “compila" el código,
como paso previo para poder llamar a las funciones.
Para la ejecución de los tests sólo son necesarias las funciones estadisticos y pvalores, mientras
que la función representa sirve para representar los datos en el caso bivariante.
En el último anexo se encuentra el código para la obtención de los seis ejemplos representados en
la Figura 6, así como para el contraste de normalidad sobre ellos.
Este código contiene una parte dedicada a la simulación de las muestras y definición de variables.
Para realizar los tests en otra muestra, no necesariamente obtenida por simulación, bastaría con
ejecutar las funciones:
> estadisticos(x)
> est
> pvalores(d,n,ns,est[1],est[2],est[3])
donde las variables x, d, n y ns deben contener los valores correspondientes.
Sobre los seis ejemplos simulados, comentaremos la salida de resultados para el último ejemplo.
Los demás siguen la misma estructura.
El vector est contiene los valores del coeficiente de asimetría Am , el coeficiente de kurtosis Km y
el estadístico de Shapiro-Wilk multivariante WV G . Los vemos a continuación.
> est # Estadísticos
Asimetría
0.4844482
Kurtosis
6.2222052
Shapiro-Wilk
0.9538382
Para saber si estos valores son grandes o pequeños, de cara al contraste de normalidad, se comparan con los cuantiles en 10.000 muestras simuladas de una distribución normal. Los resultados
figuran debajo. En primer lugar se presentan los cuantiles. Los órdenes de los cuantiles son 0.01,
Tema 3. Contraste de la normalidad multivariante
17
0.025, 0.05, 0.1, 0.5, 0.9, 0.95, 0.975, 0.99. La mediana es el cuantil 0.5, que sería un valor de
referencia para saber si el estadístico en cuestion (Asimetría, Kurtosis o Shapiro-Wilk) es grande o
pequeño.
Así, la asimetría de esta muestra es 0’484 lo cual es superior a 0’427, que es la mediana bajo normalidad. Por tanto, esta muestra es algo más asimétrica que lo que corresponde bajo normalidad.
Para saber si este resultado es significativo como para rechazar la normalidad, recordamos que se
rechaza la normalidad si la asimetría es grande. Por tanto, el nivel crítico sería la probabilidad que
deja 0’484 a su derecha. Esa probabilidad, nivel crítico, vale 0’4386. Se aproximó por simulación
considerando que 4.386 de las 10.000 muestras simuladas tenían una asimetría superior al valor
0’484 obtenido en la muestra original.
Para la kurtosis, su valor en la muestra original ha sido de 6’22, lo cual es inferior a 7’49, que es
la mediana bajo normalidad. Por tanto, esta distribución es algo más platicúrtica que lo que correspondería bajo normalidad. Para efectuar el contraste recordamos que se rechaza la normalidad
tanto por exceso como por defecto de kurtosis. El valor muestral 6’22 se encuentra entre el cuantil
0’025 y el cuantil 0’05. El nivel crítico unilateral se hallará entre esos dos órdenes, mientras que
el bilateral estará entre 0’05 y 0’10. El cálculo más preciso haciendo el recuento exacto sobre las
muestras simuladas arroja un nivel crítico bilateral aproximado de 0’0948.
Para el estadístico de Shapiro-Wilk multivariante, el valor en la muestra original es de 0’954. Cuanto
menor sea este estadístico, peor es el ajuste de normalidad, y se rechaza la normalidad cuando
el estadístico es muy pequeño. El valor 0’954 es inferior a la mediana bajo normalidad, que vale
0’973. Además, se encuentra entre el cuantil 0’05 y el cuantil 0’1. Por tanto el nivel crítico se hallará
entre estos dos órdenes. Su valor aproximado de manera más precisa con las 10.000 muestras
simuladas es de 0’0566, pues sólo 566 de las 10.000 muestras simuladas presentaban un valor del
estadístico inferior al de la muestra original.
> pvalores(d,n,ns,est[1],est[2],est[3])
$tabla
0.01
0.025
0.05
0.1
0.5
0.9
Asimetría
0.03549275 0.05503973 0.0847581 0.1253795 0.4266827 1.0577071
Kurtosis
5.87278811 6.04901296 6.2419949 6.4783751 7.4851531 8.8914292
Shapiro-Wilk 0.94019144 0.94735872 0.9529298 0.9582334 0.9733307 0.9829626
0.95
0.975
0.99
Asimetría
1.327830 1.607430 1.9728774
Kurtosis
9.429676 9.986294 10.6976297
Shapiro-Wilk 0.985076 0.986636 0.9882852
$Niveles_críticos
Asimetría
Kurtosis Shapiro-Wilk
0.4386
0.0948
0.0566
18
Análisis Multivariante
Los resultados de los estadísticos y los niveles críticos para los seis ejemplos se obtienen ejecutando el código R del último anexo. Sólo la muestra (a) procede de una distribución normal. Los
tests rechazan la normalidad de las demás muestras, excepto en el caso (f), cuya desviación de la
normalidad es menor.
Al igual que en el caso univariante, el test de Shapiro-Wilk es el mejor como método general de
contraste de normalidad, mientras que los tests basados en la asimetría o la kurtosis son eficaces
para detectar algunas alternativas más específicas.
Bibliografía.
Henze, N. (2002). Invariant tests for multivariate normality: a critical review. Statistical Papers, 43,
467–506.
Mardia, K.V. (1975). Assessment of multinormality and the robustness of Hotelling’s T 2 test. Applied Statistics, 24, 163–171.
Villasenor Alva, J.A. y González Estrada, E. (2009). A generalization of Shapiro-Wilk test for multivariate normality. Communications in Statistics – Theory and Methods, 38, 1870–1883.
Tema 3. Contraste de la normalidad multivariante
Código R para los ejemplos
Ejemplo 1. Test de asimetría en datos univariantes
set.seed(123456)
#--- Generación de observaciones normales
n=30
z=rnorm(n)
hist(z)
points(z,rep(0,n))
#--- Cálculo de la media, la varianza y el coeficiente de asimetría
med=mean(z)
s2=var(z)*(n-1)/n
s=sqrt(s2)
a_normal=mean(( (z-med)/s )^3)
points(med,0,col="blue",pch=19)
#--- Test basado en el coeficiente de asimetría
estadistico_normal=sqrt(n/6)*a_normal
pvalor_normal = 2 *( 1 - pnorm( abs(estadistico_normal) ) )
windows()
par(mfrow=c(1,2))
#--- Generación de observaciones exponenciales
u=runif(n)
x=-log(u)
hist(x)
points(x,rep(0,n))
#--- Cálculo de la media, la varianza y el coeficiente de asimetría
med=mean(x)
s2=var(x)*(n-1)/n
s=sqrt(s2)
a_exponencial=mean((x-med)^3)/s^3
points(med,0,col="blue",pch=19)
#--- Test basado en el coeficiente de asimetría
estadistico_exponencial=sqrt(n/6)*a_exponencial
19
20
Análisis Multivariante
pvalor_exponencial = 2 *( 1 - pnorm( abs(estadistico_exponencial) ) )
#--- Se cambia el signo a las observaciones
x=-x
hist(x)
points(x,rep(0,n))
#--- Cálculo de la media, la varianza y el coeficiente de asimetría
med=mean(x)
s2=var(x)*(n-1)/n
s=sqrt(s2)
a=mean(( (x-med)/s )^3)
points(med,0,col="blue",pch=19)
par(mfrow=c(1,1))
#--- Presentación de resultados
c(a_normal,a_exponencial,-a_exponencial)
c(estadistico_normal,estadistico_exponencial,-estadistico_exponencial)
c(pvalor_normal,pvalor_exponencial,pvalor_exponencial)
Ejemplo 2. Test de kurtosis en datos univariantes
set.seed(123456)
n=100
#--- Generación de observaciones normales
z=rnorm(n)
#--- Test basado en el coeficiente de kurtosis
med=mean(z)
s2=var(z)*(n-1)/n
s=sqrt(s2)
k_normal=mean( ( (z-med)/s )^4) - 3
estadistico_normal=sqrt(n/24)*k_normal
pvalor_normal = 2 *( 1 - pnorm( abs(estadistico_normal) ) )
#--- Generación de observaciones uniformes
z=runif(n)
Tema 3. Contraste de la normalidad multivariante
#--- Test basado en el coeficiente de kurtosis
med=mean(z)
s2=var(z)*(n-1)/n
s=sqrt(s2)
k_uniforme=mean( ( (z-med)/s )^4) - 3
estadistico_uniforme=sqrt(n/24)*k_uniforme
pvalor_uniforme = 2 *( 1 - pnorm( abs(estadistico_uniforme) ) )
#--- Generación de observaciones T de Student
z=rt(n,5)
#--- Test basado en el coeficiente de kurtosis
med=mean(z)
s2=var(z)*(n-1)/n
s=sqrt(s2)
k_tstudent=mean( ( (z-med)/s )^4) - 3
estadistico_tstudent=sqrt(n/24)*k_tstudent
pvalor_tstudent = 2 *( 1 - pnorm( abs(estadistico_tstudent) ) )
#--- Presentación de resultados
c(k_normal,k_uniforme,k_tstudent)
c(estadistico_normal,estadistico_uniforme,estadistico_tstudent)
c(pvalor_normal,pvalor_uniforme,pvalor_tstudent)
Ejemplo 3. Test de Shapiro-Wilk con datos univariantes
set.seed(123456)
n=100
windows()
par(mfrow=c(2,2))
#--- Generación de observaciones normales
z=rnorm(n)
qqnorm(z,main="Datos normales")
qqline(z)
shapiro.test(z)
#--- Generación de observaciones exponenciales
21
22
Análisis Multivariante
z=rexp(n)
qqnorm(z,main="Datos exponenciales")
qqline(z)
shapiro.test(z)
#--- Generación de observaciones uniformes
z=runif(n)
qqnorm(z,main="Datos uniformes")
qqline(z)
shapiro.test(z)
#--- Generación de observaciones T de Student
z=rt(n,5)
qqnorm(z,main="Datos T de Student")
qqline(z)
shapiro.test(z)
par(mfrow=c(1,1))
representa: Función R que representa datos bivariantes, junto con el vector de medias y la matriz de covarianazas
representa=function(x,texto){
# Los datos se encuentran en la matriz x
#d=ncol(x) # Número de variables=2
n=nrow(x) # Número de individuos
#--- Cálculo del vector de medias y matriz de covarianzas
med=apply(x,2,mean)
sc=cov(x)
s=sc*(n-1)/n
#--- Diagonalización de s
auto=eigen(s)
v=auto$vectors
lambda=auto$values
#--- Representación
Tema 3. Contraste de la normalidad multivariante
23
plot(x,xlab=texto,ylab="")
points(med[1],med[2],pch=19,col="blue")
tita=seq(0,2*pi,length=101) # Vector con los ángulos
medr=matrix(rep(med,101),byrow=TRUE,nrow=101)
# Truco para repetir el vector de medias diez veces, en 101 filas
elipse0=medr+t(sqrt(lambda[1])*v[,1]%*%t(cos(tita))
+sqrt(lambda[2])*v[,2]%*%t(sin(tita)))
lines(elipse0,col="blue")
}
estadisticos: Función R para el cálculo de la asimetría, la kurtosis y el estadístico de
Shapiro-Wilk en sus versiones multivariantes
estadisticos=function(x){
# Los datos se encuentran en la matriz x
d=ncol(x) # Número de variables
n=nrow(x) # Número de individuos
#--- Cálculo del vector de medias y matriz de covarianzas
med=apply(x,2,mean)
sc=cov(x)
s=sc*(n-1)/n
#--- Diagonalización de s
auto=eigen(s)
v=auto$vectors
lambda=auto$values
si12=v%*%diag(1/sqrt(lambda))%*%t(v)
#--- Estandarización multivariante
xs=(x-rep(1,n)%*%t(med))%*%si12
#--- Similaridades
r=xs%*%t(xs)
#--- Cálculo de los estadísticos
am=sum(r^3)/(n*n)
km=sum(diag(r)^2)/n
24
Análisis Multivariante
w=0
for (j in 1:d){s=shapiro.test(xs[,j])
w=w+s$statistic}
w=w/d
salida=c(am,km,w)
names(salida)=c("Asimetría","Kurtosis"," Shapiro-Wilk")
salida}
pvalores: Función R que aproxima por simulación los cuantiles de los estadísticos
multivariantes, y los niveles críticos
pvalores=function(d,n,ns,am0,km0,w0){
set.seed(123456)
am=c() # Inicialización de vectores
km=c()
w=c()
for(is in 1:ns){
#--- Generación de un vector normal multivariante
x=matrix(rnorm(d*n),ncol=d)
#--- Cálculo del vector de medias y matriz de covarianzas
med=apply(x,2,mean)
sc=cov(x)
s=sc*(n-1)/n
#--- Diagonalización de s
auto=eigen(s)
v=auto$vectors
lambda=auto$values
si12=v%*%diag(1/sqrt(lambda))%*%t(v)
#--- Estandarización multivariante
xs=(x-rep(1,n)%*%t(med))%*%si12
#--- Similaridades
Tema 3. Contraste de la normalidad multivariante
r=xs%*%t(xs)
#--- Cálculo de los estadísticos
am[is]=sum(r^3)/(n*n)
km[is]=sum(diag(r)^2)/n
w[is]=0
for (j in 1:d){s=shapiro.test(xs[,j])
w[is]=w[is]+s$statistic}
w[is]=w[is]/d
}
p=c(0.01,0.025,0.05,0.1,0.5,0.9,0.95,0.975,0.99) # Órdenes de los cuantiles
am=sort(am)
qam=am[p*ns]
km=sort(km)
qkm=km[p*ns]
w=sort(w)
qw=w[p*ns]
tabla=rbind(qam,qkm,qw)
colnames(tabla)=p
rownames(tabla)=c("Asimetría","Kurtosis","Shapiro-Wilk")
pvalor_am0=sum(am>am0)/ns
pvalor_km0=sum(km>km0)/ns
pvalor_km0=2*min(pvalor_km0,1-pvalor_km0)
pvalor_w0=sum(w<w0)/ns
pvalores=c(pvalor_am0,pvalor_km0,pvalor_w0)
names(pvalores)=c("Asimetría","Kurtosis","Shapiro-Wilk")
list(tabla=tabla,Niveles_críticos=pvalores)
}
25
26
Análisis Multivariante
Código R para los seis ejemplos multivariantes
set.seed(123456)
d=2 # Número de variables
n=40 # Número de individuos
ns=10000 # Número de muestras simuladas para las aproximaciones
windows()
par(mfrow=c(3,2))
#--- Normales
x=cbind(rnorm(n),rnorm(n))
representa(x,"(a) Normales")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
#--- Una circunferencia
tita=seq(from=0,to=2*pi*39/40,by=2*pi/40)
x=cbind(sin(tita),cos(tita))
representa(x,"(b) Circunferencia")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
#--- Exponenciales
x=cbind(rexp(n),rexp(n))
representa(x,"(c) Exponenciales")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
#--- Mixtura de normales
n1=10
x1=cbind(10+rnorm(n1),10+rnorm(n1))
n2=20
x2=cbind(15+rnorm(n2),15+rnorm(n2))
n3=10
x3=cbind(20+rnorm(n3),10+rnorm(n3))
x=rbind(x1,x2,x3)
Tema 3. Contraste de la normalidad multivariante
representa(x,"(d) Tres grupos")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
#--- Distribuciones de Laplace
x1=rexp(n)
x2=rexp(n)
x3=rexp(n)
x4=rexp(n)
x=cbind(x1-x2,x3-x4)
representa(x,"(e) Distribuciones de Laplace")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
#--- Distribuciones uniformes
x=cbind(runif(n),runif(n))
representa(x,"(f) Uniforme en el cuadrado")
est=estadisticos(x)
est # Estadísticos
pvalores(d,n,ns,est[1],est[2],est[3])
par(mfrow=c(1,1))
27
Descargar