Problema 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:


Al final de la sección se encuentran las conclusiones según los resultados obtenidos en cada ítem.

a. 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%

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

Resultados:

## [1] "Plantas enfermas: 488"

b. Genere una función que permita:

• Obtener una muestra aleatoria de la población y.

Suponiendo que es una muestra de n = 500 y con probabilidad de que la planta sea enferma del 50%:

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

• Calcule el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado n.

Suponiendo que es una muestra de n = 500 y con probabilidad de que la planta sea enferma del 50%:

set.seed(123)
poblacion <- rbinom(1, size = 500, prob = 0.5)
proporcion <- poblacion / 500
## [1] "El estimador de la proporción muestral sería: 0.484"

c. Repita el escenario anterior (b) n = 500 veces y analice los resultados en cuanto al comportamiento de los 500 resultados del estimador \(\hat{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.

Resultados teóricos:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.5 \] Teniendo en cuenta la teoría del Teorema del Límite Central, la varianza se define de la siguiente manera:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.5 \cdot (1 - 0.5)}{500} = \frac{0.5 \cdot 0.5}{500} = \frac{0.25}{500} = 0.0005 \]

Resultados simulación:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)
poblacion <- rbinom(500, size = 500, prob = 0.5)
proporcion <- poblacion / 500
mediap <- round(mean(proporcion), 5)
varp <- round(var(proporcion), 5)

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)
simetria <- round(skewness(proporcion), 6)

• Calculando el test de Shapiro-Wilk:

set.seed(123)
shapiro_result <- shapiro.test(proporcion)

w_value <- shapiro_result$statistic
p_value <- shapiro_result$p.value

## [1] "La esperanza del estimador de la proporción muestral es: 0.50108"
## [1] "La varianza del estimador de la proporción muestral es: 0.00049"
## [1] "El coeficiente de simetría es: -0.009342"
## [1] "Estadístico W: 0.99644 Valor p: 0.33349"

Conclusiones:

De acuerdo con los resultados obtenidos, los valores experimentales son coherentes con la teoría del TLC, ya que la esperanza estimada es de 0.5 aproximadamente y la varianza de 0.0005 aproximadamente, tal como se esperaba. En cuanto al test de asimetría, dio como resultado un valor cercano a 0, indicando que la distribución de las proporciones es simétrica. Además, al aplicar el test de Shapiro-Wilk, el p-value es mayor al nivel de significancia (0.05), lo que implica que no se rechaza la hipótesis nula. Esto quiere decir que las proporciones muestrales se pueden comportar como una distribución normal.


d. 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 :shapiro.test()) y métodos gráficos (gráfico de normalidad: qqnorm()). Comente en su informe los resultados obtenidos.

Repetición punto B:

• Obtener una muestra aleatoria de la población y:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {
  poblacion <- rbinom(1, size = n, prob = 0.5)
}

• Calcule el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado n:

## [1] "Para n = 5 el estimador de la proporción muestral es: 0.4"
## [1] "Para n = 10 el estimador de la proporción muestral es: 0.6"
## [1] "Para n = 15 el estimador de la proporción muestral es: 0.467"
## [1] "Para n = 20 el estimador de la proporción muestral es: 0.65"
## [1] "Para n = 30 el estimador de la proporción muestral es: 0.633"
## [1] "Para n = 50 el estimador de la proporción muestral es: 0.38"
## [1] "Para n = 60 el estimador de la proporción muestral es: 0.433"
## [1] "Para n = 100 el estimador de la proporción muestral es: 0.54"
## [1] "Para n = 200 el estimador de la proporción muestral es: 0.475"
## [1] "Para n = 500 el estimador de la proporción muestral es: 0.5"

Al repetir el punto B con diferentes valores de n, se observa que, a medida que aumenta el tamaño de la muestra, el estimador de la proporción obtenido en la simulación se acerca más hacia el valor teórico esperado. Por lo tanto, aumentar el tamaño de la muestra mejora la exactitud del estimador de la proporción, reduciendo su sesgo y variabilidad.


Repetición punto C:

• Cálculos teóricos:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.5 \]

Al igual que el punto B, la esperanza teórica sigue siendo 0.5, dado que depende de la probabilidad. Por el contrario la varianza teórica sí depende del tamaño de la muestra, en este caso n = 5, 10, 15, 20, 30, 50, 60, 100, 200 y 500:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.5 \cdot (1 - 0.5)}{n} = \frac{0.5 \cdot 0.5}{n} = \frac{0.25}{n} \] Recopilando los resultados de las varianzas teóricas según el n:

set.seed(123)
n <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
varianzas <- 0.25 / n
##      n Varianza
## 1    5  0.05000
## 2   10  0.02500
## 3   15  0.01667
## 4   20  0.01250
## 5   30  0.00833
## 6   50  0.00500
## 7   60  0.00417
## 8  100  0.00250
## 9  200  0.00125
## 10 500  0.00050

Resultados simulación:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

medias_proporciones <- c()
varianzas_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.5)
  proporcion <- poblacion / n
  mediap <- round(mean(proporcion), 5)
  varp <- round(var(proporcion), 5)
  
  medias_proporciones <- c(medias_proporciones, mediap)
  varianzas_proporciones <- c(varianzas_proporciones, varp)
}

resultados <- data.frame(
  `n` = sizes,
  `Media` = medias_proporciones,
  `Varianza` = varianzas_proporciones
)

## [1] "Los resultados de la media y la varianza de la simulación del estimador muestral de la proporción son:"
##      n   Media Varianza
## 1    5 0.49760  0.04801
## 2   10 0.49500  0.02617
## 3   15 0.49733  0.01616
## 4   20 0.50230  0.01269
## 5   30 0.49847  0.00902
## 6   50 0.50128  0.00479
## 7   60 0.50007  0.00445
## 8  100 0.50094  0.00251
## 9  200 0.50110  0.00124
## 10 500 0.50018  0.00046

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)

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

asimetria_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.5)
  
  proporcion <- poblacion / n
  simetria <- round(skewness(proporcion), 6)
  asimetria_proporciones <- c(asimetria_proporciones, simetria)
}

resultados <- data.frame(
    `n` = sizes,
  `Coef_asimetría` = asimetria_proporciones
)
## [1] "Los resultados del coeficiente de asimetría son:"
##      n Coef_asimetría
## 1    5       0.208467
## 2   10      -0.109180
## 3   15       0.058779
## 4   20      -0.007779
## 5   30       0.115322
## 6   50      -0.012741
## 7   60       0.080382
## 8  100      -0.138172
## 9  200      -0.106708
## 10 500       0.062632

• Calculando el test de Shapiro-Wilk:

library(e1071)
set.seed(123)

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

shapiro_w_values <- c()
shapiro_p_values <- c()

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.5)
  proporcion <- poblacion / n

  shapiro_result <- shapiro.test(proporcion)
  w_value <- shapiro_result$statistic
  p_value <- shapiro_result$p.value
  
  shapiro_w_values <- c(shapiro_w_values, w_value)
  shapiro_p_values <- c(shapiro_p_values, p_value)
}

resultados <- data.frame(
  
  `n` = sizes,
  `W` = round(shapiro_w_values, 5),
  `p` = round(shapiro_p_values, 5)
)
## [1] "Los resultados del test de Shapiro-Wilk son:"
##      n       W       p
## 1    5 0.92317 0.00000
## 2   10 0.96348 0.00000
## 3   15 0.97470 0.00000
## 4   20 0.98157 0.00001
## 5   30 0.98672 0.00016
## 6   50 0.98951 0.00122
## 7   60 0.99338 0.02704
## 8  100 0.99237 0.01177
## 9  200 0.99581 0.20446
## 10 500 0.99618 0.27366

• Gráficos prueba de normalidad:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.5)
  proporcion <- poblacion / n

  qqnorm(proporcion, main = paste("QQ normalidad n =", n), xlab = "Cuantiles teóricos", ylab = "Cuantiles de muestra")
  qqline(proporcion, col = "red")
  
  cat("\n\n")
}


Conclusiones:

De acuerdo con los resultados obtenidos para los diferentes n, se observa que al aumentar el n, los resultados experimentales tienden a ser más cercanos a los teóricos y la normalidad va aumentando también cuando el n es mayor.

• A mayor n, la media y varianza experimental se acercan más a la teórica, las cuales son: media 0.5 y varianza 0.0005.

• En el test de asimetría, los valores son más cercanos a 0 cuando aumenta el n, por ende, la distribución se va convirtiendo en simétrica.

• En el test de Shapiro-Wilk, el p-value es mayor a nivel de significancia (0.05) cuando el n es mayor, lo que implica que a mayor n las proporciones muestrales pueden comportarse como una distribución normal.

• En el gráfico QQ normalidad se observa que a mayor n, los puntos se ajustan más a la línea de referencia, lo cual indica normalidad.


e. 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.

Repetición punto A:

a. 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 10% y 90%.

set.seed(123)
poblacion <- rbinom(1, size = 1000, prob = 0.1)
poblacion1 <- rbinom(1, size = 1000, prob = 0.9)

Resultados:

## [1] "Plantas enfermas con p = 0.1: 96"
## [1] "Plantas enfermas con p = 0.9: 902"

Repetición punto B:

b. Genere una función que permita:

• Obtener una muestra aleatoria de la población y.

Suponiendo que es una muestra de n = 500 y con probabilidad de que la planta sea enferma del 10% vs. 90%:

set.seed(123)
poblacion <- rbinom(1, size = 500, prob = 0.1)
poblacion1 <- rbinom(1, size = 500, prob = 0.9)

• Calcule el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado n.

Suponiendo que es una muestra de n = 500 y con probabilidad de que la planta sea enferma del 10% vs. 90%:

set.seed(123)

poblacion <- rbinom(1, size = 500, prob = 0.1)
proporcion <- poblacion / 500

poblacion1 <- rbinom(1, size = 500, prob = 0.9)
proporcion1 <- poblacion1 / 500
## [1] "El estimador de la proporción muestral con p = 0.1 sería: 0.098"
## [1] "El estimador de la proporción muestral con p = 0.9 sería: 0.9"
Repetición punto C:

c. Repita el escenario anterior (b) n = 500 veces y analice los resultados en cuanto al comportamiento de los 500 resultados del estimador \(\hat{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.

Resultados teóricos:

• Plantas enfermas p = 0.1:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.1 \] Teniendo en cuenta la teoría del Teorema del Límite Central, la varianza se define de la siguiente manera:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.1 \cdot (1 - 0.1)}{500} = \frac{0.1 \cdot 0.9}{500} = \frac{0.09}{500} = 0.00018 \]


• Plantas enfermas p = 0.9:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.9 \] Teniendo en cuenta la teoría del Teorema del Límite Central, la varianza se define de la siguiente manera:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.9 \cdot (1 - 0.9)}{500} = \frac{0.9 \cdot 0.1}{500} = \frac{0.09}{500} = 0.00018 \]

Resultados simulación:

• Plantas enfermas p = 0.1:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)

poblacion <- rbinom(500, size = 500, prob = 0.1)
proporcion <- poblacion / 500
mediap <- round(mean(proporcion), 5)
varp <- round(var(proporcion), 5)

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)
simetria <- round(skewness(proporcion), 6)

• Calculando el test de Shapiro-Wilk:

set.seed(123)
shapiro_result <- shapiro.test(proporcion)

w_value <- shapiro_result$statistic
p_value <- shapiro_result$p.value

## [1] "La esperanza del estimador de la proporción muestral es: 0.09969"
## [1] "La varianza del estimador de la proporción muestral es: 0.00018"
## [1] "El coeficiente de simetría es: 0.065986"
## [1] "Estadístico W: 0.99508 Valor p: 0.11255"

• Plantas enfermas p = 0.9:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)
poblacion <- rbinom(500, size = 500, prob = 0.9)
proporcion <- poblacion / 500
mediap <- round(mean(proporcion), 5)
varp <- round(var(proporcion), 5)

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)

simetria <- round(skewness(proporcion), 6)

• Calculando el test de Shapiro-Wilk:

set.seed(123)
shapiro_result <- shapiro.test(proporcion)

w_value <- shapiro_result$statistic
p_value <- shapiro_result$p.value

## [1] "La esperanza del estimador de la proporción muestral es: 0.90031"
## [1] "La varianza del estimador de la proporción muestral es: 0.00018"
## [1] "El coeficiente de simetría es: -0.065986"
## [1] "Estadístico W: 0.99508 Valor p: 0.11255"

Conclusiones:

De acuerdo con los resultados obtenidos, se observa que el valor teórico de la media cambia según la probabilidad de la planta enferma. Sin embargo, la varianza no cambió en los escenarios prob = 0.10 y prob = 0.90, cuyo valor es de 0.00018. Los resultados de la simulación concuerdan con la teoría del Teorema del Límite Central y tienen valores cercanos según el caso a evaluar: 0.10 o 0.90. La varianza en ambos casos se acerca al 0.00018. En cuanto al test de asimetría, dio como resultado un valor cercano a 0, indicando que la distribución de las proporciones es simétrica. Además, al aplicar el test de Shapiro-Wilk, el p-value es mayor al nivel de significancia (0.05), lo que implica que no se rechaza la hipótesis nula. Esto quiere decir que las proporciones muestrales se pueden comportar como una distribución normal. Lo mencionado anteriormente aplica para ambos escenarios: prob = 0.10 y prob = 0.90.


Repetición punto D:

d. 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 :shapiro.test()) y métodos gráficos (gráfico de normalidad: qqnorm()). Comente en su informe los resultados obtenidos.

Punto B:

• Plantas enfermas p = 0.1:

• Obtener una muestra aleatoria de la población y:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {
  poblacion <- rbinom(1, size = n, prob = 0.1)
}

• Calcule el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado n:

## [1] "Para n = 5 el estimador de la proporción muestral con prob = 0.1 es: 0"
## [1] "Para n = 10 el estimador de la proporción muestral con prob = 0.1 es: 0.2"
## [1] "Para n = 15 el estimador de la proporción muestral con prob = 0.1 es: 0.067"
## [1] "Para n = 20 el estimador de la proporción muestral con prob = 0.1 es: 0.2"
## [1] "Para n = 30 el estimador de la proporción muestral con prob = 0.1 es: 0.2"
## [1] "Para n = 50 el estimador de la proporción muestral con prob = 0.1 es: 0.04"
## [1] "Para n = 60 el estimador de la proporción muestral con prob = 0.1 es: 0.1"
## [1] "Para n = 100 el estimador de la proporción muestral con prob = 0.1 es: 0.14"
## [1] "Para n = 200 el estimador de la proporción muestral con prob = 0.1 es: 0.1"
## [1] "Para n = 500 el estimador de la proporción muestral con prob = 0.1 es: 0.092"

• Plantas enfermas p = 0.9:

• Obtener una muestra aleatoria de la población y:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {
  poblacion <- rbinom(1, size = n, prob = 0.9)
}

• Calcule el estimador de la proporción muestral \(\hat{p}\) para un tamaño de muestra dado n:

## [1] "Para n = 5 el estimador de la proporción muestral con prob = 0.9 es: 1"
## [1] "Para n = 10 el estimador de la proporción muestral con prob = 0.9 es: 0.8"
## [1] "Para n = 15 el estimador de la proporción muestral con prob = 0.9 es: 0.933"
## [1] "Para n = 20 el estimador de la proporción muestral con prob = 0.9 es: 0.8"
## [1] "Para n = 30 el estimador de la proporción muestral con prob = 0.9 es: 0.8"
## [1] "Para n = 50 el estimador de la proporción muestral con prob = 0.9 es: 0.96"
## [1] "Para n = 60 el estimador de la proporción muestral con prob = 0.9 es: 0.9"
## [1] "Para n = 100 el estimador de la proporción muestral con prob = 0.9 es: 0.86"
## [1] "Para n = 200 el estimador de la proporción muestral con prob = 0.9 es: 0.9"
## [1] "Para n = 500 el estimador de la proporción muestral con prob = 0.9 es: 0.908"

Al repetir el punto B con diferentes valores de n, se observa que, a medida que aumenta el tamaño de la muestra, el estimador de la proporción obtenido en la simulación se acerca más hacia el valor teórico esperado. Por lo tanto, aumentar el tamaño de la muestra mejora la exactitud del estimador de la proporción, reduciendo su sesgo y variabilidad.

Punto C:

• Cálculos teóricos p = 0.1:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.1 \]

La esperanza teórica es 0.1, dado que depende de la probabilidad. Por el contrario la varianza teórica sí depende del tamaño de la muestra, en este caso n = 5, 10, 15, 20, 30, 50, 60, 100, 200 y 500:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.1 \cdot (1 - 0.1)}{n} = \frac{0.1 \cdot 0.9}{n} = \frac{0.09}{n} \] Recopilando los resultados de las varianzas teóricas según el n y prob = 0.1:

set.seed(123)
n <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
varianzas <- 0.09 / n
##      n Varianza
## 1    5  0.01800
## 2   10  0.00900
## 3   15  0.00600
## 4   20  0.00450
## 5   30  0.00300
## 6   50  0.00180
## 7   60  0.00150
## 8  100  0.00090
## 9  200  0.00045
## 10 500  0.00018

• Cálculos teóricos p = 0.9:

Teniendo en cuenta la teoría del Teorema del Límite Central, la esperanza se define de la siguiente manera: \[ \mathbb{E}(\hat{p}) = \frac{\mathbb{E}(X)}{n} = \frac{n \cdot p}{n} = p = 0.9 \]

La esperanza teórica es 0.9, dado que depende de la probabilidad. Por el contrario la varianza teórica sí depende del tamaño de la muestra, en este caso n = 5, 10, 15, 20, 30, 50, 60, 100, 200 y 500:

\[ \text{Var}(\hat{p}) = \frac{\text{Var}(X)}{n^2} = \frac{n \cdot p \cdot (1 - p)}{n^2} = \frac{p \cdot (1 - p)}{n} \]

\[ \text{Var}(\hat{p}) = \frac{0.9 \cdot (1 - 0.9)}{n} = \frac{0.9 \cdot 0.1}{n} = \frac{0.09}{n} \] Recopilando los resultados de las varianzas teóricas según el n y prob = 0.9:

set.seed(123)
n <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
varianzas <- 0.09 / n
##      n Varianza
## 1    5  0.01800
## 2   10  0.00900
## 3   15  0.00600
## 4   20  0.00450
## 5   30  0.00300
## 6   50  0.00180
## 7   60  0.00150
## 8  100  0.00090
## 9  200  0.00045
## 10 500  0.00018

Resultados simulación:

• Cálculos teóricos p = 0.1:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

medias_proporciones <- c()
varianzas_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.1)
  proporcion <- poblacion / n
  mediap <- round(mean(proporcion), 5)
  varp <- round(var(proporcion), 5)
  
  medias_proporciones <- c(medias_proporciones, mediap)
  varianzas_proporciones <- c(varianzas_proporciones, varp)
}

resultados <- data.frame(
  `n` = sizes,
  `Media` = medias_proporciones,
  `Varianza` = varianzas_proporciones
)

## [1] "Los resultados de la media y la varianza de la simulación del estimador de la proporción con prob = 0.1 son:"
##      n   Media Varianza
## 1    5 0.09760  0.01771
## 2   10 0.10120  0.00854
## 3   15 0.09800  0.00590
## 4   20 0.10050  0.00453
## 5   30 0.09907  0.00322
## 6   50 0.10068  0.00170
## 7   60 0.09973  0.00141
## 8  100 0.10076  0.00100
## 9  200 0.09931  0.00043
## 10 500 0.10030  0.00018

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)

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

asimetria_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.1)
  
  proporcion <- poblacion / n
  simetria <- round(skewness(proporcion), 6)
  asimetria_proporciones <- c(asimetria_proporciones, simetria)
}

resultados <- data.frame(
    `n` = sizes,
  `Coef_asimetría` = asimetria_proporciones
)
## [1] "Los resultados del coeficiente de asimetría con prob = 0.1 son:"
##      n Coef_asimetría
## 1    5       1.184367
## 2   10       0.737175
## 3   15       0.814266
## 4   20       0.635363
## 5   30       0.505971
## 6   50       0.235711
## 7   60       0.317030
## 8  100       0.190386
## 9  200       0.258848
## 10 500       0.083019

• Calculando el test de Shapiro-Wilk:

library(e1071)
set.seed(123)

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

shapiro_w_values <- c()
shapiro_p_values <- c()

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.1)
  proporcion <- poblacion / n

  shapiro_result <- shapiro.test(proporcion)
  w_value <- shapiro_result$statistic
  p_value <- shapiro_result$p.value
  
  shapiro_w_values <- c(shapiro_w_values, w_value)
  shapiro_p_values <- c(shapiro_p_values, p_value)
}

resultados <- data.frame(
  
  `n` = sizes,
  `W` = round(shapiro_w_values, 5),
  `p` = round(shapiro_p_values, 5)
)
## [1] "Los resultados del test de Shapiro-Wilk con prob = 0.1 son:"
##      n       W       p
## 1    5 0.70207 0.00000
## 2   10 0.84537 0.00000
## 3   15 0.88758 0.00000
## 4   20 0.91939 0.00000
## 5   30 0.95137 0.00000
## 6   50 0.97343 0.00000
## 7   60 0.97621 0.00000
## 8  100 0.98692 0.00018
## 9  200 0.98701 0.00020
## 10 500 0.99567 0.18248

• Gráficos prueba de normalidad:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.1)
  proporcion <- poblacion / n

  qqnorm(proporcion, main = paste("QQ normalidad (prob = 0.1) n =", n), xlab = "Cuantiles teóricos", ylab = "Cuantiles de muestra")
  qqline(proporcion, col = "red")
  
  cat("\n\n")
}


• Cálculos teóricos p = 0.9:

• Calculando la esperanza y varianza del estimador de la proporción muestral \(\hat{p}\):

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

medias_proporciones <- c()
varianzas_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.9)
  proporcion <- poblacion / n
  mediap <- round(mean(proporcion), 5)
  varp <- round(var(proporcion), 5)
  
  medias_proporciones <- c(medias_proporciones, mediap)
  varianzas_proporciones <- c(varianzas_proporciones, varp)
}

resultados <- data.frame(
  `n` = sizes,
  `Media` = medias_proporciones,
  `Varianza` = varianzas_proporciones
)

## [1] "Los resultados de la media y la varianza de la simulación del estimador de la proporción con prob = 0.9 son:"
##      n   Media Varianza
## 1    5 0.90240  0.01771
## 2   10 0.89880  0.00854
## 3   15 0.90200  0.00590
## 4   20 0.89950  0.00453
## 5   30 0.90093  0.00322
## 6   50 0.89932  0.00170
## 7   60 0.90027  0.00141
## 8  100 0.89924  0.00100
## 9  200 0.90069  0.00043
## 10 500 0.89970  0.00018

• Calculando el coeficiente de asimetría:

library(e1071)
set.seed(123)

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

asimetria_proporciones <- c()

for (n in sizes) {
  poblacion <- rbinom(500, size = n, prob = 0.9)
  
  proporcion <- poblacion / n
  simetria <- round(skewness(proporcion), 6)
  asimetria_proporciones <- c(asimetria_proporciones, simetria)
}

resultados <- data.frame(
    `n` = sizes,
  `Coef_asimetría` = asimetria_proporciones
)
## [1] "Los resultados del coeficiente de asimetría con prob = 0.9 son:"
##      n Coef_asimetría
## 1    5      -1.184367
## 2   10      -0.737175
## 3   15      -0.814266
## 4   20      -0.635363
## 5   30      -0.505971
## 6   50      -0.235711
## 7   60      -0.317030
## 8  100      -0.190386
## 9  200      -0.258848
## 10 500      -0.083019

• Calculando el test de Shapiro-Wilk:

library(e1071)
set.seed(123)

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

shapiro_w_values <- c()
shapiro_p_values <- c()

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.9)
  proporcion <- poblacion / n

  shapiro_result <- shapiro.test(proporcion)
  w_value <- shapiro_result$statistic
  p_value <- shapiro_result$p.value
  
  shapiro_w_values <- c(shapiro_w_values, w_value)
  shapiro_p_values <- c(shapiro_p_values, p_value)
}

resultados <- data.frame(
  
  `n` = sizes,
  `W` = round(shapiro_w_values, 5),
  `p` = round(shapiro_p_values, 5)
)
## [1] "Los resultados del test de Shapiro-Wilk con prob = 0.9 son:"
##      n       W       p
## 1    5 0.70207 0.00000
## 2   10 0.84537 0.00000
## 3   15 0.88758 0.00000
## 4   20 0.91939 0.00000
## 5   30 0.95137 0.00000
## 6   50 0.97343 0.00000
## 7   60 0.97621 0.00000
## 8  100 0.98692 0.00018
## 9  200 0.98701 0.00020
## 10 500 0.99567 0.18248

• Gráficos prueba de normalidad:

set.seed(123)
sizes <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

for (n in sizes) {

  poblacion <- rbinom(500, size = n, prob = 0.9)
  proporcion <- poblacion / n

  qqnorm(proporcion, main = paste("QQ normalidad (prob = 0.9) n =", n), xlab = "Cuantiles teóricos", ylab = "Cuantiles de muestra")
  qqline(proporcion, col = "red")
  
  cat("\n\n")
}


Conclusiones:

De acuerdo con los resultados obtenidos para los diferentes n y diferentes probabilidades, se observa que al aumentar el n, los resultados experimentales tienden a ser más cercanos a los teóricos y la normalidad va aumentando también cuando el n es mayor en ambos escenarios.

• A mayor n, la media y varianza experimental se acercan más a la teórica, las cuales son: media 0.1 o 0.90 según el escenario y varianza 0.00018 en ambos escenarios.

• En el test de asimetría, los valores son más cercanos a 0 cuando aumenta el n, por ende, la distribución se va convirtiendo en simétrica en ambos escenarios.

• En el test de Shapiro-Wilk, el p-value es mayor a nivel de significancia (0.05) cuando el n es mayor, lo que implica que a mayor n las proporciones muestrales pueden comportarse como una distribución normal en ambos escenarios.

• En el gráfico QQ normalidad se observa que a mayor n, los puntos se ajustan más a la línea de referencia, lo cual indica normalidad en ambos escenarios.