Problema No. 3 - Teorema del Límite Central

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:

  1. Realice 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%.

  2. Genere una función que permita:

Obtener una muestra aleatoria de la población y Calcule el estimador de la proporción muestral pˆ para un tamaño de muestra dado n.

  1. Repita el escenario anterior (b) n=500 veces y analice los resultados en cuanto al comportamiento de los 500 resultados del estimador pˆ. ¿Qué tan simétricos o sesgados son los resultados obtenidos? y ¿qué se puede observar en cuanto a la variabilidad?. Realice en su informe un comentario sobre los resultados obtenidos.

  2. Repita los puntos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500. Compare los resultados obtenidos para los diferentes tamaños de muestra en cuanto a la normalidad. Utilice pruebas de bondad y ajuste (shapiro wilks :shspiro.test()) y métodos gráficos (gráfico de normalidad: qqnorm()). Comente en su informe los resultados obtenidos

  3. Repita toda la simulación (puntos a – d), pero ahora para lotes con 10% de plantas enfermas y de nuevo para lotes con un 90% de plantas enfermas. Concluya sobre los resultados del ejercicio.

Solución

a. Simulación Población de Lote de plantas, N=1000 con el 50% enfermas

N=1000
p=0.5

LotePlantas = sample(c(0,1),N,replace=TRUE,prob = c(1-p,p))

# Tabla Frecuencias
tabla_frecuencias <- table(LotePlantas)

# Asigna nombres a las columnas
names(tabla_frecuencias) <- c("Plantas sanas", "Plantas enfermas")

# Imprime la tabla
print(tabla_frecuencias)
##    Plantas sanas Plantas enfermas 
##              506              494

b. Función muestra aleatoria y estimador

# Función para obtener una muestra y calcular p^
calcular_proporcion_muestral <- function(N, porcentaje_penfermas, tamano_muestra) {
  # Crear la población: 0 representa plantas sanas, 1 representa plantas enfermas
  poblacion <- sample(c(0, 1), N, replace = TRUE, prob = c(1 - porcentaje_penfermas, porcentaje_penfermas))
  
  # Extraer una muestra aleatoria de la población
  muestra <- sample(poblacion, tamano_muestra)
  
  # Calcular el estimador de la proporción muestral (p^)
  p_hat <- sum(muestra) / length(muestra)
  
  # Devolver el estimador de la proporción muestral
  return(p_hat)
}

c. Escenario con n=500

set.seed(123)  # Semilla para reproducibilidad

# Parámetros
N <- 1000  # Tamaño de la población
porcentaje_penfermas <- 0.5  # 50% de las plantas están enfermas
tamano_muestra <- 100  # Tamaño de la muestra
repeticiones <- 500  # Número de repeticiones

# Realizar la simulación
resultados <- replicate(repeticiones, {
  muestra <- calcular_proporcion_muestral(N, porcentaje_penfermas, tamano_muestra)
  mean(muestra)  # Calcula el estimador pˆ para la muestra
})

# Análisis de los resultados
mean_p_hat <- mean(resultados)
sd_p_hat <- sd(resultados)
hist(resultados, breaks = 30, main = "Distribución de los estimadores pˆ", xlab = "pˆ")

## El estimador pˆ promedio es: 0.50158
## La desviación estándar de pˆ es: 0.04864191

Análisis n=500

Teniendo en cuenta lo anterior, el promeido del estimador p^ es 0.50158, lo cual es muy cercano al verdadero valor de la proporción de plantas enfermas en la población, la cual es 0.5. Esto indica que el estimador p^ es insesgado para la proporción poblacional.

La desviación estándar de p^ es 0.04864191, muestra que la mayoría de los estimadores p^ calculados a partir de las muestras están relativamente agrupados cerca del promedio p^ de 0.50158. Sin embargo, esto indica que hay una dispersión que debe considerarse al interpretar estimaciones individuales de p^, a partir de muestras únicas. La variabilidad es una medida de cuánto esperamos que varíe el resultado de nuestro estimador de una muestra a otra, y para este caso particular, sugiere una precisión aceptable del estimador

d. Escenario con tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500

## Tamaño de muestra: 5 P-valor: 2.034929e-14
## Tamaño de muestra: 10 P-valor: 2.902218e-09
## Tamaño de muestra: 15 P-valor: 4.179857e-07
## Tamaño de muestra: 20 P-valor: 5.970094e-06

## Tamaño de muestra: 30 P-valor: 0.0001145039
## Tamaño de muestra: 50 P-valor: 0.00116089
## Tamaño de muestra: 60 P-valor: 0.004118524
## Tamaño de muestra: 100 P-valor: 0.04889173

## Tamaño de muestra: 200 P-valor: 0.06619049
## Tamaño de muestra: 500 P-valor: 0.09011165

Análisis tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500

Teniendo en cuenta lo anterior podemos observar cómo cambian tanto los p-valores de la prueba de Shapiro-Wilk en relación con la apariencia de los gráficos Q-Q a medida que aumenta el tamaño de la muestra. Se observa una tendencia hacia la normalidad con tamaños de muestra más grandes, lo cual va en coherencia con el Teorema del Límite Central.

e. Simulación Población de Lote de plantas, N=1000 con el 10% enfermas

N=1000
p=0.1

LotePlantas = sample(c(0,1),N,replace=TRUE,prob = c(1-p,p))

# Tabla Frecuencias
tabla_frecuencias <- table(LotePlantas)

# Asigna nombres a las columnas
names(tabla_frecuencias) <- c("Plantas sanas", "Plantas enfermas")

# Imprime la tabla
print(tabla_frecuencias)
##    Plantas sanas Plantas enfermas 
##              907               93

Función muestra aleatoria y estimador

# Función para obtener una muestra y calcular p^
calcular_proporcion_muestral <- function(N, porcentaje_penfermas, tamano_muestra) {
  # Crear la población: 0 representa plantas sanas, 1 representa plantas enfermas
  poblacion <- sample(c(0, 1), N, replace = TRUE, prob = c(1 - porcentaje_penfermas, porcentaje_penfermas))
  
  # Extraer una muestra aleatoria de la población
  muestra <- sample(poblacion, tamano_muestra)
  
  # Calcular el estimador de la proporción muestral (p^)
  p_hat <- sum(muestra) / length(muestra)
  
  # Devolver el estimador de la proporción muestral
  return(p_hat)
}

Escenario con n=500

set.seed(123)  # Semilla para reproducibilidad

# Parámetros
N <- 1000  # Tamaño de la población
porcentaje_penfermas <- 0.1  # 10% de las plantas están enfermas
tamano_muestra <- 100  # Tamaño de la muestra
repeticiones <- 500  # Número de repeticiones

# Realizar la simulación
resultados <- replicate(repeticiones, {
  muestra <- calcular_proporcion_muestral(N, porcentaje_penfermas, tamano_muestra)
  mean(muestra)  # Calcula el estimador pˆ para la muestra
})

# Análisis de los resultados
mean_p_hat <- mean(resultados)
sd_p_hat <- sd(resultados)
hist(resultados, breaks = 30, main = "Distribución de los estimadores pˆ", xlab = "pˆ")

## El estimador pˆ promedio es: 0.10286
## La desviación estándar de pˆ es: 0.03107977

Escenario con tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500

## Tamaño de muestra: 5 P-valor: 7.355663e-29
## Tamaño de muestra: 10 P-valor: 1.569293e-22
## Tamaño de muestra: 15 P-valor: 2.120485e-18
## Tamaño de muestra: 20 P-valor: 3.976943e-15

## Tamaño de muestra: 30 P-valor: 6.61465e-11
## Tamaño de muestra: 50 P-valor: 7.214001e-10
## Tamaño de muestra: 60 P-valor: 2.086169e-06
## Tamaño de muestra: 100 P-valor: 1.22309e-05

## Tamaño de muestra: 200 P-valor: 0.004021028
## Tamaño de muestra: 500 P-valor: 0.0330831

e. Escenario Lotes con 90% de plantas enfermas

N=1000
p=0.9

LotePlantas = sample(c(0,1),N,replace=TRUE,prob = c(1-p,p))

# Tabla Frecuencias
tabla_frecuencias <- table(LotePlantas)

# Asigna nombres a las columnas
names(tabla_frecuencias) <- c("Plantas sanas", "Plantas enfermas")

# Imprime la tabla
print(tabla_frecuencias)
##    Plantas sanas Plantas enfermas 
##               93              907
# Función para obtener una muestra y calcular p^
calcular_proporcion_muestral <- function(N, porcentaje_penfermas, tamano_muestra) {
  # Crear la población: 0 representa plantas sanas, 1 representa plantas enfermas
  poblacion <- sample(c(0, 1), N, replace = TRUE, prob = c(1 - porcentaje_penfermas, porcentaje_penfermas))
  
  # Extraer una muestra aleatoria de la población
  muestra <- sample(poblacion, tamano_muestra)
  
  # Calcular el estimador de la proporción muestral (p^)
  p_hat <- sum(muestra) / length(muestra)
  
  # Devolver el estimador de la proporción muestral
  return(p_hat)
}
set.seed(123)  # Semilla para reproducibilidad

# Parámetros
N <- 1000  # Tamaño de la población
porcentaje_penfermas <- 0.9  # 90% de las plantas están enfermas
tamano_muestra <- 100  # Tamaño de la muestra
repeticiones <- 500  # Número de repeticiones

# Realizar la simulación
resultados <- replicate(repeticiones, {
  muestra <- calcular_proporcion_muestral(N, porcentaje_penfermas, tamano_muestra)
  mean(muestra)  # Calcula el estimador pˆ para la muestra
})

# Análisis de los resultados
mean_p_hat <- mean(resultados)
sd_p_hat <- sd(resultados)
hist(resultados, breaks = 30, main = "Distribución de los estimadores pˆ", xlab = "pˆ")

## El estimador pˆ promedio es: 0.89714
## La desviación estándar de pˆ es: 0.03107977
## Tamaño de muestra: 5 P-valor: 7.355663e-29
## Tamaño de muestra: 10 P-valor: 1.569293e-22
## Tamaño de muestra: 15 P-valor: 2.120485e-18
## Tamaño de muestra: 20 P-valor: 3.976943e-15

## Tamaño de muestra: 30 P-valor: 6.61465e-11
## Tamaño de muestra: 50 P-valor: 7.214001e-10
## Tamaño de muestra: 60 P-valor: 2.086169e-06
## Tamaño de muestra: 100 P-valor: 1.22309e-05

## Tamaño de muestra: 200 P-valor: 0.004021028
## Tamaño de muestra: 500 P-valor: 0.0330831

Análisis cuandolos en lotes plantas hay un con 10% de plantas enfermas y de un 90% de plantas enfermas

Los resultados del test de Shapiro indican que la variabilidad en la población, en términos de la proporción de plantas enfermas, influye considerablemente en la normalidad de la distribución del estimador de la proporción muestral. Una proporción muy alta o muy baja de plantas enfermas tiende a desviar la distribución de la normalidad, mientras que una proporción más equilibrada, cercana al 50%, se aproxima más a una distribución normal.