Introducción

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.


Objetivo

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.


Marco Teórico

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.


1. Variable Aleatoria Discreta

Distribución Binomial

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:

  • \(n=20\): número de niños evaluados
  • \(p=0.4\): probabilidad de presentar desnutrición

La esperanza matemática es:

\[ E(X)=np=20(0.4)=8 \]

Justificación

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.


Simulación n = 10

set.seed(123)

muestra_10 <- rbinom(10, size=20, prob=0.4)

media_10 <- mean(muestra_10)

media_10
## [1] 8.5

Interpretación

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.

Gráficos

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)


Simulación n = 50

muestra_50 <- rbinom(50, size=20, prob=0.4)

media_50 <- mean(muestra_50)

media_50
## [1] 7.98

Interpretación

Con \(n=50\), el promedio muestral comienza a aproximarse al valor esperado teórico.

Gráficos

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)


Simulación n = 100

muestra_100 <- rbinom(100, size=20, prob=0.4)

media_100 <- mean(muestra_100)

media_100
## [1] 7.97

Interpretación

Para \(n=100\), las fluctuaciones disminuyen y el promedio acumulado presenta mayor estabilidad.

Gráficos

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)


Simulación n = 1000

muestra_1000 <- rbinom(1000, size=20, prob=0.4)

media_1000 <- mean(muestra_1000)

media_1000
## [1] 7.969

Interpretación

Con \(n=1000\), el promedio muestral converge claramente hacia el valor esperado poblacional.

Gráficos

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)


Simulación n = 10000

muestra_10000 <- rbinom(10000, size=20, prob=0.4)

media_10000 <- mean(muestra_10000)

media_10000
## [1] 7.9868

Interpretación

Con \(n=10000\), el promedio acumulado prácticamente coincide con el valor esperado teórico.

Gráficos

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)


Análisis General – Variable Discreta

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.


Intervalo de Confianza – Variable Discreta

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)

2. Variable Aleatoria Continua

Distribución Normal

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:

  • \(\mu=50\): promedio referencial del indicador evaluado
  • \(\sigma=10\): desviación estándar poblacional

La esperanza matemática es:

\[ E(X)=50 \]

Justificación

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.


Simulación n = 10

set.seed(456)

muestra2_10 <- rnorm(10, mean=50, sd=10)

media2_10 <- mean(muestra2_10)

media2_10
## [1] 50.1736

Interpretación

Para \(n=10\), todavía existe una importante variabilidad respecto al valor esperado teórico.

Gráficos

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)


Simulación n = 50

muestra2_50 <- rnorm(50, mean=50, sd=10)

media2_50 <- mean(muestra2_50)

media2_50
## [1] 52.2926

Interpretación

Con \(n=50\), el promedio muestral comienza a acercarse al valor esperado poblacional.

Gráficos

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)


Simulación n = 100

muestra2_100 <- rnorm(100, mean=50, sd=10)

media2_100 <- mean(muestra2_100)

media2_100
## [1] 49.23944

Interpretación

Para \(n=100\), las fluctuaciones disminuyen y el promedio acumulado presenta mayor estabilidad.

Gráficos

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)


Simulación n = 1000

muestra2_1000 <- rnorm(1000, mean=50, sd=10)

media2_1000 <- mean(muestra2_1000)

media2_1000
## [1] 50.78798

Interpretación

Con \(n=1000\), el promedio converge claramente hacia el valor esperado teórico.

Gráficos

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)


Simulación n = 10000

muestra2_10000 <- rnorm(10000, mean=50, sd=10)

media2_10000 <- mean(muestra2_10000)

media2_10000
## [1] 50.06344

Interpretación

Con \(n=10000\), el promedio acumulado prácticamente coincide con el valor esperado poblacional.

Gráficos

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)


Análisis General – Variable Continua

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.


Intervalo de Confianza – Variable Continua

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)

Conclusiones

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.


Referencias

  • Ross, S. (2014). Introduction to Probability Models. Academic Press.
  • Walpole, R. (2012). Probabilidad y Estadística para Ingeniería y Ciencias. Pearson.
  • R Core Team (2026). R: A Language and Environment for Statistical Computing.