Teorema del Límite Central

El Teorema del Límite Central es uno de los más importantes en la inferencia estadística y habla sobre la convergencia de los estimadores como la proporción muestral a la distribución normal. Algunos autores afirman que esta aproximación es bastante buena a partir del umbral n>30.

  1. Realice una simulación en la cual genere una población de n=1000 (Lote), donde el porcentaje de individuos (supongamos plantas) enfermas sea del 50%
set.seed(123)
poblacion <- rbinom(1000, 1, 0.5)
  1. Genere una función que permita:
muestraAleatoria = function(poblacion, n) {
  if (n >= length(poblacion)) {
    return(-1)
  } 
 else {
    muestra = sample(poblacion, n, replace = FALSE)
    mean_m = mean(muestra)
    return(mean_m)
  }
}
  1. Repita el escenario anterior (b) n=500 veces y analice los resultados en cuanto al comportamiento de los 500 resultados del estimador pˆ. ¿Qué tan simétricos o sesgados son los resultados obtenidos? y ¿qué se puede observar en cuanto a la variabilidad?. Realice en su informe un comentario sobre los resultados obtenidos.
escenarios <- replicate(500, muestraAleatoria(poblacion, 500))

mediaEscenarios <- mean(escenarios)
desviacionEscenarios <- sd(escenarios)
min <- min(escenarios)
max <- max(escenarios)
q1 <- quantile(escenarios, probs=0.25)
q3 <- quantile(escenarios, probs=0.75)
var <- var(escenarios)


contenido <- round(as.numeric(c(mediaEscenarios, desviacionEscenarios, min, max, q1, q3, var)),4)

titulos <- c("Media", "Desviacion", "Minimo", "Maximo", "Q1", "Q3", "Varianza")

tabla <- as.data.frame(rbind(titulos, contenido))

tabla
##               V1         V2     V3     V4    V5    V6       V7
## titulos    Media Desviacion Minimo Maximo    Q1    Q3 Varianza
## contenido 0.4939     0.0164  0.448   0.54 0.482 0.504    3e-04
hist(escenarios, main = "Histograma 500 iteraciones", xlab = "Probabilidad de las muestras", breaks=30, ylab = "Frecuencia", las=1,
     font.axis=4)

La media (0.4931) esta muy cerca del valor verdadero que sería el 0.5. Por ende nuestros resultados son acorde al valor real de la población, por otra parte la desviación 0.0152 indica que la mayoria de los datos se encuentran un 0.0152 por encima o debajo de la media. Estos resultados adicional a la gráfica del histograma se puede observar que no es completamente simétrica, por lo que su coeficiente de asimetría no es 0. Estos resultados sirven como base para demostrar el Teorema del Límite Central, ya que a pesar de la variabilidad en el muestreo, la media de los estimadores es muy cercana al valor real de la población y la desviación estandar nos da una idea de la variabilidad que tenemos en los resultados.

  1. Repita los puntos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500. Compare los resultados obtenidos para los diferentes tamaños de muestra en cuanto a la normalidad. Utilice pruebas de bondad y ajuste (shapiro wilks :shspiro.test()) y métodos gráficos (gráfico de normalidad: qqnorm()). Comente en su informe los resultados obtenidos
tamanio_muestras <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
resultados <- list()

for (i in tamanio_muestras) {
  resultados[[as.character(i)]] <- replicate(500, muestraAleatoria(poblacion, i))
}

for (j in tamanio_muestras){
  cat("Muestra n = ", j, "\n")
  print(shapiro.test(resultados[[as.character(j)]]))
  qqnorm(resultados[[as.character(j)]])
  qqline(resultados[[as.character(j)]])
}
## Muestra n =  5 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.9225, p-value = 2.281e-15

## Muestra n =  10 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.96565, p-value = 2.017e-09

## Muestra n =  15 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.97214, p-value = 3.749e-08

## Muestra n =  20 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.97838, p-value = 9.212e-07

## Muestra n =  30 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.98452, p-value = 3.642e-05

## Muestra n =  50 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.98949, p-value = 0.001197

## Muestra n =  60 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.99039, p-value = 0.002399

## Muestra n =  100 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.99368, p-value = 0.03499

## Muestra n =  200 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.99268, p-value = 0.01519

## Muestra n =  500 
## 
##  Shapiro-Wilk normality test
## 
## data:  resultados[[as.character(j)]]
## W = 0.99617, p-value = 0.2711

Las pruebas propuestas nos sirven par comparar si los valores esperados corresponden a los valores observados en el orden de la muestra. En la Prueba de Shapiro-Wilk se evidencia que el valor en todos los casos es cercano a 1. Lo que indica que los datos siguen una distribución normal. El valor p de la misma prueba sirve para observar qué tan extrama es la diferencia que se obtuvo, asumiendo que la población es normal, si este valor es pequeño, se rechaza la hiótesis de que los datos no siguen una distribución normal. En las primeras simulaciones ese valor p es muy pequeño, lo que indica que los datos no siguen una distribución normal, y a medida que van creciendo el valor de W se acerca a 1, pero el valor de p sigue siendo muy pequeño, por ende indica que falta normalidad en todas las simulaciones. s