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:

50% plantas enfermas

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

N= 1000
Lote_plantas = c(rep("Enferma", N*0.5), rep("Sana",N*0.5))
table(Lote_plantas)
## Lote_plantas
## Enferma    Sana 
##     500     500

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

Fun_Estimador=function(n){
  muestra=sample(Lote_plantas,size = n)
  Estimador_P=sum(muestra=="Enferma")/n
  return(Estimador_P)
}

n=300
Fun_Estimador(n)
## [1] 0.49

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

E_p = sapply(rep(n,500), Fun_Estimador)
mean(E_p)
## [1] 0.49946
hist(E_p,main= (paste("Histograma n=300")),xlab="Estimaciones ")

d=density(E_p)
plot(d, main=" ", xlab = "n=500")

qqnorm(E_p) ; qqline(E_p, col="red")

sd(E_p)
## [1] 0.02377897

Con una muestra de n= 300 los datos tienden a una ditribución normal

Muestras

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

E_p5 = sapply(rep(5,500), Fun_Estimador)
E_p10 = sapply(rep(10,500), Fun_Estimador)
E_p15 = sapply(rep(15,500), Fun_Estimador)
E_p20 = sapply(rep(20,500), Fun_Estimador)
E_p30 = sapply(rep(30,500), Fun_Estimador)
E_p50 = sapply(rep(50,500), Fun_Estimador)
E_p60 = sapply(rep(60,500), Fun_Estimador)
E_p100 = sapply(rep(100,500), Fun_Estimador)
E_p200 = sapply(rep(200,500), Fun_Estimador)
E_p500 = sapply(rep(500,500), Fun_Estimador)

Graficos

par(cex=1, cex.axis=1, cex.lab=1, cex.main=1, cex.sub=1,  mfrow=c(5,3), mai = c(.3, .3, .3, .3))

hist(E_p5,main= (paste("Histograma n=5")),xlab="Estimaciones ")
plot(density(E_p5), main="Densidad", xlab = "n=5")
qqnorm(E_p5) ; qqline(E_p5, col="brown")

hist(E_p10,main= (paste("Histograma n=10")),xlab="Estimaciones ")
plot(density(E_p10), main="Densidad", xlab = "n=10")
qqnorm(E_p10) ; qqline(E_p10, col="brown")

hist(E_p15,main= (paste("Histograma n=15")),xlab="Estimaciones ")
plot(density(E_p15), main="Densidad", xlab = "n=15")
qqnorm(E_p15) ; qqline(E_p15, col="brown")

hist(E_p20,main= (paste("Histograma n=20")),xlab="Estimaciones ")
plot(density(E_p20), main="Densidad", xlab = "n=5")
qqnorm(E_p20) ; qqline(E_p20, col="brown")

hist(E_p30,main= (paste("Histograma n=30")),xlab="Estimaciones ")
plot(density(E_p30), main="Densidad", xlab = "n=30")
qqnorm(E_p30) ; qqline(E_p30, col="brown")

hist(E_p50,main= (paste("Histograma n=50")),xlab="Estimaciones ")
plot(density(E_p50), main="Densidad", xlab = "n=50")
qqnorm(E_p50) ; qqline(E_p50, col="brown")

hist(E_p60,main= (paste("Histograma n=60")),xlab="Estimaciones ")
plot(density(E_p60), main="Densidad", xlab = "n=60")
qqnorm(E_p60) ; qqline(E_p60, col="brown")

hist(E_p100,main= (paste("Histograma n=100")),xlab="Estimaciones ")
plot(density(E_p100), main="Densidad", xlab = "n=100")
qqnorm(E_p100) ; qqline(E_p100, col="brown")

hist(E_p200,main= (paste("Histograma n=200")),xlab="Estimaciones ")
plot(density(E_p200), main="Densidad", xlab = "n=200")
qqnorm(E_p200) ; qqline(E_p200, col="brown")

hist(E_p500,main= (paste("Histograma n=500")),xlab="Estimaciones ")
plot(density(E_p500), main="Densidad", xlab = "n=500")
qqnorm(E_p500) ; qqline(E_p500, col="brown")

Mediante los graficos se puede observar que a medida que aunmenta la muestra (n) los datos tienen a una distribución normal.

Prueba Shapiro

shapiro.test(E_p5)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p5
## W = 0.9295, p-value = 1.36e-14
shapiro.test(E_p10)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p10
## W = 0.96168, p-value = 3.995e-10
shapiro.test(E_p15)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p15
## W = 0.97307, p-value = 5.875e-08
shapiro.test(E_p20)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p20
## W = 0.98015, p-value = 2.507e-06
shapiro.test(E_p30)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p30
## W = 0.98429, p-value = 3.146e-05
shapiro.test(E_p50)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p50
## W = 0.98934, p-value = 0.001075
shapiro.test(E_p60)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p60
## W = 0.98916, p-value = 0.0009348
shapiro.test(E_p100)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p100
## W = 0.99485, p-value = 0.09344
shapiro.test(E_p200)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p200
## W = 0.995, p-value = 0.1054
shapiro.test(E_p500)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p500
## W = 0.99434, p-value = 0.06077

Para los n= 5, 10, 15, 20, 30, 50 , 60, se rechaza la hitesis nula de normalidad y se concluye que no siguen una distribución normal.

para los n = 100, 200, 500 teniendo en cuenta que el p-valor es mayor a 0.05 se puede concluir que los datos siguen una distribución normal dado que no hay evidencia suficiente para rechazar la hipotsis nula.

10% plantas enfermas

simulación en la cual genere una población de n=1000 (Lote), donde el porcentaje de individuos (supongamos plantas) enfermas sea del 10%.

N= 1000
Lote_plantas1 = c(rep("Enferma", N*0.1), rep("Sana",N*0.9))
table(Lote_plantas1)
## Lote_plantas1
## Enferma    Sana 
##     100     900

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

Fun_Estimador1=function(n){
  muestra1=sample(Lote_plantas1,size = n)
  Estimador_P1=sum(muestra1=="Enferma")/n
  return(Estimador_P1)
}

Muestras

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())

E_p5 = sapply(rep(5,500), Fun_Estimador1)
E_p10 = sapply(rep(10,500), Fun_Estimador1)
E_p15 = sapply(rep(15,500), Fun_Estimador1)
E_p20 = sapply(rep(20,500), Fun_Estimador1)
E_p30 = sapply(rep(30,500), Fun_Estimador1)
E_p50 = sapply(rep(50,500), Fun_Estimador1)
E_p60 = sapply(rep(60,500), Fun_Estimador1)
E_p100 = sapply(rep(100,500), Fun_Estimador1)
E_p200 = sapply(rep(200,500), Fun_Estimador1)
E_p500 = sapply(rep(500,500), Fun_Estimador1)

Graficos

par(cex=1, cex.axis=1, cex.lab=1, cex.main=1, cex.sub=1,  mfrow=c(5,3), mai = c(.3, .3, .3, .3))

hist(E_p5,main= (paste("Histograma n=5")),xlab="Estimaciones ")
plot(density(E_p5), main="Densidad", xlab = "n=5")
qqnorm(E_p5) ; qqline(E_p5, col="brown")

hist(E_p10,main= (paste("Histograma n=10")),xlab="Estimaciones ")
plot(density(E_p10), main="Densidad", xlab = "n=10")
qqnorm(E_p10) ; qqline(E_p10, col="brown")

hist(E_p15,main= (paste("Histograma n=15")),xlab="Estimaciones ")
plot(density(E_p15), main="Densidad", xlab = "n=15")
qqnorm(E_p15) ; qqline(E_p15, col="brown")

hist(E_p20,main= (paste("Histograma n=20")),xlab="Estimaciones ")
plot(density(E_p20), main="Densidad", xlab = "n=5")
qqnorm(E_p20) ; qqline(E_p20, col="brown")

hist(E_p30,main= (paste("Histograma n=30")),xlab="Estimaciones ")
plot(density(E_p30), main="Densidad", xlab = "n=30")
qqnorm(E_p30) ; qqline(E_p30, col="brown")

hist(E_p50,main= (paste("Histograma n=50")),xlab="Estimaciones ")
plot(density(E_p50), main="Densidad", xlab = "n=50")
qqnorm(E_p50) ; qqline(E_p50, col="brown")

hist(E_p60,main= (paste("Histograma n=60")),xlab="Estimaciones ")
plot(density(E_p60), main="Densidad", xlab = "n=60")
qqnorm(E_p60) ; qqline(E_p60, col="brown")

hist(E_p100,main= (paste("Histograma n=100")),xlab="Estimaciones ")
plot(density(E_p100), main="Densidad", xlab = "n=100")
qqnorm(E_p100) ; qqline(E_p100, col="brown")

hist(E_p200,main= (paste("Histograma n=200")),xlab="Estimaciones ")
plot(density(E_p200), main="Densidad", xlab = "n=200")
qqnorm(E_p200) ; qqline(E_p200, col="brown")

hist(E_p500,main= (paste("Histograma n=500")),xlab="Estimaciones ")
plot(density(E_p500), main="Densidad", xlab = "n=500")
qqnorm(E_p500) ; qqline(E_p500, col="brown")

Mediante los graficos se puede observar que los datos presentan un sesgo a la izquierda, sin embargo a medida que aumenta la muestra (n) estos tienden a una distribución normal.

Prueba Shapiro

shapiro.test(E_p5)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p5
## W = 0.68684, p-value < 2.2e-16
shapiro.test(E_p10)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p10
## W = 0.83471, p-value < 2.2e-16
shapiro.test(E_p15)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p15
## W = 0.90145, p-value < 2.2e-16
shapiro.test(E_p20)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p20
## W = 0.91966, p-value = 1.141e-15
shapiro.test(E_p30)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p30
## W = 0.94918, p-value = 4.418e-12
shapiro.test(E_p50)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p50
## W = 0.96186, p-value = 4.28e-10
shapiro.test(E_p60)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p60
## W = 0.97775, p-value = 6.534e-07
shapiro.test(E_p100)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p100
## W = 0.98687, p-value = 0.0001785
shapiro.test(E_p200)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p200
## W = 0.98933, p-value = 0.001067
shapiro.test(E_p500)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p500
## W = 0.9918, p-value = 0.007341

Para los n= 5, 10, 15, 20, 30, 50 , 60, 100, 200, 500 se rechaza la hipotesis nula de normalidad dado que el p-valor es menor a 0.05 y se concluye que no siguen una distribución normal.

90% plantas enfermas

simulación en la cual genere una población de n=1000 (Lote), donde el porcentaje de individuos (supongamos plantas) enfermas sea del 90%.

N= 1000
Lote_plantas2 = c(rep("Enferma", N*0.9), rep("Sana",N*0.1))
table(Lote_plantas2)
## Lote_plantas2
## Enferma    Sana 
##     900     100

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

Fun_Estimador2=function(n){
  muestra2=sample(Lote_plantas1,size = n)
  Estimador_P2=sum(muestra2=="Enferma")/n
  return(Estimador_P2)
}

n=300
Fun_Estimador2(n)
## [1] 0.12

Muestras

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())

E_p5 = sapply(rep(5,500), Fun_Estimador2)
E_p10 = sapply(rep(10,500), Fun_Estimador2)
E_p15 = sapply(rep(15,500), Fun_Estimador2)
E_p20 = sapply(rep(20,500), Fun_Estimador2)
E_p30 = sapply(rep(30,500), Fun_Estimador2)
E_p50 = sapply(rep(50,500), Fun_Estimador2)
E_p60 = sapply(rep(60,500), Fun_Estimador2)
E_p100 = sapply(rep(100,500), Fun_Estimador2)
E_p200 = sapply(rep(200,500), Fun_Estimador2)
E_p500 = sapply(rep(500,500), Fun_Estimador2)

Graficos

par(cex=1, cex.axis=1, cex.lab=1, cex.main=1, cex.sub=1,  mfrow=c(5,3), mai = c(.3, .3, .3, .3))

hist(E_p5,main= (paste("Histograma n=5")),xlab="Estimaciones ")
plot(density(E_p5), main="Densidad", xlab = "n=5")
qqnorm(E_p5) ; qqline(E_p5, col="brown")

hist(E_p10,main= (paste("Histograma n=10")),xlab="Estimaciones ")
plot(density(E_p10), main="Densidad", xlab = "n=10")
qqnorm(E_p10) ; qqline(E_p10, col="brown")

hist(E_p15,main= (paste("Histograma n=15")),xlab="Estimaciones ")
plot(density(E_p15), main="Densidad", xlab = "n=15")
qqnorm(E_p15) ; qqline(E_p15, col="brown")

hist(E_p20,main= (paste("Histograma n=20")),xlab="Estimaciones ")
plot(density(E_p20), main="Densidad", xlab = "n=5")
qqnorm(E_p20) ; qqline(E_p20, col="brown")

hist(E_p30,main= (paste("Histograma n=30")),xlab="Estimaciones ")
plot(density(E_p30), main="Densidad", xlab = "n=30")
qqnorm(E_p30) ; qqline(E_p30, col="brown")

hist(E_p50,main= (paste("Histograma n=50")),xlab="Estimaciones ")
plot(density(E_p50), main="Densidad", xlab = "n=50")
qqnorm(E_p50) ; qqline(E_p50, col="brown")

hist(E_p60,main= (paste("Histograma n=60")),xlab="Estimaciones ")
plot(density(E_p60), main="Densidad", xlab = "n=60")
qqnorm(E_p60) ; qqline(E_p60, col="brown")

hist(E_p100,main= (paste("Histograma n=100")),xlab="Estimaciones ")
plot(density(E_p100), main="Densidad", xlab = "n=100")
qqnorm(E_p100) ; qqline(E_p100, col="brown")

hist(E_p200,main= (paste("Histograma n=200")),xlab="Estimaciones ")
plot(density(E_p200), main="Densidad", xlab = "n=200")
qqnorm(E_p200) ; qqline(E_p200, col="brown")

hist(E_p500,main= (paste("Histograma n=500")),xlab="Estimaciones ")
plot(density(E_p500), main="Densidad", xlab = "n=500")
qqnorm(E_p500) ; qqline(E_p500, col="brown")

Mediante los graficos se puede observar que los datos presentan un sesgo a la izquierda, sin embargo a medida que aumenta la muestra (n) estos tienden a una distribución normal.

Prueba Shapiro

shapiro.test(E_p5)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p5
## W = 0.72178, p-value < 2.2e-16
shapiro.test(E_p10)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p10
## W = 0.83835, p-value < 2.2e-16
shapiro.test(E_p15)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p15
## W = 0.90269, p-value < 2.2e-16
shapiro.test(E_p20)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p20
## W = 0.9254, p-value = 4.712e-15
shapiro.test(E_p30)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p30
## W = 0.95588, p-value = 4.459e-11
shapiro.test(E_p50)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p50
## W = 0.97068, p-value = 1.879e-08
shapiro.test(E_p60)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p60
## W = 0.96717, p-value = 3.873e-09
shapiro.test(E_p100)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p100
## W = 0.98322, p-value = 1.584e-05
shapiro.test(E_p200)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p200
## W = 0.99011, p-value = 0.001927
shapiro.test(E_p500)
## 
##  Shapiro-Wilk normality test
## 
## data:  E_p500
## W = 0.99307, p-value = 0.02091

Para los n= 5, 10, 15, 20, 30, 50 , 60, 100, 200, 500 se rechaza la hipotesis nula de normalidad dado que el p-valor es menor a 0.05 y se concluye que no siguen una distribución normal.

Conclusiones

se puede evidenciar que se cumple en teorema de limite central, Si el tamaño de la muestra es suficientemente grande, la distribución de las medias muestrales seguirá aproximadamente una distribución normal.

El TCL considera una muestra como grande cuando el tamaño de la misma es superior a 30.