El teorema central del límite (TCL) es una teoría estadística que establece que, dada una muestra aleatoria suficientemente grande de la población, la distribución de las medias muestrales seguirá una distribución normal.
En el siguiente ejercicio práctico, mediante una simulación, se ilustrará el Teorema del Limite Central, probando con algunas distribuciones a medida que la muestra aumenta. Para tal fin, se hará uso del paquete ggplot para representar la distribución y comprarla su función de densidad con la distribución normal.
La librería ggplot, permite la representación gráfica de información, de manera más estética que el paquete base de R. Pertenece al universo del tidiverse, y es una de las librerías de mayor uso en la visualización de datos.
library("ggplot2") #% Libreria para graficar (mas esteticos que el plot normal)
Para el proceso de simulación, se generan muestras aleatorias, sin importar la distribución, promediando la muestra y guardándola en un vector, el cual será graficado en un histograma, comparando la distribución de densidad con la función de densidad de una distribución normal teórica.
#Funcion teorema limite central parametros N y n
funcion_tcl <- function(N,n){
#Declarar variables de unso en el iterador
medias <- rep(1:N)
i <- 0
#Iterador for para generar el vector de medias
for (i in 1:N) {
aleatorios <- runif(n)
medias[i] <- mean(aleatorios)
}
#Grafico ggplot, histograma y grafica de densidad
ggplot(mapping = aes(x = medias)) + geom_histogram(aes(y = ..density..), colour = 1, fill="white",bins=30) +
geom_density(lwd = 1, colour = "#1A5276", fill = "#5DADE2", alpha = 0.25,adjust = 1.75) +
geom_vline(xintercept = mean(medias), col="#154360", linetype = "longdash") +
geom_vline(xintercept = mean(medias) + 3*sd(medias), col="#CD6155", linetype = "longdash") +
geom_vline(xintercept = mean(medias) - 3*sd(medias), col="#CD6155", linetype = "longdash") +
geom_text(aes(x=mean(medias), label="Media", y=47), colour="#154360", hjust = -0.1, vjust = 0) +
geom_text(aes(x=mean(medias) + 3*sd(medias), label="3sd", y=25), colour="#CD6155", hjust = -0.2, vjust = 0) +
geom_text(aes(x=mean(medias) - 3*sd(medias), label="-3sd", y=25), colour="#CD6155", hjust = -0.2, vjust = 0) +
ylim(0,50) + ylab("Frecuencia") + xlab("")
}
El grafico, simulado mediante distribución uniforme es el siguiente, en contexto general, se observa como la distribución sigue la forma de una campana de Gauss, por lo que tiene una simulitud a la función normal.
funcion_tcl(10000,1000)
Por ultimo podemos observar como referencia la distribución normal estandar para hacer las comparaciones con la simulación por el teorema central del limite.
dist_normal <- rnorm(10000)
ggplot(mapping = aes(x = dist_normal)) + geom_histogram(aes(y = ..density..),
colour = 1, fill = "white",bins = 30) +
geom_density(lwd = 1, colour = "#F1C40F",
fill = "#F1C40F", alpha = 0.25,adjust = 1.75) +
xlab("Distribucion normal") + ylab("Densidad")