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.
con <- 1
set.seed (123)
simulacion <- rbinom (1000, con, 0.5)
sum(simulacion == 1)
## [1] 493
print(simulacion)
## [1] 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1
## [38] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0
## [75] 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1
## [112] 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0
## [149] 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1
## [186] 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1
## [223] 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0
## [260] 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1
## [297] 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1
## [334] 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0
## [371] 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1
## [408] 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0
## [445] 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0
## [482] 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1
## [519] 0 1 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1
## [556] 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 1 0
## [593] 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0
## [630] 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0
## [667] 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
## [704] 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0
## [741] 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0
## [778] 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1
## [815] 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0
## [852] 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 0
## [889] 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1
## [926] 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0
## [963] 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1
## [1000] 0
• 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.
muestreo_a <- function(n, condicion) {
simulacion <- rbinom (1000, condicion, 0.5)
muestreo <- sample (simulacion, n, replace = TRUE)
prop_muestra= sum(muestreo== 1) /n
return(prop_muestra*100)
print(prop_muestra)
}
muestreo_a(1000,1)
## [1] 50.2
condicion <- 1
muestreo_a (1000,condicion)
## [1] 50.7
for (n in 1000) {
repeticiones_sample= replicate (500, muestreo_a(1000,condicion))
medias<- mean(repeticiones_sample)
varianza <-var (repeticiones_sample)
sesgo <- muestreo_a(1000,1) - medias
}
Totales_proporcionales <- data.frame(medias, varianza, sesgo)
print(Totales_proporcionales)
## medias varianza sesgo
## 1 49.8048 4.743344 0.1952
muestreo_a2 <- function(n, condicion, pro) {
simulacion <- rbinom(1000, condicion, pro)
muestreo= sample (simulacion, n, replace=TRUE)
prop_muestra= sum(muestreo== 1) /n
return(prop_muestra*100)
}
Cambio <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
pro <- c(0.1, 0.5, 0.9)
muestreo_a2(Cambio[1], 1, pro[2])
## [1] 60
matriz<-matrix(ncol=10, nrow=500)
colnames(matriz) <- c("n=5", "n=10", "n=15", "n=20", "n=30", "n=50", "n=60", "n=100", "n=200", "n=500")
matriz_resultados <- matrix(ncol=7, nrow=30)
colnames(matriz_resultados) <- c("n", "% Enfermos", "medias", "varianzas", "sesgo", "p", "DN")
sim <- 1
for (z in 1:3) {
n <- 1
for (n in 1:10) {
repeticiones = replicate(500, muestreo_a2(Cambio[n], 1, pro[z]))
#for (y in 1:500) {
# matriz[y, n] <- repeticiones[y]
#}
matriz_resultados [sim, 3] <- mean (repeticiones)
matriz_resultados [sim, 4] <- var (repeticiones)
matriz_resultados [sim, 5] <- muestreo_a2(Cambio[n], 1, pro[z]) - matriz_resultados [sim, 3]
matriz_resultados [sim, 6] <- shapiro.test(repeticiones)$p.value
matriz_resultados [sim, 2] <- pro[z]
matriz_resultados [sim, 1] <- Cambio[n]
matriz_resultados [sim, 7] <- 0.05 - shapiro.test(repeticiones)$p.value
print("Poblacion")
print(Cambio[n])
print("Porcentaje de planatas enfermas")
print(pro[z])
hist (repeticiones, main=paste("Histogram con poblacion n de " , (Cambio[n])), freq=FALSE)
qqnorm (repeticiones, main= (Cambio[n]))
qqline (repeticiones, col="red")
sim <- sim + 1
}
}
## [1] "Poblacion"
## [1] 5
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 10
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 15
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 20
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 30
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 50
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 60
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 100
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 200
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 500
## [1] "Porcentaje de planatas enfermas"
## [1] 0.1
## [1] "Poblacion"
## [1] 5
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 10
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 15
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 20
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 30
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 50
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 60
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 100
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 200
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 500
## [1] "Porcentaje de planatas enfermas"
## [1] 0.5
## [1] "Poblacion"
## [1] 5
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 10
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 15
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 20
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 30
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 50
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 60
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 100
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 200
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
## [1] "Poblacion"
## [1] 500
## [1] "Porcentaje de planatas enfermas"
## [1] 0.9
print(matriz_resultados)
## n % Enfermos medias varianzas sesgo p DN
## [1,] 5 0.1 10.720000 197.476553 9.280000 5.102156e-28 0.05000000
## [2,] 10 0.1 10.200000 89.739479 -0.200000 1.324043e-21 0.05000000
## [3,] 15 0.1 9.613333 63.889379 3.720000 2.277647e-18 0.05000000
## [4,] 20 0.1 10.050000 42.933367 -10.050000 2.541216e-14 0.05000000
## [5,] 30 0.1 9.553333 27.344066 10.446667 6.036801e-12 0.05000000
## [6,] 50 0.1 9.860000 18.729860 -5.860000 5.004353e-07 0.04999950
## [7,] 60 0.1 10.030000 15.146059 -3.363333 6.327233e-07 0.04999937
## [8,] 100 0.1 10.042000 9.843924 -4.042000 8.748531e-05 0.04991251
## [9,] 200 0.1 10.110000 5.657214 -1.110000 6.327223e-03 0.04367278
## [10,] 500 0.1 10.088800 2.500155 1.111200 1.154191e-01 -0.06541912
## [11,] 5 0.5 49.360000 498.988377 -9.360000 5.047125e-15 0.05000000
## [12,] 10 0.5 50.160000 245.665731 -10.160000 6.370957e-10 0.05000000
## [13,] 15 0.5 49.733333 179.220664 3.600000 1.143966e-07 0.04999989
## [14,] 20 0.5 49.950000 136.119739 -9.950000 4.127497e-06 0.04999587
## [15,] 30 0.5 50.246667 80.522423 -3.580000 6.242377e-05 0.04993758
## [16,] 50 0.5 49.328000 50.160737 0.672000 2.285252e-03 0.04771475
## [17,] 60 0.5 50.190000 43.734703 -1.856667 1.651037e-02 0.03348963
## [18,] 100 0.5 49.982000 26.943563 -4.982000 1.554751e-01 -0.10547514
## [19,] 200 0.5 49.885000 14.453181 4.115000 1.176815e-01 -0.06768154
## [20,] 500 0.5 49.797600 8.278311 -2.397600 8.369657e-01 -0.78696565
## [21,] 5 0.9 91.000000 148.897796 9.000000 2.222132e-29 0.05000000
## [22,] 10 0.9 90.280000 83.288176 9.720000 3.222335e-22 0.05000000
## [23,] 15 0.9 90.360000 58.565308 2.973333 3.240112e-18 0.05000000
## [24,] 20 0.9 89.780000 42.035671 5.220000 3.462638e-14 0.05000000
## [25,] 30 0.9 89.820000 31.742196 0.180000 9.884292e-14 0.05000000
## [26,] 50 0.9 89.428000 22.109034 0.572000 9.192012e-08 0.04999991
## [27,] 60 0.9 89.880000 14.670497 5.120000 3.998609e-09 0.05000000
## [28,] 100 0.9 89.848000 9.744385 4.152000 1.049933e-05 0.04998950
## [29,] 200 0.9 90.085000 5.315907 -2.085000 2.838239e-03 0.04716176
## [30,] 500 0.9 89.926400 2.805795 -1.726400 1.027479e-01 -0.05274793
Análisis En la matriz de resultados tenemos el “n” que corresponde a las muestras y el “% Enfermos” que son las pruebas aplicadas de 10%, 50% y 90% de plantas enfermas, y tenemos la media, variancia, sesgo, el valor p y “DN” la distribución normal. Como podemos evidenciar en las diferentes simulaciones desarrolladas la proporción se mantiene cerca a los porcentajes establecidos según la simulación, del 10%, 50% y 90% según corresponde la simulación, se corrobora al aumentar la población en cada simulación la varianza disminuye según la teoría de limite central, para el test de Shapiro-Wilks, plantea “la hipótesis nula que una muestra proviene de una distribución normal, cuando el p valor del test es superior al nivel de significancia (0,05), no se rechaza la hipótesis nula, es decir que los datos si provienen de una distribución normal”. Para las simulaciones cuando las plantas enfermas son del 10%, y la población es de 500 la distribución normal es superior a 0.05, para la simulación del 50% de plantas enfermas y población superior a 100 la distribución normal es superior a 0.05 y para para la simulación del 90% de plantas enfermas y población superior a 500 la distribución normal es superior a 0.05, para las demás simulaciones se rechaza la hipótesis nula y se acepta la alterna, los datos no provienen de una distribución normal. Al verificar los histogramas, se evidencia que entra mayor sea la población, los datos tienden a tener una distribución normal, muy cerca al parámetro de plantas enfermas,
Podemos comprobar que el teorema del limite central, al aumentar las muestras tiende a una distribución normal,