Verificar el Teorema del Límite Central mediante siguientes simulaciones:
Crear una población de 1000 plantas con un 50% de plantas enfermas.
Generar una función que permita obtener muestras aleatorias y estimador pˆ (media).
Para tamaños de muestras n= 5, 10, 15, 20, 30, 50, 60, 100, 200, 500, correr función previa 500 veces por cada tamaño de muestra.
Determinar para en cada tamaño de muestra estimador pˆ (media), sesgo y varianza. Realizar test shapiro para verificar normalidad.
Grafiar resultados en QQ-plot para visualizar el proceso de normalización.
# Función global para el proceso
ejecutar_proceso <- function(p_enferma) {
# Cantidad exacta de enfermos
n_enfermos <- round(1000 * p_enferma)
# Crear el vector de población
poblacion <- c(rep(1, n_enfermos), rep(0, 1000 - n_enfermos))
# Mezclar el vector
set.seed(123) # Para mantener reproducibilidad al aleatorizar
poblacion <- sample(poblacion)
# Función para obtener muestras aleatorias y estimador pˆ (media)
obtener_muestra <- function(poblacion, n_muestra) {
muestra <- sample(poblacion, n_muestra, replace=TRUE)
media <- mean(muestra)
return(media)
}
n_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
resultados <- data.frame()
for (n in n_muestra) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
media_n <- mean(p_muestras)
sesgo <- media_n - p_enferma
varianza <- var(p_muestras)
p_value <- shapiro.test(p_muestras)$p.value
resultados <- rbind(resultados, data.frame(Muestra=n, Media=media_n, Sesgo=sesgo, Varianza=varianza, PValueShapiro=p_value))
}
print(resultados)
par(mfrow=c(2,3))
n_interes <- c(5, 15, 30, 50, 100, 500)
for (n in n_interes) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
qqnorm(p_muestras, main=paste("QQ-plot para n =", n))
qqline(p_muestras, col="red")
}
for (n in n_interes) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
hist(p_muestras, main=paste("Histograma para n =", n), xlab="Proporción Muestral", xlim=c(0,1), breaks=30, col="lightblue", border="black")
}
}
par(mfrow=c(1,1))
set.seed(123)
ejecutar_proceso(0.50)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.5068000 0.0068000000 0.0498935471 9.383589e-15
## 2 10 0.5062000 0.0062000000 0.0245907415 1.337564e-09
## 3 15 0.5006667 0.0006666667 0.0155061234 6.269464e-08
## 4 20 0.4929000 -0.0071000000 0.0116178257 1.584788e-06
## 5 30 0.4974667 -0.0025333333 0.0081788288 2.907903e-06
## 6 50 0.5049600 0.0049600000 0.0054935856 8.212550e-03
## 7 60 0.5005000 0.0005000000 0.0043200568 1.724943e-02
## 8 100 0.5048600 0.0048600000 0.0028983772 3.476978e-02
## 9 200 0.4984500 -0.0015500000 0.0013849173 5.734312e-03
## 10 500 0.5001560 0.0001560000 0.0005322001 4.098372e-01
set.seed(123)
ejecutar_proceso(0.10)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.1132000 0.013200000 0.0199456513 8.759113e-28
## 2 10 0.0970000 -0.003000000 0.0089889780 1.390535e-22
## 3 15 0.1014667 0.001466667 0.0057426676 2.812273e-17
## 4 20 0.0967000 -0.003300000 0.0039419940 4.138921e-15
## 5 30 0.0992000 -0.000800000 0.0026001158 1.311643e-11
## 6 50 0.1028400 0.002840000 0.0019406156 4.403408e-07
## 7 60 0.1021000 0.002100000 0.0015024839 1.629807e-06
## 8 100 0.0990600 -0.000940000 0.0009720605 3.000300e-04
## 9 200 0.0990400 -0.000960000 0.0004063912 8.184784e-03
## 10 500 0.1002880 0.000288000 0.0001922055 3.753490e-02
set.seed(123)
ejecutar_proceso(0.90)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.9060000 0.006000000 0.0170380762 4.015443e-29
## 2 10 0.9072000 0.007200000 0.0082446493 8.356577e-23
## 3 15 0.9030667 0.003066667 0.0061272946 1.363636e-18
## 4 20 0.8984000 -0.001600000 0.0043962325 1.987297e-15
## 5 30 0.9013333 0.001333333 0.0027370296 6.291843e-12
## 6 50 0.9018000 0.001800000 0.0018364329 1.127938e-07
## 7 60 0.8976333 -0.002366667 0.0016014908 4.538232e-08
## 8 100 0.9008800 0.000880000 0.0008946148 5.538711e-07
## 9 200 0.8998300 -0.000170000 0.0004369951 2.366639e-02
## 10 500 0.9001720 0.000172000 0.0001647559 9.635314e-03
Histograma: a medida que aumenta el tamaño de muestra el histograma tiende una districucion mas simetrica acercandose al valor medio de 0.5, 0.1 o 0.9 (segun el caso de evaluacion) indicando su transformación a comportamiento normal.
QQ-plot: a medida que aumenta el tamaño de muestra el gráfico enseña puntos completamente aliniados con la recta diagonal representado la conincidencia entre las media teórica con las medias muestrales corroborado el teorema de limite de central.
Medias: el estimador tiende a acercarse a la proporción real (0.5, 0.10, 0.90) a medida que el tamaño de la muestra aumenta.
Sesgo: aunque hay pequeñas variaciones en el sesgo, en general es bajo para todos los tamaños de muestra, lo que indica que el estimador es no sesgado o de sesgo bajo.
Varianza: como es de esperar, la varianza disminuye a medida que el tamaño de la muestra aumenta, lo que es consistente con la teoría estadística.
Test de Shapiro: para tamaños de muestra pequeños se rechaza la hipótesis nula de normalidad debido a los bajos valores p. Pero a medida que el tamaño de la muestra crece, se tiende a no rechazar dicha hipótesis, lo que sugiere que las muestras tienden a ser normales.
Comportamiento en diferentes porcentajes de población enferma: para proporciones extremas como 0.10 y 0.90, se requieren tamaños de muestra más grandes para que la distribución muestral se acerque a la normalidad en comparación con una proporción de 0.50. Esto es algo conocido en estadística y es un reflejo de cómo las proporciones extremas pueden requerir tamaños de muestra más grandes para alcanzar propiedades normales.