El Teorema del Límite Central (TLC) es uno de los conceptos más importantes en la inferencia estadística. Nos dice que, dado un tamaño muestral suficientemente grande, la distribución de los estimadores muestrales (como la proporción muestral) tiende a seguir una distribución normal, independientemente de la distribución original de los datos.
En este informe, realizaremos una serie de simulaciones para verificar el TLC, generando poblaciones con distintas proporciones de individuos enfermos y analizando el comportamiento de los estimadores muestrales para diferentes tamaños de muestra.
Primero, generamos una población de 1000 individuos, donde el 50% están enfermos.
# Configuración inicial
set.seed(123) # Fijar la semilla para reproducibilidad
n <- 1000 # Tamaño de la población
p_enfermos <- 0.5 # Proporción de individuos enfermos (50%)
# Generar la población (0 = sano, 1 = enfermo)
poblacion <- rbinom(n, 1, p_enfermos)
Creamos una función que permita obtener muestras aleatorias de la población y calcular el estimador de la proporción muestral
# Función para obtener una muestra y calcular p-hat
calcular_estimador <- function(poblacion, tamanio_muestra) {
muestra <- sample(poblacion, tamanio_muestra, replace = TRUE)
p_hat <- mean(muestra)
return(p_hat)
}
Realizamos 500 simulaciones con un tamaño de muestra de 30 para analizar la distribución de los estimadores
# Parámetros para la simulación
n_repeticiones <- 500
tamanio_muestra <- 30
# Simulación de los estimadores p-hat
resultados <- replicate(n_repeticiones, calcular_estimador(poblacion, tamanio_muestra))
# Gráfico de los resultados
hist(resultados, main = "Distribución de los estimadores de p-hat", xlab = "p-hat", col = "lightblue", border = "black")
# Medidas de sesgo y curtosis
library(e1071)
sesgo <- skewness(resultados)
curtosis <- kurtosis(resultados)
cat("Sesgo:", sesgo, "\n")
## Sesgo: 0.02894646
cat("Curtosis:", curtosis, "\n")
## Curtosis: 0.09391869
Ahora repetimos el análisis para varios tamaños de muestra (n=5,10,15,20,30,50,60,100,200,500) y aplicamos pruebas de normalidad y gráficos QQ.
# Tamaños de muestra
tamanios_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
# Función para evaluar la normalidad
evaluar_normalidad <- function(poblacion, tamanio_muestra) {
resultados <- replicate(n_repeticiones, calcular_estimador(poblacion, tamanio_muestra))
# Prueba de normalidad de Shapiro-Wilk
prueba_shapiro <- shapiro.test(resultados)
# Gráfico QQ-plot
qqnorm(resultados, main = paste("QQ-plot para tamaño de muestra:", tamanio_muestra))
qqline(resultados, col = "red")
return(prueba_shapiro$p.value)
}
# Aplicar la evaluación para cada tamaño de muestra
p_values <- sapply(tamanios_muestra, function(n) evaluar_normalidad(poblacion, n))
names(p_values) <- tamanios_muestra
p_values
## 5 10 15 20 30 50
## 1.589421e-14 7.483443e-10 2.418569e-07 7.434365e-06 1.693310e-04 7.190228e-04
## 60 100 200 500
## 1.392485e-03 3.566540e-02 1.313359e-02 5.668681e-01
###e) Simulación para diferentes proporciones de individuos enfermos
Por último, repetimos todo el proceso para poblaciones con 10% y 90% de individuos enfermos, y comparamos los resultados.
# Función para realizar todo el proceso para diferentes proporciones
realizar_simulacion <- function(proporcion_enfermos) {
poblacion <- rbinom(n, 1, proporcion_enfermos)
p_values <- sapply(tamanios_muestra, function(n) evaluar_normalidad(poblacion, n))
return(p_values)
}
# Simulación para 10% de individuos enfermos
cat("Resultados para 10% de individuos enfermos\n")
## Resultados para 10% de individuos enfermos
simulacion_10 <- realizar_simulacion(0.1)
print(simulacion_10)
## [1] 1.493918e-29 2.724986e-22 6.133718e-19 2.081038e-15 3.356102e-12
## [6] 2.352777e-10 2.378650e-08 9.059819e-07 3.686321e-04 1.528173e-01
# Simulación para 90% de individuos enfermos
cat("Resultados para 90% de individuos enfermos\n")
## Resultados para 90% de individuos enfermos
simulacion_90 <- realizar_simulacion(0.9)
print(simulacion_90)
## [1] 3.701509e-28 8.192802e-21 1.113996e-17 1.395294e-15 5.282964e-12
## [6] 1.573931e-07 3.710225e-07 1.512814e-04 3.368972e-03 1.935041e-01
En este ejercicio hemos observado cómo el Teorema del Límite Central se verifica a medida que aumenta el tamaño de la muestra. En tamaños de muestra pequeños, la distribución de los estimadores es más asimétrica, pero a medida que el tamaño crece, los estimadores tienden a una distribución normal, sin importar la proporción original de la población.
Para muestras pequeñas, la variabilidad es mayor y los resultados son menos simétricos. Para muestras grandes, los resultados son más cercanos a una distribución normal, lo que confirma el Teorema del Límite Central.