Problema 3

1. Generar población de 1000 con 50% de plantas enfermas

set.seed(123) 
poblacion <- rbinom(n = 1000, size = 1, prob = 0.5)

2. Función para obtener muestra y estimador proporcion muestral media de la muestra

obtener_muestra <- function(n, poblacion){
  muestra <- sample(poblacion, n)
  p_hat <- mean(muestra)
  return(p_hat)
}

3. Analizar estimador proporcion muestral media para n = 150, a manera de prueba

p_hats <- replicate(500, obtener_muestra(150, poblacion))
hist(p_hats) # Distribución simétrica en torno a 0.5

qqnorm(p_hats); qqline(p_hats) # Distribución cercana a normal

En este caso, conforme a los resultados obtenidos del histograma, se podria decir que esta cerca de una distribucion simetrica, poco sesgada.

4. Comparar normalidad para distintos n

n_vals <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

resumen <- lapply(n_vals, function(n) {
  p_hats <- replicate(500, obtener_muestra(n, poblacion))
  
  shapiro_test <- shapiro.test(p_hats)$p.value
  
  qqplot <- qqnorm(p_hats); qqline(p_hats)
  
  data.frame(n = n,
             shapiro_test = shapiro_test,
             qqplot = I(qqplot))
})

resumen <- do.call(rbind, resumen)

print(resumen)
##      n shapiro_test       qqplot
## x    5 1.902003e-15 -0.87421....
## y    5 1.902003e-15 0.4, 0.4....
## x1  10 5.350991e-10 -0.28714....
## y1  10 5.350991e-10 0.5, 0.4....
## x2  15 1.195818e-07 -0.56217....
## y2  15 1.195818e-07 0.466666....
## x3  20 1.015050e-06 0.318639....
## y3  20 1.015050e-06 0.55, 0.....
## x4  30 2.372141e-05 -0.85961....
## y4  30 2.372141e-05 0.433333....
## x5  50 1.298877e-03 -1.21072....
## y5  50 1.298877e-03 0.42, 0.....
## x6  60 4.472344e-03 0.281926....
## y6  60 4.472344e-03 0.516666....
## x7 100 2.306605e-02 0.042625....
## y7 100 2.306605e-02 0.5, 0.5....
## x8 200 9.122349e-02 -0.40973....
## y8 200 9.122349e-02 0.485, 0....
## x9 500 1.577388e-01 0.510073....
## y9 500 1.577388e-01 0.502, 0....

Aqui se puede observar que a medida de que se aumenta el tamaño de la muestra, se aumenta el ajuste a la normalidad, el cual podriamos decir que empieza a aparece con muestras mayores o iguales a 60.

5. Repetir para 10% y 90% enfermas

# 10%
poblacion2 <- rbinom(n = 1000, size = 1, prob = 0.1) 

resumen2 <- lapply(n_vals, function(n) {
  p_hats <- replicate(500, obtener_muestra(n, poblacion))
  
  shapiro_test <- shapiro.test(p_hats)$p.value
  
  qqplot <- qqnorm(p_hats); qqline(p_hats)
  
  data.frame(n = n,
             shapiro_test = shapiro_test,
             qqplot = I(qqplot))
})

# 90% 
poblacion3 <- rbinom(n = 1000, size = 1, prob = 0.9)

resumen3 <- lapply(n_vals, function(n) {
  p_hats <- replicate(500, obtener_muestra(n, poblacion))
  
  shapiro_test <- shapiro.test(p_hats)$p.value
  
  qqplot <- qqnorm(p_hats); qqline(p_hats)
  
  data.frame(n = n,
             shapiro_test = shapiro_test,
             qqplot = I(qqplot))
})

Conclusiones

  1. El comportamiento del estimador se vuelve mas simetrico e insesgado conforme se aumenta el tamaó de la muestra.
  2. Las proporciones muestrales tienden a seguir una distribución mas cercana a la normalidad.
  3. Esto se cumple independientemente del % de plantas enfermas en el total de la población. Sin embargo, la distribución de las proporciones muestrales varia.
  4. La asimetria es mas pronunciada en casos con porcentajes extremos de plantas enfermas