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:
Se genera una población de mil plantas las cuales 500 son enfermas y 500 sanas
Pob_Planta <- c(rep("P.Sana", 500), rep("P.Enferma", 500))
table(Pob_Planta)| P.Enferma | P.Sana |
|---|---|
| 500 | 500 |
#Función donde:
#Pob = Población
#N_Muestras= N° de muestras a generar
# Enf_Sa = Escoger entre P.Enferma o P.Sana
F_Muestra <- function(Pob, N_Muestras, Enf_San)
{
muestra = sample(x = Pob, size= N_Muestras)
Est_Muestra = sum(muestra == Enf_San)/ N_Muestras
return(Est_Muestra)
}
F_Muestra(Pob = Pob_Planta, N_Muestras = 60, Enf_San = "P.Sana")## [1] 0.5333333
Se genera una función para obtener una muestra de la población y calcular el estimador de la proporción muestral T veces
#Función donde:
# Pob = Población
# N_Muestras = Número de muestras a generar en cada iteración
# Enf_Sa = Escoger entre P.Enferma o P.Sana
# T = Número de iteraciones a realizar
# Establecer una semilla
set.seed(4812)
F_Varias_Muestras <- function(Pob, N_Muestras, Enf_Sa, T)
{
resultados <- numeric(T) # Vector almacena los resultados
for (i in 1:T)
{
muestra = sample(x = Pob, size = N_Muestras)
Est_Muestra = sum(muestra == Enf_Sa) / N_Muestras
resultados[i] <- Est_Muestra
}
return(resultados)
}Ahora se realiza un análisis descriptivo de los datos
resultados <- F_Varias_Muestras(Pob = Pob_Planta, N_Muestras = 60, Enf_Sa = "P.Sana", T = 500)
summarytools::descr(resultados)| resultados | |
|---|---|
| Mean | 0.5014667 |
| Std.Dev | 0.0608159 |
| Min | 0.3000000 |
| Q1 | 0.4666667 |
| Median | 0.5000000 |
| Q3 | 0.5500000 |
| Max | 0.6666667 |
| MAD | 0.0741300 |
| IQR | 0.0833333 |
| CV | 0.1212762 |
| Skewness | -0.1027629 |
| SE.Skewness | 0.1092178 |
| Kurtosis | -0.2139285 |
| N.Valid | 500.0000000 |
| Pct.Valid | 100.0000000 |
# Estimar la media y la desviación estándar de tus resultados
media_resultados <- mean(resultados)
desviacion_resultados <- sd(resultados)
# Crear un histograma de los resultados
hist(resultados, prob = TRUE,
col = "steelblue",
border = "darkgreen",
main = "Histograma Resultados",
ylim = c(0, 7.5))
# Superponer una curva de densidad normal ajustada a tus resultados
curve(dnorm(x, mean = media_resultados, sd = desviacion_resultados), add = TRUE, lwd = 2, col = "red" )
#Superponer la media
abline(v=media_resultados, col="green", lwd=3)Los resultados de las simulaciones muestran que los estimadores de proporción muestral son en su mayoría precisos y tienden a centrarse alrededor del valor real de la proporción poblacional (0.50 en este caso). La simetría cercana a cero sugiere una distribución aproximadamente simétrica de los estimadores, y la baja variabilidad implica que los estimadores son coherentes y no varían ampliamente de una simulación a otra
#install.packages("car", dependencies = TRUE)
#install.packages("carData", dependencies = TRUE)
library(car)
Vector_Est <- c(5,10,15,20,30,50,60,100,200,500)
# Dividir la ventana gráfica en dos columnas
par(mfrow = c(1, 2))
for(i in 1:length(Vector_Est))
{
resultados_D <- F_Varias_Muestras(Pob = Pob_Planta, N_Muestras = Vector_Est[i], Enf_Sa = "P.Sana", T = 500)
#Realizar pruebas de Shapiro-Wilk
print(paste('Shapiro Test para una muestra de tamaño: ', Vector_Est[i]))
print(shapiro.test(resultados_D))
# Estimar la media y la desviación estándar de tus resultados
media_resultados <- mean(resultados_D)
desviacion_resultados <- sd(resultados_D)
# Crear un histograma de los resultados
hist(resultados_D, prob = TRUE, col = "steelblue", border = "darkgreen", main = paste("Histograma - Muestra:", Vector_Est[i]))
# Superponer una curva de densidad normal ajustada a tus resultados
curve(dnorm(x, mean = media_resultados, sd = desviacion_resultados), add = TRUE, lwd = 2, col = "red" )
#Superponer la media
abline(v=media_resultados, col="green", lwd=3)
#Crear QQ Plot
qqnorm(resultados_D, pch = 1, frame = FALSE , main = paste("QQ plot - Muestra:", Vector_Est[i]))
#Linea horizontal
qqline(resultados_D, col = "green", lwd = 2)
}## [1] "Shapiro Test para una muestra de tamaño: 5"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.92071, p-value = 1.47e-15
## [1] "Shapiro Test para una muestra de tamaño: 10"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.95964, p-value = 1.807e-10
## [1] "Shapiro Test para una muestra de tamaño: 15"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.97384, p-value = 8.594e-08
## [1] "Shapiro Test para una muestra de tamaño: 20"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.98188, p-value = 6.968e-06
## [1] "Shapiro Test para una muestra de tamaño: 30"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.9848, p-value = 4.371e-05
## [1] "Shapiro Test para una muestra de tamaño: 50"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.99016, p-value = 0.001998
## [1] "Shapiro Test para una muestra de tamaño: 60"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.98834, p-value = 0.0005107
## [1] "Shapiro Test para una muestra de tamaño: 100"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.99108, p-value = 0.004128
## [1] "Shapiro Test para una muestra de tamaño: 200"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.99425, p-value = 0.05636
## [1] "Shapiro Test para una muestra de tamaño: 500"
##
## Shapiro-Wilk normality test
##
## data: resultados_D
## W = 0.99432, p-value = 0.05981
# Restaurar la configuración de la ventana gráfica
par(mfrow = c(1, 1))En los histogramas, se observa que a medida que aumenta el número de iteraciones, la distribución de los estimadores tiende a asemejarse cada vez más a una distribución normal. Este fenómeno se refleja claramente en los QQ plots, donde a medida que aumentamos las iteraciones, los puntos tienden a alinearse más estrechamente con la línea diagonal, lo que sugiere una mayor conformidad con la normalidad.
Cuando aplicamos las pruebas de Shapiro-Wilk a muestras con tamaños más pequeños, obtenemos valores de p muy bajos, lo que implica un rechazo significativo de la hipótesis de normalidad. Esto se debe a que el nivel de significancia comúnmente utilizado es 0.05. Sin embargo, a medida que aumentamos el número de iteraciones, observamos que las pruebas arrojan resultados más favorables. En estos casos, los valores de p son más altos, lo que indica que no existe evidencia suficiente para rechazar la hipótesis nula de normalidad. En resumen, los datos en la muestra de mayor tamaño (500) se ajustan razonablemente bien a una distribución normal, lo que sugiere una mejor normalidad en comparación con las muestras más pequeñas.