La Ley de los Grandes Números (LGN) establece que, cuando el tamaño de una muestra aumenta, el promedio muestral tiende a converger hacia el valor esperado poblacional.
En este informe se desarrollan simulaciones computacionales utilizando R para demostrar empíricamente este comportamiento mediante variables aleatorias discretas y continuas.
Demostrar empíricamente la Ley de los Grandes Números mediante simulaciones aleatorias en R, observando cómo el promedio muestral se aproxima al valor esperado teórico conforme aumenta el tamaño de muestra.
La Ley de los Grandes Números establece que:
\[ \bar{X} \rightarrow E(X) \]
cuando:
\[ n \rightarrow \infty \]
Esto significa que, conforme aumenta el número de observaciones independientes e idénticamente distribuidas, el promedio muestral converge hacia la esperanza matemática poblacional.
Se analizará el número de niños menores de 5 años que presentan desnutrición crónica infantil dentro de grupos evaluados durante jornadas de monitoreo nutricional.
En estudios de salud pública y vigilancia nutricional, la presencia o ausencia de desnutrición puede modelarse mediante una distribución binomial, ya que cada niño evaluado puede presentar o no la condición nutricional analizada.
Se utilizará una distribución:
\[ X \sim Bin(20,0.4) \]
donde:
La esperanza matemática es:
\[ E(X)=np=20(0.4)=8 \]
La distribución binomial permite modelar eventos de salud con dos posibles resultados: presencia o ausencia de una condición nutricional. Este tipo de análisis es ampliamente utilizado en monitoreo epidemiológico y estudios de salud infantil.
set.seed(123)
muestra_10 <- rbinom(10, size=20, prob=0.4)
media_10 <- mean(muestra_10)
media_10
## [1] 8.5
El promedio muestral para \(n=10\) es:
round(media_10,2)
## [1] 8.5
Existe todavía una importante variabilidad respecto al valor esperado teórico de 8.
par(mfrow=c(1,2))
hist(muestra_10,
probability=TRUE,
col="lightblue",
main="Histograma Binomial n=10",
xlab="Número de éxitos",
border="white")
abline(v=8, col="red", lwd=3)
plot(cumsum(muestra_10)/(1:10),
type="l",
lwd=3,
col="blue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=8, col="red", lwd=3)
muestra_50 <- rbinom(50, size=20, prob=0.4)
media_50 <- mean(muestra_50)
media_50
## [1] 7.98
Con \(n=50\), el promedio muestral comienza a aproximarse al valor esperado teórico.
par(mfrow=c(1,2))
hist(muestra_50,
probability=TRUE,
col="lightgreen",
main="Histograma Binomial n=50",
xlab="Número de éxitos",
border="white")
abline(v=8, col="red", lwd=3)
plot(cumsum(muestra_50)/(1:50),
type="l",
lwd=3,
col="darkgreen",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=8, col="red", lwd=3)
muestra_100 <- rbinom(100, size=20, prob=0.4)
media_100 <- mean(muestra_100)
media_100
## [1] 7.97
Para \(n=100\), las fluctuaciones disminuyen y el promedio acumulado presenta mayor estabilidad.
par(mfrow=c(1,2))
hist(muestra_100,
probability=TRUE,
col="orange",
main="Histograma Binomial n=100",
xlab="Número de éxitos",
border="white")
abline(v=8, col="red", lwd=3)
plot(cumsum(muestra_100)/(1:100),
type="l",
lwd=3,
col="purple",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=8, col="red", lwd=3)
muestra_1000 <- rbinom(1000, size=20, prob=0.4)
media_1000 <- mean(muestra_1000)
media_1000
## [1] 7.969
Con \(n=1000\), el promedio muestral converge claramente hacia el valor esperado poblacional.
par(mfrow=c(1,2))
hist(muestra_1000,
probability=TRUE,
col="pink",
main="Histograma Binomial n=1000",
xlab="Número de éxitos",
border="white")
abline(v=8, col="red", lwd=3)
plot(cumsum(muestra_1000)/(1:1000),
type="l",
lwd=2,
col="blue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=8, col="red", lwd=3)
muestra_10000 <- rbinom(10000, size=20, prob=0.4)
media_10000 <- mean(muestra_10000)
media_10000
## [1] 7.9868
Con \(n=10000\), el promedio acumulado prácticamente coincide con el valor esperado teórico.
par(mfrow=c(1,2))
hist(muestra_10000,
probability=TRUE,
col="gray",
main="Histograma Binomial n=10000",
xlab="Número de éxitos",
border="white")
abline(v=8, col="red", lwd=3)
plot(cumsum(muestra_10000)/(1:10000),
type="l",
lwd=2,
col="darkblue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=8, col="red", lwd=3)
A medida que aumenta el tamaño de la muestra, las fluctuaciones aleatorias disminuyen y el promedio muestral converge progresivamente hacia la esperanza matemática \(E(X)=8\).
A partir de \(n=1000\), se observa una estabilización visual clara.
prom_acum <- cumsum(muestra_1000)/(1:1000)
error <- qnorm(0.975)*sqrt(8*(1-0.4)/(1:1000))
lim_sup <- 8 + error
lim_inf <- 8 - error
plot(prom_acum,
type="l",
col="blue",
lwd=2,
ylim=c(min(lim_inf),max(lim_sup)),
main="Convergencia con Intervalo de Confianza",
xlab="Tamaño de muestra",
ylab="Promedio acumulado")
abline(h=8,col="red",lwd=3)
lines(lim_sup,col="darkgreen",lty=2,lwd=2)
lines(lim_inf,col="darkgreen",lty=2,lwd=2)
Se analizará el peso de niños menores de 5 años registrados durante controles de crecimiento y desarrollo infantil.
Diversos indicadores antropométricos, como peso y talla, suelen aproximarse a una distribución normal debido a la variabilidad biológica presente en la población infantil.
Se utilizará una distribución normal:
\[ X \sim N(50,10^2) \]
donde:
La esperanza matemática es:
\[ E(X)=50 \]
La distribución normal es ampliamente utilizada en salud pública para modelar indicadores antropométricos y evaluar el comportamiento poblacional de variables continuas relacionadas con nutrición y crecimiento infantil.
set.seed(456)
muestra2_10 <- rnorm(10, mean=50, sd=10)
media2_10 <- mean(muestra2_10)
media2_10
## [1] 50.1736
Para \(n=10\), todavía existe una importante variabilidad respecto al valor esperado teórico.
par(mfrow=c(1,2))
x <- seq(0,100,length=1000)
hist(muestra2_10,
probability=TRUE,
col="lightblue",
main="Histograma Normal n=10",
xlab="Valores",
border="white")
curve(dnorm(x, mean=50, sd=10),
add=TRUE,
col="darkblue",
lwd=2)
abline(v=50, col="red", lwd=3)
plot(cumsum(muestra2_10)/(1:10),
type="l",
lwd=3,
col="blue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=50, col="red", lwd=3)
muestra2_50 <- rnorm(50, mean=50, sd=10)
media2_50 <- mean(muestra2_50)
media2_50
## [1] 52.2926
Con \(n=50\), el promedio muestral comienza a acercarse al valor esperado poblacional.
par(mfrow=c(1,2))
x <- seq(0,100,length=1000)
hist(muestra2_50,
probability=TRUE,
col="lightgreen",
main="Histograma Normal n=50",
xlab="Valores",
border="white")
curve(dnorm(x, mean=50, sd=10),
add=TRUE,
col="darkblue",
lwd=2)
abline(v=50, col="red", lwd=3)
plot(cumsum(muestra2_50)/(1:50),
type="l",
lwd=3,
col="darkgreen",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=50, col="red", lwd=3)
muestra2_100 <- rnorm(100, mean=50, sd=10)
media2_100 <- mean(muestra2_100)
media2_100
## [1] 49.23944
Para \(n=100\), las fluctuaciones disminuyen y el promedio acumulado presenta mayor estabilidad.
par(mfrow=c(1,2))
x <- seq(0,100,length=1000)
hist(muestra2_100,
probability=TRUE,
col="orange",
main="Histograma Normal n=100",
xlab="Valores",
border="white")
curve(dnorm(x, mean=50, sd=10),
add=TRUE,
col="darkblue",
lwd=2)
abline(v=50, col="red", lwd=3)
plot(cumsum(muestra2_100)/(1:100),
type="l",
lwd=3,
col="purple",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=50, col="red", lwd=3)
muestra2_1000 <- rnorm(1000, mean=50, sd=10)
media2_1000 <- mean(muestra2_1000)
media2_1000
## [1] 50.78798
Con \(n=1000\), el promedio converge claramente hacia el valor esperado teórico.
par(mfrow=c(1,2))
x <- seq(0,100,length=1000)
hist(muestra2_1000,
probability=TRUE,
col="pink",
main="Histograma Normal n=1000",
xlab="Valores",
border="white")
curve(dnorm(x, mean=50, sd=10),
add=TRUE,
col="darkblue",
lwd=2)
abline(v=50, col="red", lwd=3)
plot(cumsum(muestra2_1000)/(1:1000),
type="l",
lwd=2,
col="blue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=50, col="red", lwd=3)
muestra2_10000 <- rnorm(10000, mean=50, sd=10)
media2_10000 <- mean(muestra2_10000)
media2_10000
## [1] 50.06344
Con \(n=10000\), el promedio acumulado prácticamente coincide con el valor esperado poblacional.
par(mfrow=c(1,2))
x <- seq(0,100,length=1000)
hist(muestra2_10000,
probability=TRUE,
col="gray",
main="Histograma Normal n=10000",
xlab="Valores",
border="white")
curve(dnorm(x, mean=50, sd=10),
add=TRUE,
col="darkblue",
lwd=2)
abline(v=50, col="red", lwd=3)
plot(cumsum(muestra2_10000)/(1:10000),
type="l",
lwd=2,
col="darkblue",
main="Convergencia del Promedio",
xlab="Observaciones",
ylab="Promedio acumulado")
abline(h=50, col="red", lwd=3)
Conforme aumenta el tamaño de muestra, el promedio acumulado converge hacia la esperanza matemática \(E(X)=50\).
A partir de \(n=1000\), la estabilización visual es claramente observable.
prom_acum2 <- cumsum(muestra2_1000)/(1:1000)
error2 <- qnorm(0.975)*(10/sqrt(1:1000))
lim_sup2 <- 50 + error2
lim_inf2 <- 50 - error2
plot(prom_acum2,
type="l",
col="blue",
lwd=2,
ylim=c(min(lim_inf2),max(lim_sup2)),
main="Convergencia con Intervalo de Confianza",
xlab="Tamaño de muestra",
ylab="Promedio acumulado")
abline(h=50,col="red",lwd=3)
lines(lim_sup2,col="darkgreen",lty=2,lwd=2)
lines(lim_inf2,col="darkgreen",lty=2,lwd=2)
La Ley de los Grandes Números demuestra que el promedio muestral converge progresivamente hacia el valor esperado poblacional conforme aumenta el tamaño de muestra.
Las simulaciones realizadas permitieron verificar empíricamente este comportamiento tanto en distribuciones discretas como continuas.
El lenguaje R facilita el análisis visual y cuantitativo de procesos estadísticos de convergencia.