Mostraremos a continuación el comportamiento de la distibución de la media muestral \(\bar{X}\) en diferentes escenarios.

  1. Supongamos que tenemos una muestra \(X_1,X_2,\dots,X_n\) de variables aleatorias normales con media \(\mu=50\) y varianza \(\sigma^2=100\). Entonces si suponemos \(n=100\) muestras aleatorias de esta distribución, por el TCL sabemos que: \[ \bar{X} \sim N(50,1). \] Para poder observar el comportamiento de la distribución de la media muestral, debemos realizar diferentes réplicas. Realizaremos \(1000\) réplicas. En el siguiente código simularemos los datos.
mu       <- 50     # media
sd       <- 1      # desviación estándar
n        <- 100    # tamaño de la muestra
m        <- 1000   # número de réplicas
set.seed(1981)
datos    <- rnorm(n*m,mu,sd) # simulamos datos 
Xbar     <- rep(0)
Z        <- rep(0)
for(i in 1:m){
 Xi      <- sample(datos,n)
 Xbar[i] <- mean(Xi)
 Z[i]    <- (Xbar[i]-mu)/(sd/sqrt(n)) # normal estándar
}

Ahora, debemos graficar las réplicas, para observar el comportamiento de la media muestral \(\bar{X}\).

par(mfrow=c(1,2))
hist(Xbar,freq = F,main="",xaxs="i",yaxs="i",xlim=c(49.3,50.6),
     ylim=c(0,4),xlab="Xbar",ylab="Densidad",col="lightblue")
x <-seq(49.3,50.6,length=1000)
lines(x,dnorm(x,mu,sd/sqrt(n)),col="blue",lwd=2)
hist(Z,freq = F,main="",xaxs="i",yaxs="i",xlim=c(-4,4),ylim=c(0,0.4),xlab="Z",ylab="",col="lightpink")
z <- seq(-4,4,length=1000)
lines(z,dnorm(z),col="red",lwd=2)

Notamos la forma acampanada de la distribución normal tanto de \(\bar{X}\) como de \(Z\). Es importante tener en cuenta que era algo de esperarse, pues desde el inicio los datos son normales, y por resultado ya visto, la distribución de la media muestral \(\bar{X}\) es exactamente normal.

A continuación veamos un ejemplo de una variable que no es normal, pero al ir aumentando el tamaño de la muestra, la distribución de la media se va aproximando a la normal, resultado del TCL.

  1. Supongamos que tenemos una muestra \(X_1,X_2,\dots,X_n\) de variables aleatorias binomiales de parámetros \(m=10\) y \(p=0.5\).

Supongamos un vector de tamaños de muestras y tamaños de réplicas. En el siguiente código simularemos los datos.

nn    <- 20
p     <- 0.5
n     <- c(10,20,30,100,1000,10000)  # vector de tamaños de muestras
m     <- c(10,20,30,100,1000,10000)  # número de réplicas
Xi    <- list(0)
for(k in 1:6){
  set.seed(2021)
  Xi[[k]] <-matrix(rbinom(n[k]*m[k],nn,p),ncol=m[k],nrow=n[k])
}

Ahora calculamos las medias y graficamos cada distribución.

mu    <- nn*p
sd    <- sqrt(nn*p*(1-p))
Xbar  <- list(0)
Z     <- list(0)
for(k in 1:6){
 Xbar[[k]] <- apply(Xi[[k]],2,mean)
 Z[[k]]    <- (Xbar[[k]]-mu)/(sd/sqrt(n[k]))
}
par(mfrow=c(2,3))
for(k in 1:6){
hist(Z[[k]],freq=F,main="",xaxs="i",yaxs="i",xlab="",ylab="",
     xlim=c(-4,4),ylim=c(0,0.5),col="lightgreen")
z <- seq(-4,4,length=1000)
lines(z,dnorm(z),col="green4",lwd=2)
}

Observamos como cada vez que aumentamos el tamaño de la muestra, la distribución de la media muestral se aproxima a una normal estándar, como lo asegura en TCL.