Teorema del Límite Central

El teorema del límite central se refiere a la distribución muestral de la media, no a las variables en sí.

runi<-runif(10000,0,1) #variable aleatoria con distribución uniforme

means<-NULL
for(i in 1:1000){
  means<-c(means,mean(sample(runi,size = 100)))
} #calculamos la media para 1000 muestras aleatorias de n=100




rexpon<-rexp(10000,10) #variable aleatoria con distribución exponencial

means2<-NULL
for(i in 1:1000){
  means2<-c(means2,mean(sample(rexpon,size = 100)))
} #calculamos la media para 1000 muestras aleatorias de n=100

par(mfrow=c(1,2))
par(mfrow=c(2,2))
hist(runi)
hist(means)
hist(rexpon)
hist(means2) 

Ley de los grandes números

A medida que aumenta el tamaño de la muestra, decrece la diferencia entre el estadístico muestral y el parámetro poblacional.

runi2<-rnorm(500000,5,6) #variable aleatoria con distribución normal 
#(población de 500,000 casos)

meanP <- mean(runi2) # media parámetro poblacional

mean10a<- mean(sample(runi2,size = 10)) #calculamos la media en muestra n=10
mean10b<- mean(sample(runi2,size = 10)) #calculamos la media en muestra n=10

mean50a<- mean(sample(runi2,size = 50)) #calculamos la media en muestra n=50
mean50b<- mean(sample(runi2,size = 50)) #calculamos la media en muestra n=50

mean100a<- mean(sample(runi2,size = 100)) #calculamos la media en muestra n=100
mean100b<- mean(sample(runi2,size = 100)) #calculamos la media en muestra n=100

mean500a<- mean(sample(runi2,size = 500)) #calculamos la media en muestra n=500
mean500b<- mean(sample(runi2,size = 500)) #calculamos la media en muestra n=500

mean1000a<- mean(sample(runi2,size = 1000)) #calculamos la media en muestra n=1000
mean1000b<- mean(sample(runi2,size = 1000)) #calculamos la media en muestra n=1000

mean2000a<- mean(sample(runi2,size = 2000)) #calculamos la media en muestra n=2000
mean2000b<- mean(sample(runi2,size = 2000)) #calculamos la media en muestra n=2000

mean3000a<- mean(sample(runi2,size = 3000)) #calculamos la media en muestra n=3000
mean3000b<- mean(sample(runi2,size = 3000)) #calculamos la media en muestra n=3000

n <-c(10,10,50,50,100,100,500,500,1000,1000,2000,2000,3000,3000)
diferencias <-c(meanP-mean10a, meanP-mean10b, meanP-mean50a, meanP-mean50b, 
                meanP-mean100a, meanP-mean100b, meanP-mean500a, meanP-mean500b,
                meanP-mean1000a, meanP-mean1000b, meanP-mean2000a, meanP-mean2000b, 
                meanP-mean3000a, meanP-mean3000b)
plot(n,diferencias)
abline(h = 0,col="red")

Otro ejemplo similar, pero con 100 replicaciones para cada tamaño de muestra y en base a una variable aleatoria con distribución poisson.

rm(list=ls()) #Limpiar entorno de trabajo

rpois<-rpois(500000,33) #variable aleatoria con distribución poisson 
#(población de 500,000 casos)

meanP <- mean(rpois) # media parámetro poblacional

means10<-NULL
for(i in 1:100){
  means10<-c(means10,mean(sample(rpois,size = 10)))
} #calculamos la media para 100 muestras aleatorias de n=10

means50<-NULL
for(i in 1:100){
  means50<-c(means50,mean(sample(rpois,size = 50)))
} #calculamos la media para 100 muestras aleatorias de n=50

means100<-NULL
for(i in 1:100){
  means100<-c(means100,mean(sample(rpois,size = 100)))
} #calculamos la media para 100 muestras aleatorias de n=100

means500<-NULL
for(i in 1:100){
  means500<-c(means500,mean(sample(rpois,size = 500)))
} #calculamos la media para 100 muestras aleatorias de n=500

means1000<-NULL
for(i in 1:100){
  means1000<-c(means1000,mean(sample(rpois,size = 1000)))
} #calculamos la media para 100 muestras aleatorias de n=1000


means2000<-NULL
for(i in 1:100){
  means2000<-c(means2000,mean(sample(rpois,size = 2000)))
} #calculamos la media para 100 muestras aleatorias de n=2000

means3000<-NULL
for(i in 1:100){
  means3000<-c(means3000,mean(sample(rpois,size = 3000)))
} #calculamos la media para 100 muestras aleatorias de n=3000

n <-c(rep(10,100),rep(50,100),rep(100,100),rep(500,100),rep(1000,100),rep(2000,100),
      rep(3000,100))
diferencias <-c(meanP-means10, meanP-means50, meanP-means100, meanP-means500,meanP-means1000,
                meanP-means2000, meanP-means3000)
plot(n,diferencias)
abline(h = 0,col="red")

Se puede ver que al aumentar el n de la muestra, si sacamos una muestra al azar, tendremos mayor seguridad de que el estadístico tienda a converger eventualmente con el parámetro poblacional.