Carátula,

Introducción

Para saber si una muestra aleatoria proviene de una poblacion normal realizaremos los siguientes pasos: * Histograma y/o densidad. * Gráficos cuantil cuantil (QQplot). * Pruebas de hipótesis.

Seguiremos un procedimiento para realizar la prueba de normalidad, utilizando ciertas pruebas para contrastar:

DESARROLLO

#Cargando librerias#
library(normtest) # Realiza 5 pruebas de normalidad#
library(nortest) # Realiza 10 pruebas de normalidad#
library(moments) # Realiza 1 pruebas de normalidad#

Simulando 3 muestras de una N(0, 1) con diferente tamaño de muestra

Para n=25

#HISTOGRAMA Y DENSIDAD#

# Densidad con datos simulados#
x25<-rnorm(25, mean = 5, sd = 3)
  plot((density(x25)),
       ylab='Densidad', col='blue3', xlab='x25', las=1, lwd=4)

#GRÁFICOS CUANTIL CUANTIL(QQplot)#

  qqnorm(x25)
  qqline(x25)  # Para agregar la linea de referencia

#PRUEBAS DE NORMALIDAD#

Las hipótesis para este tipo de pruebas son:

H0: la muestra proviene de una población normal. H1: la muestra NO proviene de una población normal.

Pruebas de Normalidad del Paquete “normtest” ###Prueba de Anderson-Darling Generar una muestra aleatoria con n=25 de una N(5,9) y aplicar las pruebas de normalidad Shapiro-Wilk y Anderson-Darling con un nivel de significancia del 5%.

###Prueba de Anderson-Darling###
ad.test(x25)
## 
##  Anderson-Darling normality test
## 
## data:  x25
## A = 0.34819, p-value = 0.4489

Como p-value = 0.2756 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Cramer-von Mises

Es útil para pequeñas muestras y usa los momentos como criterio.

cvm.test(x25)
## 
##  Cramer-von Mises normality test
## 
## data:  x25
## W = 0.049158, p-value = 0.5084

Como p-value = 0.4005 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruena de Lilliefors (Kolmogorov-Smirnov)

lillie.test(x25)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x25
## D = 0.12856, p-value = 0.3554

Como p-value = 0.3537 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Pearson chi-square

basada en una distribución Ji cuadrado y que corresponde a una prueba de bondad de ajuste.

pearson.test(x25)
## 
##  Pearson chi-square normality test
## 
## data:  x25
## P = 11.16, p-value = 0.0483

Como p-value = 0.906 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Shapiro-Francia

sf.test(x25)
## 
##  Shapiro-Francia normality test
## 
## data:  x25
## W = 0.95855, p-value = 0.328

Como p-value = 0.09182 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “nortest”

Prueba de Jarque Bera

jb.norm.test(x25)
## 
##  Jarque-Bera test for normality
## 
## data:  x25
## JB = 0.19655, p-value = 0.894

Como p-value = 0.0455 < 0.05 entonces se rechaza Ho (la muestra NO proviene de una población normal) (*)

Prueba de Frosini###

frosini.norm.test(x25)
## 
##  Frosini test for normality
## 
## data:  x25
## B = 0.16759, p-value = 0.589

Como p-value = 0.4195 < 0.05 entonces se rechaza Ho (la muestra NO proviene de una población normal) (*)

Prueba de Geary Usa los valores acumulados muestrales, sus medias y desviaciones estándar.

geary.norm.test(x25)
## 
##  Geary test for normality
## 
## data:  x25
## d = 0.77677, p-value = 0.784

Como p-value = 0.77 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Hegazy-Green

hegazy1.norm.test(x25, nrepl=20000) # nrepl: considera el número de replicas en simulación de Monte Carlo.
## 
##  Hegazy-Green test for normality
## 
## data:  x25
## T = 0.15522, p-value = 0.4683

Como p-value = 0.223 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Jarque-Bera Utiliza un estadístico en la prueba que involucra la curtosis y la asimetría. Usada por economistas.

jb.norm.test(x25, nrepl=2000)
## 
##  Jarque-Bera test for normality
## 
## data:  x25
## JB = 0.19655, p-value = 0.9065

Como p-value = 0.054 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Kurtosis

kurtosis.norm.test(x25, nrepl=2000)
## 
##  Kurtosis test for normality
## 
## data:  x25
## T = 3.1615, p-value = 0.854

Como p-value = 0.386 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Skewness

skewness.norm.test(x25, nrepl=2000)
## 
##  Skewness test for normality
## 
## data:  x25
## T = -0.20163, p-value = 0.6255

Como p-value = 0.0425 < 0.05 entonces se rechaza Ho (la muestra NO proviene de una población normal) (*)

Prueba de Spiegelhalter

spiegelhalter.norm.test(x25,nrepl=2000)
## 
##  Spiegelhalter test for normality
## 
## data:  x25
## T = 1.2875, p-value = 0.3685

Como p-value = 0.387 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Puerba de Weisberg-Bingham

wb.norm.test(x25,nrepl=2000)
## 
##  Weisberg-Bingham test for normality
## 
## data:  x25
## WB = 0.95855, p-value = 0.3295

Como p-value = 0.097 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “moments”

Prueba de Agostino

agostino.test(x25)
## 
##  D'Agostino skewness test
## 
## data:  x25
## skew = -0.20163, z = -0.48993, p-value = 0.6242
## alternative hypothesis: data have a skewness

Como p-value = 0.04084 < 0.05 entonces se rechaza Ho (la muestra NO proviene de una población normal) (*)

Funciones incluidas en los paquetes básicos de R

Prueba de Shapiro-Wilk Es más poderosa cuando se compara con otras pruebas de normalidad cuando la muestra es pequeña.

shapiro.test(x25)
## 
##  Shapiro-Wilk normality test
## 
## data:  x25
## W = 0.96331, p-value = 0.4843

Como p-value = 0.1062 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

_______________________________________

Para n=800 #HISTOGRAMA Y DENSIDAD#

Densidad con datos simulados

x800<-rnorm(800, mean = 5, sd = 3)
  plot((density(x800)),
       ylab='Densidad', col='blue3', xlab='x800', las=1, lwd=4)

#GRÁFICOS CUANTIL CUANTIL(QQplot)#

  qqnorm(x800)
  qqline(x800)  # Para agregar la linea de referencia

#PRUEBAS DE NORMALIDAD#

Las hipótesis para este tipo de pruebas son:

H0: la muestra proviene de una población normal. H1: la muestra NO proviene de una población normal.

Pruebas de Normalidad del Paquete “normtest” ###Prueba de Anderson-Darling Generar una muestra aleatoria con n=10 de una N(5,9) y aplicar las pruebas de normalidad Shapiro-Wilk y Anderson-Darling con un nivel de significancia del 5%.

###Prueba de Anderson-Darling###
ad.test(x800)
## 
##  Anderson-Darling normality test
## 
## data:  x800
## A = 0.43253, p-value = 0.3032

Como p-value = 0.7644 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Cramer-von Mises.

Es útil para pequeñas muestras y usa los momentos como criterio.

cvm.test(x800)
## 
##  Cramer-von Mises normality test
## 
## data:  x800
## W = 0.059496, p-value = 0.3837

Como p-value = 0.7894 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruena de Lilliefors (Kolmogorov-Smirnov)

lillie.test(x800)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x800
## D = 0.018178, p-value = 0.7521

Como p-value = 0.7148 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Pearson chi-square basada en una distribución Ji cuadrado y que corresponde a una prueba de bondad de ajuste.

pearson.test(x800)
## 
##  Pearson chi-square normality test
## 
## data:  x800
## P = 13.885, p-value = 0.9745

Como p-value = 0.7274 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Shapiro-Francia

sf.test(x800)
## 
##  Shapiro-Francia normality test
## 
## data:  x800
## W = 0.99642, p-value = 0.06338

Como p-value = 0.8705 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “nortest”

Prueba de Jarque Bera

jb.norm.test(x800)
## 
##  Jarque-Bera test for normality
## 
## data:  x800
## JB = 0.20287, p-value = 0.894

Como p-value = 0.3775 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Frosini

frosini.norm.test(x800)
## 
##  Frosini test for normality
## 
## data:  x800
## B = 0.21278, p-value = 0.2925

Como p-value = 0.7555 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Geary.

Usa los valores acumulados muestrales, sus medias y desviaciones estándar.

geary.norm.test(x800)
## 
##  Geary test for normality
## 
## data:  x800
## d = 0.80108, p-value = 0.345

Como p-value = 0.1485 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Hegazy-Green

hegazy1.norm.test(x800, nrepl=20000) # nrepl: considera el número de replicas en simulación de Monte Carlo.
## 
##  Hegazy-Green test for normality
## 
## data:  x800
## T = 0.035593, p-value = 0.1646

Como p-value = 0.7986 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Jarque-Bera Utiliza un estadístico en la prueba que involucra la curtosis y la asimetría. Usada por economistas.

jb.norm.test(x800, nrepl=2000)
## 
##  Jarque-Bera test for normality
## 
## data:  x800
## JB = 0.20287, p-value = 0.896

Como p-value = 0.371 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Kurtosis

kurtosis.norm.test(x800, nrepl=2000)
## 
##  Kurtosis test for normality
## 
## data:  x800
## T = 3.0213, p-value = 0.9015

Como p-value = 0.2585 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Skewness

skewness.norm.test(x800, nrepl=2000)
## 
##  Skewness test for normality
## 
## data:  x800
## T = 0.037523, p-value = 0.652

Como p-value = 0.3915 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Spiegelhalter

spiegelhalter.norm.test(x800,nrepl=2000)
## 
##  Spiegelhalter test for normality
## 
## data:  x800
## T = 1.2483, p-value = 0.658

Como p-value = 0.8515 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Puerba de Weisberg-Bingham

wb.norm.test(x800,nrepl=2000)
## 
##  Weisberg-Bingham test for normality
## 
## data:  x800
## WB = 0.99642, p-value = 0.0615

Como p-value = 0.8875 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “moments”

Prueba de Agostino

agostino.test(x800)
## 
##  D'Agostino skewness test
## 
## data:  x800
## skew = 0.037523, z = 0.437102, p-value = 0.662
## alternative hypothesis: data have a skewness

Como p-value = 0.3733 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Funciones incluidas en los paquetes básicos de R

Prueba de Shapiro-Wilk Es más poderosa cuando se compara con otras pruebas de normalidad cuando la muestra es pequeña.

shapiro.test(x800)
## 
##  Shapiro-Wilk normality test
## 
## data:  x800
## W = 0.99668, p-value = 0.09446

Como p-value = 0.8489 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

#:____________________________________________________________

Para n=5000

#HISTOGRAMA Y DENSIDAD#

Densidad con datos simulados

x5000<-rnorm(5000, mean = 5, sd = 3)
  plot((density(x5000)),
       ylab='Densidad', col='blue3', xlab='x5000', las=1, lwd=4)

#GRÁFICOS CUANTIL CUANTIL(QQplot)#

  qqnorm(x5000)
  qqline(x5000)  # Para agregar la linea de referencia

#PRUEBAS DE NORMALIDAD#

Las hipótesis para este tipo de pruebas son:

H0: la muestra proviene de una población normal. H1: la muestra NO proviene de una población normal.

Pruebas de Normalidad del Paquete “normtest”

Prueba de Anderson-Darling

Generar una muestra aleatoria con n=5000 de una N(5,9) y aplicar las pruebas de normalidad Shapiro-Wilk y Anderson-Darling con un nivel de significancia del 5%.

###Prueba de Anderson-Darling###
ad.test(x5000)
## 
##  Anderson-Darling normality test
## 
## data:  x5000
## A = 0.20655, p-value = 0.8693

Como p-value = 0.595 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Cramer-von Mises Es útil para pequeñas muestras y usa los momentos como criterio.

cvm.test(x5000)
## 
##  Cramer-von Mises normality test
## 
## data:  x5000
## W = 0.032924, p-value = 0.8048

Como p-value = 0.5153 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruena de Lilliefors (Kolmogorov-Smirnov)

lillie.test(x5000)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x5000
## D = 0.0075681, p-value = 0.6969

Como p-value = 0.1333 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Pearson chi-square basada en una distribución Ji cuadrado y que corresponde a una prueba de bondad de ajuste.

pearson.test(x5000)
## 
##  Pearson chi-square normality test
## 
## data:  x5000
## P = 31.451, p-value = 0.9983

Como p-value = 0.5685 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Shapiro-Francia NOTA: el tamaño de la muestra debe estar entre 5 y 5000

sf.test(x5000)
## 
##  Shapiro-Francia normality test
## 
## data:  x5000
## W = 0.99973, p-value = 0.7397

Como p-value = 0.3433 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “nortest”

Prueba de Jarque Bera

jb.norm.test(x5000)
## 
##  Jarque-Bera test for normality
## 
## data:  x5000
## JB = 1.1459, p-value = 0.5695

Como p-value = 0.2765 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Frosini###

frosini.norm.test(x5000)
## 
##  Frosini test for normality
## 
## data:  x5000
## B = 0.13753, p-value = 0.8455

Como p-value = 0.6345 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Geary Usa los valores acumulados muestrales, sus medias y desviaciones estándar.

geary.norm.test(x5000)
## 
##  Geary test for normality
## 
## data:  x5000
## d = 0.7988, p-value = 0.3955

Como p-value = 0.181 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Hegazy-Green

hegazy1.norm.test(x5000, nrepl=20000) # nrepl: considera el número de replicas en simulación de Monte Carlo.
## 
##  Hegazy-Green test for normality
## 
## data:  x5000
## T = 0.0085188, p-value = 0.9062

Como p-value = 0.6653 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Jarque-Bera Utiliza un estadístico en la prueba que involucra la curtosis y la asimetría. Usada por economistas.

jb.norm.test(x5000, nrepl=2000)
## 
##  Jarque-Bera test for normality
## 
## data:  x5000
## JB = 1.1459, p-value = 0.5485

Como p-value = 0.2725 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Kurtosis

kurtosis.norm.test(x5000, nrepl=2000)
## 
##  Kurtosis test for normality
## 
## data:  x5000
## T = 3.0403, p-value = 0.551

Como p-value = 0.8265 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Skewness

skewness.norm.test(x5000, nrepl=2000)
## 
##  Skewness test for normality
## 
## data:  x5000
## T = -0.031121, p-value = 0.3615

Como p-value = 0.1225 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Prueba de Spiegelhalter

spiegelhalter.norm.test(x5000,nrepl=2000)
## 
##  Spiegelhalter test for normality
## 
## data:  x5000
## T = Inf, p-value < 2.2e-16

Como p-value < 2.2e-16 < 0.05 entonces se rechaza Ho (la muestra NO proviene de una población normal) (*)

Puerba de Weisberg-Bingham

wb.norm.test(x5000,nrepl=2000)
## 
##  Weisberg-Bingham test for normality
## 
## data:  x5000
## WB = 0.99973, p-value = 0.734

Como p-value = 0.3675 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Pruebas de Normalidad del Paquete “moments”

Prueba de Agostino

agostino.test(x5000)
## 
##  D'Agostino skewness test
## 
## data:  x5000
## skew = -0.031121, z = -0.899507, p-value = 0.3684
## alternative hypothesis: data have a skewness

Como p-value = 0.1133 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

Funciones incluidas en los paquetes básicos de R

Prueba de Shapiro-Wilk Es más poderosa cuando se compara con otras pruebas de normalidad cuando la muestra es pequeña. NOTA: el tamaño de la muestra debe estar entre 3 y 5000

shapiro.test(x5000)
## 
##  Shapiro-Wilk normality test
## 
## data:  x5000
## W = 0.9997, p-value = 0.7018

Como p-value = 0.3507 > 0.05 entonces NO se rechaza Ho (la muestra proviene de una población normal)

conclusiones

• Según el cuadro de compasión anterior: No existe evidencia estadística para rechazar Ho. Es decir, podemos afirmar que la variable x25, x800 y x5000 tiene una distribución normal.

• Esto se cumple para las pruebas cuanto más grande es la muestra, por lo general la normalidad se cumple así con todas.

Referencias

#https://rpubs.com/MSiguenas/122473
#https://fhernanb.github.io/Manual-de-R/normalidad.html