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.\)

A continuación se describen los siguientes pasos para su verificación:

Paso 1: Realizar 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%.

rbinom(n, size, prob) se utiliza para generar números aleatorios de una distribución binomial. Esta distribución modela la cantidad de éxitos en un número fijo de ensayos independientes, donde cada ensayo tiene dos posibles resultados (éxito o fracaso) y una probabilidad constante de éxito.

n: Número de observaciones (cuántos números aleatorios deseas generar).

size: Número de ensayos por cada observación (número de intentos).

prob: Probabilidad de éxito en cada ensayo.

# Generar una población utilizando una distribución binomial
n_poblacion <- 1000  # Tamaño total de la población
prob_enfermos <- 0.5  # Probabilidad de que un individuo esté enfermo
poblacion <- rbinom(n = n_poblacion, size = 1, prob = prob_enfermos)  # Crear la población con individuos enfermos o sanos

Paso 2: Generar una función que permita obtener una muestra aleatoria de la población y calcular el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado \(n.\)

# Función para seleccionar una muestra de la población y calcular el estimador
muestra_y_estimador <- function(n) {
  # Extraer una muestra aleatoria de tamaño n sin reemplazo
  muestra <- sample(poblacion, size = n, replace = FALSE)
  
  # Calcular el promedio de la muestra (estimador de la proporción de enfermos)
  mean(muestra)
}

Paso 3: Repetir el escenario anterior con \(n=500\) veces y analizar los resultados en cuanto al comportamiento de los 500 resultados del estimador \(\hat{p}\).

# Realizar 500 repeticiones del proceso de muestreo y estimación
resultados_30 <- replicate(500, muestra_y_estimador(30))  # Obtener 500 estimaciones usando muestras de tamaño 30
## Promedio de las estimaciones: 0.488
## Variabilidad de las estimaciones (varianza): 0.007911824

Se observa que la mayoría de valores se encuentran en el área central de los gráficos correspondiente a la probabilidad real de \(0.5\) y simetricos alrededor de este por lo que se puede evidenciar que no hay sesgo considerable. También se observa una baja variabilidad.

Paso 4: Se repite el mismo escenario variando el tamaño de muestra con lo siguientes valores: (5, 10, 15, 20, 30, 50, 60, 100, 200, 500).

En los histogramas se evidencia que a medida que aumenta el número de muestra R los datos se agrupan más al cento y se reduce la variabilidad. Por otra parte, los gráficos de cuantil-cuantil muestran que al aumentar el tamaño de muestra, los cuantiles de la muestra se ajustan cada vez más a los cuantiles teóricos representados por una linea recta, en esta misma gráfica también se evidencia que el rango de los cuantiles de la muestra se van agrupando alrededor del valor promedio.

Shapiro-Wilk: La prueba de Shapiro-Wilk es una prueba estadística utilizada para evaluar si un conjunto de datos proviene de una distribución normal. Sirve para determinar si los datos siguen una curva en forma de campana, que es la característica principal de una distribución normal.

La prueba de Shapiro-Wilk proporciona dos valores clave:

Si el valor p es menor que el nivel de significancia (0.05 | Valor predeterminado de la función shapiro.test()): Se rechaza la hipótesis nula y concluye que los datos no provienen de una distribución normal.

Si el valor p es mayor que el nivel de significancia: No se rechaza la hipótesis nula, lo que sugiere que los datos podrían provenir de una distribución normal.

# Función para realizar la prueba de Shapiro-Wilk y mostrar los resultados
realizar_shapiro_test <- function(datos, descripcion) {
  # Ejecutar la prueba de Shapiro-Wilk
  resultado_test <- shapiro.test(datos)
  
  # Mostrar el título descriptivo de la prueba y los resultados
  cat(paste("Resultados de la prueba de Shapiro-Wilk para", descripcion, "\n"))
  print(resultado_test)
}

# Aplicar la prueba de Shapiro-Wilk para cada conjunto de resultados de diferentes tamaños de muestra
for (i in 1:length(n_muestras)) {
  realizar_shapiro_test(resultados[, i], paste(n_muestras[i], "muestras"))
}
## Resultados de la prueba de Shapiro-Wilk para 5 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.92981, p-value = 1.478e-14
## 
## Resultados de la prueba de Shapiro-Wilk para 10 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.96305, p-value = 6.906e-10
## 
## Resultados de la prueba de Shapiro-Wilk para 15 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.97785, p-value = 6.888e-07
## 
## Resultados de la prueba de Shapiro-Wilk para 20 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.98119, p-value = 4.593e-06
## 
## Resultados de la prueba de Shapiro-Wilk para 30 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.98632, p-value = 0.0001217
## 
## Resultados de la prueba de Shapiro-Wilk para 50 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.98918, p-value = 0.0009476
## 
## Resultados de la prueba de Shapiro-Wilk para 60 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.9893, p-value = 0.001037
## 
## Resultados de la prueba de Shapiro-Wilk para 100 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.99108, p-value = 0.004112
## 
## Resultados de la prueba de Shapiro-Wilk para 200 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.99465, p-value = 0.07864
## 
## Resultados de la prueba de Shapiro-Wilk para 500 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.99361, p-value = 0.03281
## 
## Resultados de la prueba de Shapiro-Wilk para 550 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.9971, p-value = 0.5249

Conforme aumenta el tamaño de la muestra se evidencia que el valor W de la prueba se acerca cada vez más a 1, al igual que aumenta el valor de p. Sin embargo hasta el tamaño de muestra 500 el valor de p es menor al nivel de significancia predeterminado (0.05) lo que significa que la hipótesis nula se debe rechazar (los datos no provienen de una distribución normal). Ser realizó una simulación adicional con un número de muestra de 550 donde el valor de p aumento considerablemente a un valor de 0.5249 lo que significa que con un tamaño de muestra de 550 se puede decir que se tiene un distribución normal.

Paso 5: Se repite toda la simulación para lotes con 10% de plantas enfermas y de nuevo para lotes con un 90% de plantas enfermas.

Con probabilidad = 0.1

## Media de las estimaciones con n=30: 0.09933333
## Varianza de las estimaciones con n=30: 0.002618125

## Prueba de Shapiro-Wilk para 5 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.69088, p-value < 2.2e-16
## 
## Prueba de Shapiro-Wilk para 10 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.84306, p-value < 2.2e-16
## 
## Prueba de Shapiro-Wilk para 15 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.88599, p-value < 2.2e-16
## 
## Prueba de Shapiro-Wilk para 20 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.91472, p-value = 3.562e-16
## 
## Prueba de Shapiro-Wilk para 30 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.94781, p-value = 2.826e-12
## 
## Prueba de Shapiro-Wilk para 50 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.9667, p-value = 3.17e-09
## 
## Prueba de Shapiro-Wilk para 60 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.97626, p-value = 2.953e-07
## 
## Prueba de Shapiro-Wilk para 100 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.98485, p-value = 4.539e-05
## 
## Prueba de Shapiro-Wilk para 200 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.9926, p-value = 0.01422
## 
## Prueba de Shapiro-Wilk para 500 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.99402, p-value = 0.04646
## 
## Prueba de Shapiro-Wilk para 550 muestras 
## 
##  Shapiro-Wilk normality test
## 
## data:  x_B
## W = 0.9918, p-value = 0.007352

Al cambiar la probabilidad se evidencio un leve “sesgo” a la izquierda para la probabilidad de 0.1 y a la derecha para la probabilidad de 0.9, adicionalmente, se encontró un mayor variabilidad en los datos, y aunque a medida que se aumentó el tamaño de muestra y el valor p de la prueba de Shapiro-Wilk se acercaba más al valor para determinar una distribución normal (0.05), este no llegó a superarlo, esto puede deberse a que en muestras más grandes aumenta también aumenta la potencia de la prueba para detectar desviaciones en la normalida y también la posibilidad de falsos positivos. Cuando la probabilidad de éxito (p) está lejos de 0.5, la distribución binomial se vuelve más asimétrica. Aunque el teorema del límite central plantea que la distribución de las medias muestrales se aproxima a la normal a medida que aumenta el tamaño de la muestra, esta aproximación puede ser más lenta para valores de p extremos.