##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:
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%.
lote <- c(rep("enferma",500),rep("noenferma",500))
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.
calculos <- function (n) {
muestra <- sample(lote,size = n)
estimador <- sum(muestra=="enferma")/n
return(estimador)
}
3.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.
n500 = sapply(rep(500,500), calculos)
mean(n500)
## [1] 0.500016
var(n500)
## [1] 0.0002508054
hist(n500, main = "n=500", freq=FALSE)
shapiro.test(n500)
##
## Shapiro-Wilk normality test
##
## data: n500
## W = 0.99521, p-value = 0.1254
qqnorm(n500, main ="n=500") ; qqline(n500, col="red")
Resultados: Se puede observar en el histograma que para una muestra de n=500, la distribución de la media es una distribución simétrica, hasta converger en una distribución normal.
Por otra parte, con respecto al gráfico de normalidad para la media se evidencia un gráfico de puntos completamente alineados con la recta diagonal, indicando así una convergencia a la distribución normal.
Finalmente gracias al test de Shapiro Wilk, se puede demostrar que de la salida obtenida se asume normalidad, ya que el valor de P es mayor a 0.05, lo que significa, que la distribución de los datos no difiere de la distribución normal.
4.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
#generación de muestras------------------
n5 = sapply(rep(5,500), calculos)
n10 = sapply(rep(10,500), calculos)
n15 = sapply(rep(15,500), calculos)
n20 = sapply(rep(20,500), calculos)
n30 = sapply(rep(30,500), calculos)
n50 = sapply(rep(50,500), calculos)
n60 = sapply(rep(60,500), calculos)
n100 = sapply(rep(100,500), calculos)
n200 = sapply(rep(200,500), calculos)
n500 = sapply(rep(500,500), calculos)
#generación de medias------------------
mean(n5)
## [1] 0.5216
mean(n10)
## [1] 0.4936
mean(n15)
## [1] 0.4925333
mean(n20)
## [1] 0.4988
mean(n30)
## [1] 0.4981333
mean(n50)
## [1] 0.50068
mean(n60)
## [1] 0.5001667
mean(n100)
## [1] 0.50356
mean(n200)
## [1] 0.49958
mean(n500)
## [1] 0.499916
#generación de varianzas------------------
var(n5)
## [1] 0.05091527
var(n10)
## [1] 0.0257305
var(n15)
## [1] 0.01687578
var(n20)
## [1] 0.01143142
var(n30)
## [1] 0.007874487
var(n50)
## [1] 0.004460459
var(n60)
## [1] 0.004007432
var(n100)
## [1] 0.002037
var(n200)
## [1] 0.001091707
var(n500)
## [1] 0.0002451633
#Shapiro wilk------------------
shapiro.test(n5)
##
## Shapiro-Wilk normality test
##
## data: n5
## W = 0.93023, p-value = 1.65e-14
shapiro.test(n10)
##
## Shapiro-Wilk normality test
##
## data: n10
## W = 0.96277, p-value = 6.163e-10
shapiro.test(n15)
##
## Shapiro-Wilk normality test
##
## data: n15
## W = 0.97604, p-value = 2.635e-07
shapiro.test(n20)
##
## Shapiro-Wilk normality test
##
## data: n20
## W = 0.97829, p-value = 8.787e-07
shapiro.test(n30)
##
## Shapiro-Wilk normality test
##
## data: n30
## W = 0.98584, p-value = 8.737e-05
shapiro.test(n50)
##
## Shapiro-Wilk normality test
##
## data: n50
## W = 0.98859, p-value = 0.0006121
shapiro.test(n60)
##
## Shapiro-Wilk normality test
##
## data: n60
## W = 0.99115, p-value = 0.00435
shapiro.test(n100)
##
## Shapiro-Wilk normality test
##
## data: n100
## W = 0.99177, p-value = 0.007195
shapiro.test(n200)
##
## Shapiro-Wilk normality test
##
## data: n200
## W = 0.9962, p-value = 0.2777
shapiro.test(n500)
##
## Shapiro-Wilk normality test
##
## data: n500
## W = 0.99493, p-value = 0.09939
#Gráfico de normalidad------------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
qqnorm(n5,main="n=5 "); qqline(n5, col="red")
qqnorm(n10,main="n=10 "); qqline(n10, col="red")
qqnorm(n15,main="n=15 "); qqline(n15, col="red")
qqnorm(n20,main="n=20 "); qqline(n20, col="red")
qqnorm(n30,main="n=30 "); qqline(n30, col="red")
qqnorm(n50,main="n=50 "); qqline(n50, col="red")
qqnorm(n60,main="n=60 "); qqline(n60, col="red")
qqnorm(n100,main="n=100 "); qqline(n100, col="red")
qqnorm(n200,main="n=200 "); qqline(n200, col="red")
qqnorm(n500,main="n=500 "); qqline(n500, col="red")
#Histogramas------------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
hist(n5, main = "n=5", freq=FALSE)
hist(n10, main = "n=10", freq=FALSE)
hist(n15, main = "n=15", freq=FALSE)
hist(n20, main = "n=20", freq=FALSE)
hist(n30, main = "n=30", freq=FALSE)
hist(n50, main = "n=50", freq=FALSE)
hist(n60, main = "n=60", freq=FALSE)
hist(n100, main = "n=100", freq=FALSE)
hist(n200, main = "n=200", freq=FALSE)
hist(n500, main = "n=500", freq=FALSE)
Resultados Punto 4: Se puede observar que el comportamiento de los histogramas para el lote de 50% de plantas enfermas, independientemente de la muestra, es simetrico, ya que todos los histogramas muestran una distribución normal.
Por otra parte, con respecto al gráfico de normalidad para la media se evidencia un gráfico de puntosque varia según el tamaño de la muestra, para n =5 no se ven completamente alineados, pero a medida que ésta aumenta se ve la transformación a un gráfico de puntos completamente alineado con la recta diagonal indicando así una convergencia a la distribución normal.
5.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.
Lotes con 10% de plantas enfermas
#Generación de lotes-----
lote100 <- c(rep("enferma",100),rep("noenferma",900))
calculos100 <- function (n) {
muestra <- sample(lote100,size = n)
estimador <- sum(muestra=="enferma")/n
return(estimador)
}
#generación de muestras para Lote de 10% plantas enfermas------------------
n5_100 = sapply(rep(5,100), calculos100)
n10_100 = sapply(rep(10,100), calculos100)
n15_100 = sapply(rep(15,100), calculos100)
n20_100 = sapply(rep(20,100), calculos100)
n30_100 = sapply(rep(30,100), calculos100)
n50_100 = sapply(rep(50,100), calculos100)
n60_100 = sapply(rep(60,100), calculos100)
n100_100 = sapply(rep(100,100), calculos100)
n200_100 = sapply(rep(200,100), calculos100)
n500_100 = sapply(rep(500,100), calculos100)
#generación de medias para Lote de 10% plantas enfermas------------------
mean(n5_100)
## [1] 0.11
mean(n10_100)
## [1] 0.117
mean(n15_100)
## [1] 0.1093333
mean(n20_100)
## [1] 0.098
mean(n30_100)
## [1] 0.09733333
mean(n50_100)
## [1] 0.1072
mean(n60_100)
## [1] 0.098
mean(n100_100)
## [1] 0.1035
mean(n200_100)
## [1] 0.1036
mean(n500_100)
## [1] 0.10116
#generación de varianzas para Lote de 10% plantas enfermas------------------
var(n5_100)
## [1] 0.01888889
var(n10_100)
## [1] 0.009910101
var(n15_100)
## [1] 0.006062402
var(n20_100)
## [1] 0.003884848
var(n30_100)
## [1] 0.00268642
var(n50_100)
## [1] 0.002089051
var(n60_100)
## [1] 0.001758025
var(n100_100)
## [1] 0.0009118687
var(n200_100)
## [1] 0.0002934747
var(n500_100)
## [1] 9.213576e-05
#Shapiro wilk para Lote de 10% plantas enfermas------------------
shapiro.test(n5_100)
##
## Shapiro-Wilk normality test
##
## data: n5_100
## W = 0.73325, p-value = 3.455e-12
shapiro.test(n10_100)
##
## Shapiro-Wilk normality test
##
## data: n10_100
## W = 0.86873, p-value = 6.232e-08
shapiro.test(n15_100)
##
## Shapiro-Wilk normality test
##
## data: n15_100
## W = 0.88816, p-value = 4.088e-07
shapiro.test(n20_100)
##
## Shapiro-Wilk normality test
##
## data: n20_100
## W = 0.8428, p-value = 6.484e-09
shapiro.test(n30_100)
##
## Shapiro-Wilk normality test
##
## data: n30_100
## W = 0.9396, p-value = 0.0001823
shapiro.test(n50_100)
##
## Shapiro-Wilk normality test
##
## data: n50_100
## W = 0.95824, p-value = 0.003019
shapiro.test(n60_100)
##
## Shapiro-Wilk normality test
##
## data: n60_100
## W = 0.95816, p-value = 0.002978
shapiro.test(n100_100)
##
## Shapiro-Wilk normality test
##
## data: n100_100
## W = 0.97125, p-value = 0.02758
shapiro.test(n200_100)
##
## Shapiro-Wilk normality test
##
## data: n200_100
## W = 0.98864, p-value = 0.5564
shapiro.test(n500_100)
##
## Shapiro-Wilk normality test
##
## data: n500_100
## W = 0.98689, p-value = 0.4302
#Gráfico de normalidad para Lote de 10% plantas enfermas----------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
qqnorm(n5_100, main="n=5 "); qqline(n5_100, col="blue")
qqnorm(n10_100, main="n=10 ") ; qqline(n10_100, col="blue")
qqnorm(n15_100, main="n=15 ") ; qqline(n15_100, col="blue")
qqnorm(n20_100, main="n=20 ") ; qqline(n20_100, col="blue")
qqnorm(n30_100, main="n=30 ") ; qqline(n30_100, col="blue")
qqnorm(n50_100, main="n=50 ") ; qqline(n50_100, col="blue")
qqnorm(n60_100, main="n=60 ") ; qqline(n60_100, col="blue")
qqnorm(n100_100, main="n=100 ") ; qqline(n100_100, col="blue")
qqnorm(n200_100, main="n=200 ") ; qqline(n200_100, col="blue")
qqnorm(n500_100, main="n=500 ") ; qqline(n500_100, col="blue")
#Histogramas para Lote de 10% plantas enfermas----------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
hist(n5_100, main = "n=5_100", freq=FALSE)
hist(n10_100, main = "n=10_100", freq=FALSE)
hist(n15_100, main = "n=15_100", freq=FALSE)
hist(n20_100, main = "n=20_100", freq=FALSE)
hist(n30_100, main = "n=30_100", freq=FALSE)
hist(n50_100, main = "n=50_100", freq=FALSE)
hist(n60_100, main = "n=60_100", freq=FALSE)
hist(n100_100, main = "n=100_100", freq=FALSE)
hist(n200_100, main = "n=200_100", freq=FALSE)
hist(n500_100, main = "n=500_100", freq=FALSE)
Lotes con 90% de plantas enfermas:
lote900 <- c(rep("enferma",900),rep("noenferma",100))
calculos900 <- function (n) {
muestra <- sample(lote900,size = n)
estimador <- sum(muestra=="enferma")/n
return(estimador)
}
#generación de muestras para Lote de 90% plantas enfermas------------------
n5_900 = sapply(rep(5,900), calculos900)
n10_900 = sapply(rep(10,900), calculos900)
n15_900 = sapply(rep(15,900), calculos900)
n20_900 = sapply(rep(20,900), calculos900)
n30_900 = sapply(rep(30,900), calculos900)
n50_900 = sapply(rep(50,900), calculos900)
n60_900 = sapply(rep(60,900), calculos900)
n100_900 = sapply(rep(100,900), calculos900)
n200_900 = sapply(rep(200,900), calculos900)
n500_900 = sapply(rep(900,900), calculos900)
#generación de medias para Lote de 90% plantas enfermas------------------
mean(n5_900)
## [1] 0.8928889
mean(n10_900)
## [1] 0.9031111
mean(n15_900)
## [1] 0.902963
mean(n20_900)
## [1] 0.8990556
mean(n30_900)
## [1] 0.9024074
mean(n50_900)
## [1] 0.9016222
mean(n60_900)
## [1] 0.900963
mean(n100_900)
## [1] 0.8985556
mean(n200_900)
## [1] 0.9006111
mean(n500_900)
## [1] 0.9000914
#generación de varianzas para Lote de 90% plantas enfermas------------------
var(n5_900)
## [1] 0.01894826
var(n10_900)
## [1] 0.008110444
var(n15_900)
## [1] 0.00609676
var(n20_900)
## [1] 0.004262177
var(n30_900)
## [1] 0.002697201
var(n50_900)
## [1] 0.001756209
var(n60_900)
## [1] 0.001481583
var(n100_900)
## [1] 0.0008646521
var(n200_900)
## [1] 0.0003331634
var(n500_900)
## [1] 1.023622e-05
#Shapiro wilk para Lote de 90% plantas enfermas------------------
shapiro.test(n5_900)
##
## Shapiro-Wilk normality test
##
## data: n5_900
## W = 0.72462, p-value < 2.2e-16
shapiro.test(n10_900)
##
## Shapiro-Wilk normality test
##
## data: n10_900
## W = 0.83987, p-value < 2.2e-16
shapiro.test(n15_900)
##
## Shapiro-Wilk normality test
##
## data: n15_900
## W = 0.89187, p-value < 2.2e-16
shapiro.test(n20_900)
##
## Shapiro-Wilk normality test
##
## data: n20_900
## W = 0.93074, p-value < 2.2e-16
shapiro.test(n30_900)
##
## Shapiro-Wilk normality test
##
## data: n30_900
## W = 0.95182, p-value < 2.2e-16
shapiro.test(n50_900)
##
## Shapiro-Wilk normality test
##
## data: n50_900
## W = 0.96779, p-value = 3.272e-13
shapiro.test(n60_900)
##
## Shapiro-Wilk normality test
##
## data: n60_900
## W = 0.97815, p-value = 2.305e-10
shapiro.test(n100_900)
##
## Shapiro-Wilk normality test
##
## data: n100_900
## W = 0.98595, p-value = 1.356e-07
shapiro.test(n200_900)
##
## Shapiro-Wilk normality test
##
## data: n200_900
## W = 0.98854, p-value = 1.746e-06
shapiro.test(n500_900)
##
## Shapiro-Wilk normality test
##
## data: n500_900
## W = 0.98371, p-value = 1.824e-08
#Gráfico de normalidad para Lote de 90% plantas enfermas----------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
qqnorm(n5_900, main="n=5 "); qqline(n5_900, col="green")
qqnorm(n10_900, main="n=10 ") ; qqline(n10_900, col="green")
qqnorm(n15_900, main="n=15 ") ; qqline(n15_900, col="green")
qqnorm(n20_900, main="n=20 ") ; qqline(n20_900, col="green")
qqnorm(n30_900, main="n=30 ") ; qqline(n30_900, col="green")
qqnorm(n50_900, main="n=50 ") ; qqline(n50_900, col="green")
qqnorm(n60_900, main="n=60 ") ; qqline(n60_900, col="green")
qqnorm(n100_900, main="n=100 ") ; qqline(n100_900, col="green")
qqnorm(n200_900, main="n=200 ") ; qqline(n200_900, col="green")
qqnorm(n500_900, main="n=500 ") ; qqline(n500_900, col="green")
#Histogramas para Lote de 10% plantas enfermas----------------
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(2,2), mai = c(.3, .3, .3, .3))
hist(n5_900, main = "n=5_900", freq=FALSE)
hist(n10_900, main = "n=10_900", freq=FALSE)
hist(n15_900, main = "n=15_900", freq=FALSE)
hist(n20_900, main = "n=20_900", freq=FALSE)
hist(n30_900, main = "n=30_900", freq=FALSE)
hist(n50_900, main = "n=50_900", freq=FALSE)
hist(n60_900, main = "n=60_900", freq=FALSE)
hist(n100_900, main = "n=100_900", freq=FALSE)
hist(n200_900, main = "n=200_900", freq=FALSE)
hist(n500_900, main = "n=500_900", freq=FALSE)
Resultados Punto 5: Se puede observar que para el lote de 10% de plantas enfermas,el histograma presenta incialmente una asimetria y sesgo a la izquierda, sin embargo, a medida que aumenta el tamaño de la muestra n, la forma del histograma va cambiando, es decir se va transformando a simétrico, lo que indica su trasnformación a un comportamiento normal.
Con respecto al lote de 90% de plantas enfermas, se observa un comportamiento similar al anterior, a diferencia, que el histograma presenta una asimetria y sesgo a la derecha, no obstante, su comportamiento cambia a simetrico a medida que aumenta la muestra, lo que tambien indica su trasnformación a un comportamiento normal.
En el gráfico de normalidad para las medias, en ambos lotes, los resultados para n=5, n=10, n=15, n=20 y n =30, son graficos de valores no normales. Sin embargo, a medida que crece dicha muestra se evidencia un cambio a un gráfico de puntos alineados con la recta diagonal que define una coincidencia entre percentiles teóricos normales con los percentiles muestrales, mostrando así, una convergencia a la distribución normal.
Finalmente gracias al test de Shapiro Wilk, se puede demostrar que el p valor disminuye al aumentar las repeticiones y las muestras.