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.


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

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

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

  1. Repita el escenario anterior (b) n=500veces 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.
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

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

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

Analisis

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,

CONCLUSIÓN

Podemos comprobar que el teorema del limite central, al aumentar las muestras tiende a una distribución normal,