1 Introducción

La Ley de los Grandes Números establece que, al aumentar el tamaño de una muestra aleatoria, el promedio muestral tiende a aproximarse al valor esperado teórico de la variable aleatoria.

En este trabajo se realiza una comprobación empírica de esta ley mediante simulaciones en el lenguaje de programación R. Para ello, se propone un contexto educativo relacionado con la participación de estudiantes en una plataforma virtual de aprendizaje.

El estudio considera dos variables aleatorias:

  • Una variable discreta: número de actividades completadas por un estudiante durante una semana.
  • Una variable continua: tiempo total de conexión semanal del estudiante en la plataforma virtual.

A partir de estas variables se simulan muestras de diferentes tamaños: \(n = 10, 50, 100, 1000\) y \(10000\). En cada caso se calcula el promedio muestral y se compara con el valor esperado teórico correspondiente.

2 Objetivo

Demostrar empíricamente la Ley de los Grandes Números mediante la simulación de una variable discreta y una variable continua relacionadas con la participación estudiantil en una plataforma virtual de aprendizaje.

3 Contexto del estudio

El presente trabajo se desarrolla en el contexto de una plataforma virtual de aprendizaje utilizada por estudiantes de posgrado durante una semana académica. En este entorno, los estudiantes realizan actividades como revisión de material de estudio, participación en foros, resolución de cuestionarios y entrega de tareas.

A partir de este escenario, se definen dos variables aleatorias:

  1. El número de actividades completadas por un estudiante en una semana.
  2. El tiempo total de conexión semanal de un estudiante en la plataforma virtual.

El objetivo es analizar, mediante simulación, cómo el promedio muestral de estas variables se aproxima a su valor esperado teórico cuando aumenta el tamaño de la muestra.

4 Definición de variables

4.1 Variable discreta

Sea:

\[ X = \text{número de actividades completadas por un estudiante en una semana} \]

Esta variable es discreta porque representa un conteo de actividades. Por lo tanto, solo puede tomar valores enteros no negativos.

Se propone modelar esta variable mediante una distribución de Poisson:

\[ X \sim Poisson(\lambda = 4) \]

El parámetro \(\lambda = 4\) se justifica porque, en una semana académica regular, se planifican aproximadamente cuatro actividades principales dentro de la plataforma virtual:

  1. Revisión de material de estudio.
  2. Participación en un foro académico.
  3. Resolución de un cuestionario.
  4. Entrega de una tarea o actividad práctica.

Por lo tanto, se asume que un estudiante completa, en promedio, cuatro actividades por semana.

El espacio muestral de la variable es:

\[ X = 0, 1, 2, 3, 4, 5, \ldots \]

El valor esperado teórico de una variable Poisson es:

\[ E[X] = \lambda \]

Por tanto:

\[ E[X] = 4 \]

Interpretación: se espera que un estudiante complete, en promedio, 4 actividades por semana en la plataforma virtual.

4.2 Variable continua

Sea:

\[ Y = \text{tiempo total de conexión semanal de un estudiante en la plataforma, medido en horas} \]

Esta variable es continua porque el tiempo puede tomar valores con decimales, por ejemplo 4.5 horas, 6.2 horas o 7.8 horas.

Se propone modelar esta variable mediante una distribución normal:

\[ Y \sim Normal(\mu = 6, \sigma = 1.5) \]

Los parámetros definidos son:

\[ \mu = 6 \]

\[ \sigma = 1.5 \]

La media \(\mu = 6\) representa que un estudiante dedica, en promedio, 6 horas semanales a la plataforma virtual. La desviación estándar \(\sigma = 1.5\) representa la variabilidad del tiempo de conexión entre estudiantes.

Teóricamente, el espacio muestral de una distribución normal es:

\[ Y \in \mathbb{R} \]

Sin embargo, en el contexto educativo se interpreta como:

\[ Y > 0 \]

porque el tiempo de conexión no puede ser negativo.

El valor esperado teórico de una variable normal es:

\[ E[Y] = \mu \]

Por tanto:

\[ E[Y] = 6 \]

Interpretación: se espera que un estudiante permanezca conectado, en promedio, 6 horas por semana en la plataforma virtual.

5 Metodología de simulación

Para comprobar empíricamente la Ley de los Grandes Números, se generaron muestras aleatorias con los siguientes tamaños:

\[ n = 10, 50, 100, 1000, 10000 \]

Para la variable discreta se utilizó la función rpois(), que permite generar datos aleatorios de una distribución de Poisson.

Para la variable continua se utilizó la función rnorm(), que permite generar datos aleatorios de una distribución normal.

En cada caso se calculó el promedio muestral mediante la función mean() y se comparó con el valor esperado teórico.

# Se genera una muestra base de tamaño 10000 para cada variable.
# Luego se toman subconjuntos de tamaño 10, 50, 100, 1000 y 10000.

datos_poisson_base <- rpois(n = 10000, lambda = 4)
datos_normal_base <- rnorm(n = 10000, mean = 6, sd = 1.5)

# Visualización de los primeros datos simulados
primeros_datos <- data.frame(
  Estudiante = 1:10,
  Actividades_completadas = datos_poisson_base[1:10],
  Horas_conexion = round(datos_normal_base[1:10], 2)
)

knitr::kable(
  primeros_datos,
  caption = "Primeros 10 datos simulados para ambas variables"
)
Primeros 10 datos simulados para ambas variables
Estudiante Actividades_completadas Horas_conexion
1 3 5.26
2 6 7.69
3 3 4.28
4 6 8.22
5 7 7.37
6 1 6.50
7 4 6.86
8 7 6.31
9 4 5.33
10 4 5.48

6 Funciones para simulación, gráficos y análisis

graficar_poisson <- function(datos, lambda, esperado, n_muestra) {
  
  promedio <- mean(datos)
  media_acumulada <- cumsum(datos) / seq_along(datos)
  
  max_x <- max(
    max(datos),
    qpois(0.999, lambda),
    ceiling(esperado + 4 * sqrt(lambda))
  )
  
  valores_x <- 0:max_x
  
  frec_rel <- as.numeric(
    table(factor(datos, levels = valores_x))
  ) / length(datos)
  
  prob_teorica <- dpois(valores_x, lambda = lambda)
  
  ymax <- max(c(frec_rel, prob_teorica)) * 1.25
  
  old_par <- par(no.readonly = TRUE)
  on.exit(par(old_par))
  
  par(mfrow = c(1, 2), mar = c(5, 4, 4, 1))
  
  # Panel 1: FMP simulada y FMP teórica
  plot(
  valores_x,
  frec_rel,
  type = "h",
  lwd = 20,
  lend = 1,
  col = "purple",
  xlim = c(0, 12),
  ylim = c(0, ymax),
  xaxt = "n",
  xlab = "Número de actividades completadas",
  ylab = "Frecuencia relativa / Probabilidad",
  main = paste("Variable discreta: Poisson - n =", n_muestra)
)

axis(1, at = 0:12)
  
  points(
    valores_x,
    prob_teorica,
    pch = 19,
    col = "blue"
  )
  
  lines(
    valores_x,
    prob_teorica,
    col = "blue",
    lwd = 2
  )
  
  abline(v = esperado, col = "red", lwd = 2, lty = 2)
  abline(v = promedio, col = "darkgreen", lwd = 2, lty = 3)
  
  legend(
    "topright",
    legend = c(
      "FMP simulada",
      "FMP teórica",
      "E[X] teórico",
      "Promedio muestral"
    ),
    col = c("gray60", "blue", "red", "darkgreen"),
    lty = c(1, 1, 2, 3),
    pch = c(NA, 19, NA, NA),
    lwd = c(6, 2, 2, 2),
    bty = "n",
    cex = 0.75
  )
  
  # Panel 2: convergencia del promedio acumulado
  plot(
    seq_along(datos),
    media_acumulada,
    type = "l",
    col = "darkgreen",
    lwd = 2,
    xlab = "Número de estudiantes simulados",
    ylab = "Promedio acumulado",
    main = paste("Convergencia del promedio - n =", n_muestra)
  )
  
  abline(h = esperado, col = "red", lwd = 2, lty = 2)
  abline(h = promedio, col = "darkgreen", lwd = 2, lty = 3)
  
  legend(
    "topright",
    legend = c("Promedio acumulado", "E[X] teórico", "Promedio final"),
    col = c("darkgreen", "red", "darkgreen"),
    lty = c(1, 2, 3),
    lwd = c(2, 2, 2),
    bty = "n",
    cex = 0.75
  )
}

graficar_normal <- function(datos, mu, sigma, esperado, n_muestra) {
  
  promedio <- mean(datos)
  media_acumulada <- cumsum(datos) / seq_along(datos)
  
  x_lim <- range(c(datos, mu - 4 * sigma, mu + 4 * sigma))
  breaks_num <- max(5, ceiling(sqrt(length(datos))))
  
  old_par <- par(no.readonly = TRUE)
  on.exit(par(old_par))
  
  par(mfrow = c(1, 2), mar = c(5, 4, 4, 1))
  
 # Panel 1: histograma y densidad teórica
hist(
  datos,
  probability = TRUE,
  breaks = breaks_num,
  col = "purple",
  border = "white",
  xlim = x_lim,
  xaxt = "n",
  xlab = "Horas de conexión semanal",
  ylab = "Densidad",
  main = paste("Variable continua: Normal - n =", n_muestra)
)

axis(
  1,
  at = seq(floor(x_lim[1]), ceiling(x_lim[2]), by = 1)
)

curve(
  dnorm(x, mean = mu, sd = sigma),
  from = x_lim[1],
  to = x_lim[2],
  add = TRUE,
  col = "blue",
  lwd = 2
)

abline(v = esperado, col = "red", lwd = 2, lty = 2)
abline(v = promedio, col = "darkgreen", lwd = 2, lty = 3)

legend(
  "topright",
  legend = c(
    "Histograma simulado",
    "Densidad teórica",
    "E[Y] teórico",
    "Promedio muestral"
  ),
  col = c("gray80", "blue", "red", "darkgreen"),
  lty = c(NA, 1, 2, 3),
  pch = c(15, NA, NA, NA),
  lwd = c(NA, 2, 2, 2),
  bty = "n",
  cex = 0.75
)

# Panel 2: convergencia del promedio acumulado
plot(
  seq_along(datos),
  media_acumulada,
  type = "l",
  col = "darkgreen",
  lwd = 2,
  xlab = "Número de estudiantes simulados",
  ylab = "Promedio acumulado",
  main = paste("Convergencia del promedio - n =", n_muestra)
)

abline(h = esperado, col = "red", lwd = 2, lty = 2)
abline(h = promedio, col = "darkgreen", lwd = 2, lty = 3)

legend(
  "topright",
  legend = c("Promedio acumulado", "E[Y] teórico", "Promedio final"),
  col = c("darkgreen", "red", "darkgreen"),
  lty = c(1, 2, 3),
  lwd = c(2, 2, 2),
  bty = "n",
  cex = 0.75
)
}

7 Resultados de la variable discreta

La variable discreta corresponde al número de actividades completadas por un estudiante en una semana. Se modela mediante una distribución de Poisson con parámetro \(\lambda = 4\).

Por tanto, el valor esperado teórico es:

\[ E[X] = 4 \]

7.1 Simulación para \(n = 10\)

datos_pois_10 <- datos_poisson_base[1:10]
promedio_pois_10 <- mean(datos_pois_10)

cat("Tamaño de muestra:", 10, "\n")
## Tamaño de muestra: 10
cat("Promedio muestral:", round(promedio_pois_10, 4), "\n")
## Promedio muestral: 4.5
cat("Valor esperado teórico:", esperado_discreta, "\n")
## Valor esperado teórico: 4
cat("Diferencia absoluta:", round(abs(promedio_pois_10 - esperado_discreta), 4), "\n")
## Diferencia absoluta: 0.5
graficar_poisson(datos_pois_10, lambda, esperado_discreta, 10)

Interpretación. Para \(n = 10\), el promedio muestral obtenido fue 4.5. Al tratarse de una muestra pequeña, es normal que el promedio presente fluctuaciones respecto al valor esperado teórico \(E[X] = 4\). En este caso, el azar todavía tiene un efecto importante sobre el resultado.

7.2 Simulación para \(n = 50\)

datos_pois_50 <- datos_poisson_base[1:50]
promedio_pois_50 <- mean(datos_pois_50)

cat("Tamaño de muestra:", 50, "\n")
## Tamaño de muestra: 50
cat("Promedio muestral:", round(promedio_pois_50, 4), "\n")
## Promedio muestral: 4.26
cat("Valor esperado teórico:", esperado_discreta, "\n")
## Valor esperado teórico: 4
cat("Diferencia absoluta:", round(abs(promedio_pois_50 - esperado_discreta), 4), "\n")
## Diferencia absoluta: 0.26
graficar_poisson(datos_pois_50, lambda, esperado_discreta, 50)

Interpretación. Para \(n = 50\), el promedio muestral obtenido fue 4.26. En comparación con \(n = 10\), se empieza a observar una mayor aproximación hacia el valor esperado teórico. Sin embargo, todavía pueden existir diferencias visibles debido a la variabilidad muestral.

7.3 Simulación para \(n = 100\)

datos_pois_100 <- datos_poisson_base[1:100]
promedio_pois_100 <- mean(datos_pois_100)

cat("Tamaño de muestra:", 100, "\n")
## Tamaño de muestra: 100
cat("Promedio muestral:", round(promedio_pois_100, 4), "\n")
## Promedio muestral: 4.09
cat("Valor esperado teórico:", esperado_discreta, "\n")
## Valor esperado teórico: 4
cat("Diferencia absoluta:", round(abs(promedio_pois_100 - esperado_discreta), 4), "\n")
## Diferencia absoluta: 0.09
graficar_poisson(datos_pois_100, lambda, esperado_discreta, 100)

Interpretación. Para \(n = 100\), el promedio muestral obtenido fue 4.09. El promedio empieza a mostrar mayor estabilidad alrededor de \(E[X] = 4\), aunque aún pueden presentarse pequeñas fluctuaciones propias del proceso aleatorio.

7.4 Simulación para \(n = 1000\)

datos_pois_1000 <- datos_poisson_base[1:1000]
promedio_pois_1000 <- mean(datos_pois_1000)

cat("Tamaño de muestra:", 1000, "\n")
## Tamaño de muestra: 1000
cat("Promedio muestral:", round(promedio_pois_1000, 4), "\n")
## Promedio muestral: 3.986
cat("Valor esperado teórico:", esperado_discreta, "\n")
## Valor esperado teórico: 4
cat("Diferencia absoluta:", round(abs(promedio_pois_1000 - esperado_discreta), 4), "\n")
## Diferencia absoluta: 0.014
graficar_poisson(datos_pois_1000, lambda, esperado_discreta, 1000)

Interpretación. Para \(n = 1000\), el promedio muestral obtenido fue 3.986. En este tamaño de muestra se observa una estabilización más clara del promedio acumulado alrededor del valor esperado teórico. Esto evidencia de forma más fuerte la Ley de los Grandes Números.

7.5 Simulación para \(n = 10000\)

datos_pois_10000 <- datos_poisson_base[1:10000]
promedio_pois_10000 <- mean(datos_pois_10000)

cat("Tamaño de muestra:", 10000, "\n")
## Tamaño de muestra: 10000
cat("Promedio muestral:", round(promedio_pois_10000, 4), "\n")
## Promedio muestral: 3.9774
cat("Valor esperado teórico:", esperado_discreta, "\n")
## Valor esperado teórico: 4
cat("Diferencia absoluta:", round(abs(promedio_pois_10000 - esperado_discreta), 4), "\n")
## Diferencia absoluta: 0.0226
graficar_poisson(datos_pois_10000, lambda, esperado_discreta, 10000)

Interpretación. Para \(n = 10000\), el promedio muestral obtenido fue 3.9774. El promedio se mantiene muy cercano al valor esperado teórico \(E[X] = 4\), lo que muestra una convergencia clara hacia el parámetro poblacional. En términos educativos, al considerar una gran cantidad de estudiantes simulados, el promedio de actividades completadas se aproxima al promedio esperado de cuatro actividades semanales.

7.6 Resumen de la variable discreta

resumen_poisson <- data.frame(
  n = tamanios,
  Promedio_muestral = c(
    promedio_pois_10,
    promedio_pois_50,
    promedio_pois_100,
    promedio_pois_1000,
    promedio_pois_10000
  ),
  Valor_esperado_teorico = esperado_discreta
)

resumen_poisson$Diferencia_absoluta <- abs(
  resumen_poisson$Promedio_muestral - resumen_poisson$Valor_esperado_teorico
)

knitr::kable(
  resumen_poisson,
  digits = 4,
  caption = "Resumen de promedios muestrales para la variable discreta"
)
Resumen de promedios muestrales para la variable discreta
n Promedio_muestral Valor_esperado_teorico Diferencia_absoluta
10 4.5000 4 0.5000
50 4.2600 4 0.2600
100 4.0900 4 0.0900
1000 3.9860 4 0.0140
10000 3.9774 4 0.0226
plot(
  resumen_poisson$n,
  resumen_poisson$Promedio_muestral,
  type = "b",
  pch = 19,
  lwd = 2,
  log = "x",
  xlab = "Tamaño de muestra n",
  ylab = "Promedio muestral",
  main = "Convergencia del promedio muestral - Variable discreta"
)

abline(h = esperado_discreta, col = "red", lwd = 2, lty = 2)

legend(
  "topright",
  legend = c("Promedio muestral", "E[X] teórico"),
  col = c("black", "red"),
  lty = c(1, 2),
  pch = c(19, NA),
  lwd = c(2, 2),
  bty = "n"
)

Análisis general de la variable discreta. En la variable discreta se observa que el promedio muestral presenta mayor variabilidad cuando el tamaño de la muestra es pequeño. Para \(n = 10\), el promedio puede alejarse del valor esperado teórico debido al efecto del azar. A medida que el tamaño muestral aumenta, el promedio se aproxima progresivamente a \(E[X] = 4\). La estabilización visual se aprecia con mayor claridad a partir de \(n = 1000\), y se confirma en \(n = 10000\). Esto evidencia la Ley de los Grandes Números en el contexto del número de actividades completadas por estudiantes en una plataforma virtual.

8 Resultados de la variable continua

La variable continua corresponde al tiempo total de conexión semanal de un estudiante en la plataforma virtual, medido en horas. Se modela mediante una distribución normal con media \(\mu = 6\) y desviación estándar \(\sigma = 1.5\).

Por tanto, el valor esperado teórico es:

\[ E[Y] = 6 \]

8.1 Simulación para \(n = 10\)

datos_norm_10 <- datos_normal_base[1:10]
promedio_norm_10 <- mean(datos_norm_10)

cat("Tamaño de muestra:", 10, "\n")
## Tamaño de muestra: 10
cat("Promedio muestral:", round(promedio_norm_10, 4), "\n")
## Promedio muestral: 6.331
cat("Valor esperado teórico:", esperado_continua, "\n")
## Valor esperado teórico: 6
cat("Diferencia absoluta:", round(abs(promedio_norm_10 - esperado_continua), 4), "\n")
## Diferencia absoluta: 0.331
graficar_normal(datos_norm_10, mu, sigma, esperado_continua, 10)

Interpretación. Para \(n = 10\), el promedio muestral obtenido fue 6.331. Debido al tamaño reducido de la muestra, el promedio puede presentar una diferencia visible respecto al valor esperado teórico \(E[Y] = 6\). En este caso, el efecto del azar todavía es considerable.

8.2 Simulación para \(n = 50\)

datos_norm_50 <- datos_normal_base[1:50]
promedio_norm_50 <- mean(datos_norm_50)

cat("Tamaño de muestra:", 50, "\n")
## Tamaño de muestra: 50
cat("Promedio muestral:", round(promedio_norm_50, 4), "\n")
## Promedio muestral: 5.9449
cat("Valor esperado teórico:", esperado_continua, "\n")
## Valor esperado teórico: 6
cat("Diferencia absoluta:", round(abs(promedio_norm_50 - esperado_continua), 4), "\n")
## Diferencia absoluta: 0.0551
graficar_normal(datos_norm_50, mu, sigma, esperado_continua, 50)

Interpretación. Para \(n = 50\), el promedio muestral obtenido fue 5.9449. En comparación con la muestra de tamaño 10, se observa una mejor aproximación al valor esperado de 6 horas. Sin embargo, aún pueden presentarse fluctuaciones propias del muestreo aleatorio.

8.3 Simulación para \(n = 100\)

datos_norm_100 <- datos_normal_base[1:100]
promedio_norm_100 <- mean(datos_norm_100)

cat("Tamaño de muestra:", 100, "\n")
## Tamaño de muestra: 100
cat("Promedio muestral:", round(promedio_norm_100, 4), "\n")
## Promedio muestral: 6.102
cat("Valor esperado teórico:", esperado_continua, "\n")
## Valor esperado teórico: 6
cat("Diferencia absoluta:", round(abs(promedio_norm_100 - esperado_continua), 4), "\n")
## Diferencia absoluta: 0.102
graficar_normal(datos_norm_100, mu, sigma, esperado_continua, 100)

Interpretación. Para \(n = 100\), el promedio muestral obtenido fue 6.102. El promedio comienza a mostrar una mayor estabilidad alrededor del valor esperado teórico \(E[Y] = 6\), aunque todavía puede existir una pequeña diferencia entre el promedio simulado y el parámetro poblacional.

8.4 Simulación para \(n = 1000\)

datos_norm_1000 <- datos_normal_base[1:1000]
promedio_norm_1000 <- mean(datos_norm_1000)

cat("Tamaño de muestra:", 1000, "\n")
## Tamaño de muestra: 1000
cat("Promedio muestral:", round(promedio_norm_1000, 4), "\n")
## Promedio muestral: 6.0517
cat("Valor esperado teórico:", esperado_continua, "\n")
## Valor esperado teórico: 6
cat("Diferencia absoluta:", round(abs(promedio_norm_1000 - esperado_continua), 4), "\n")
## Diferencia absoluta: 0.0517
graficar_normal(datos_norm_1000, mu, sigma, esperado_continua, 1000)

Interpretación. Para \(n = 1000\), el promedio muestral obtenido fue 6.0517. Se observa una estabilización clara del promedio acumulado alrededor de 6 horas. Esto evidencia que, al aumentar el tamaño muestral, el promedio de horas de conexión se aproxima al valor esperado teórico.

8.5 Simulación para \(n = 10000\)

datos_norm_10000 <- datos_normal_base[1:10000]
promedio_norm_10000 <- mean(datos_norm_10000)

cat("Tamaño de muestra:", 10000, "\n")
## Tamaño de muestra: 10000
cat("Promedio muestral:", round(promedio_norm_10000, 4), "\n")
## Promedio muestral: 6.003
cat("Valor esperado teórico:", esperado_continua, "\n")
## Valor esperado teórico: 6
cat("Diferencia absoluta:", round(abs(promedio_norm_10000 - esperado_continua), 4), "\n")
## Diferencia absoluta: 0.003
graficar_normal(datos_norm_10000, mu, sigma, esperado_continua, 10000)

Interpretación. Para \(n = 10000\), el promedio muestral obtenido fue 6.003. Este valor se mantiene muy cercano al valor esperado teórico \(E[Y] = 6\), mostrando una convergencia clara hacia la media poblacional. En el contexto educativo, esto indica que al simular una gran cantidad de estudiantes, el promedio de horas de conexión semanal se aproxima al valor esperado definido para la población.

8.6 Resumen de la variable continua

resumen_normal <- data.frame(
  n = tamanios,
  Promedio_muestral = c(
    promedio_norm_10,
    promedio_norm_50,
    promedio_norm_100,
    promedio_norm_1000,
    promedio_norm_10000
  ),
  Valor_esperado_teorico = esperado_continua
)

resumen_normal$Diferencia_absoluta <- abs(
  resumen_normal$Promedio_muestral - resumen_normal$Valor_esperado_teorico
)

knitr::kable(
  resumen_normal,
  digits = 4,
  caption = "Resumen de promedios muestrales para la variable continua"
)
Resumen de promedios muestrales para la variable continua
n Promedio_muestral Valor_esperado_teorico Diferencia_absoluta
10 6.3310 6 0.3310
50 5.9449 6 0.0551
100 6.1020 6 0.1020
1000 6.0517 6 0.0517
10000 6.0030 6 0.0030
plot(
  resumen_normal$n,
  resumen_normal$Promedio_muestral,
  type = "b",
  pch = 19,
  lwd = 2,
  log = "x",
  xlab = "Tamaño de muestra n",
  ylab = "Promedio muestral",
  main = "Convergencia del promedio muestral - Variable continua"
)

abline(h = esperado_continua, col = "red", lwd = 2, lty = 2)

legend(
  "topright",
  legend = c("Promedio muestral", "E[Y] teórico"),
  col = c("black", "red"),
  lty = c(1, 2),
  pch = c(19, NA),
  lwd = c(2, 2),
  bty = "n"
)

Análisis general de la variable continua. En la variable continua se observa que el promedio muestral del tiempo de conexión semanal presenta mayor variabilidad en muestras pequeñas. Sin embargo, conforme aumenta el tamaño de muestra, el promedio se aproxima al valor esperado teórico \(E[Y] = 6\). La estabilización visual se observa principalmente desde \(n = 1000\), siendo más clara en \(n = 10000\). Esto confirma empíricamente la Ley de los Grandes Números para la variable tiempo de conexión semanal.

9 Análisis sobre la simulación y sus restricciones

La simulación se utiliza porque permite generar datos controlados a partir de distribuciones conocidas. En este caso, no se requiere una base de datos real, ya que el objetivo principal es comprobar empíricamente una propiedad probabilística: la Ley de los Grandes Números.

Una ventaja de la simulación es que permite comparar el comportamiento del promedio muestral bajo diferentes tamaños de muestra. Así se puede observar cómo el azar afecta más a las muestras pequeñas y cómo su efecto disminuye cuando aumenta el número de observaciones.

Sin embargo, la simulación también tiene restricciones. Los resultados dependen de los supuestos establecidos para cada distribución. En este trabajo se asumió que el promedio de actividades completadas por semana es de 4 y que el tiempo promedio de conexión semanal es de 6 horas. Si estos supuestos cambian, también cambiarán los resultados simulados.

Otra restricción es que, en muestras pequeñas, los resultados pueden variar considerablemente por efecto del azar. Por esta razón, el uso de diferentes tamaños de muestra permite observar de manera más clara el proceso de estabilización del promedio muestral.

10 Identificación del punto de estabilidad estocástica

En las simulaciones realizadas, la estabilización visual del promedio muestral se observa con mayor claridad a partir de \(n = 1000\). Para \(n = 10\), \(n = 50\) y \(n = 100\), todavía pueden observarse fluctuaciones importantes respecto al valor esperado teórico.

En cambio, para \(n = 1000\) y especialmente para \(n = 10000\), el promedio acumulado se mantiene cercano al parámetro poblacional correspondiente. Esto permite identificar que, en este ejercicio, el punto de estabilidad estocástica se alcanza aproximadamente desde \(n = 1000\), aunque la estabilidad más clara se presenta en \(n = 10000\).

11 Conclusiones

Los resultados obtenidos permiten comprobar empíricamente la Ley de los Grandes Números mediante simulaciones en R.

Para la variable discreta, correspondiente al número de actividades completadas por un estudiante en una semana, el promedio muestral se aproximó progresivamente al valor esperado teórico \(E[X] = 4\). Esto indica que, al aumentar el número de estudiantes simulados, el promedio de actividades completadas se acerca al promedio poblacional supuesto.

Para la variable continua, correspondiente al tiempo total de conexión semanal en la plataforma virtual, el promedio muestral se aproximó al valor esperado teórico \(E[Y] = 6\). En este caso, las muestras pequeñas presentaron mayor variabilidad, mientras que las muestras grandes mostraron mayor estabilidad alrededor de la media poblacional.

En ambas variables se observó que el promedio muestral fue más inestable cuando el tamaño de muestra era pequeño. Sin embargo, al aumentar el tamaño muestral, especialmente desde \(n = 1000\) y con mayor claridad en \(n = 10000\), los promedios se estabilizaron cerca de sus respectivos valores esperados. Esto confirma la validez empírica de la Ley de los Grandes Números en el contexto educativo simulado.

12 Referencias

Lefebvre, M. (2009). Basic probability theory with applications. Springer. https://doi.org/10.1007/978-0-387-74995-2

R Core Team. (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/

Wackerly, D. D., Mendenhall, W., & Scheaffer, R. L. (2010). Estadística matemática con aplicaciones (7.ª ed.; J. H. Romo Muñoz, Trad.). Cengage Learning.

Xie, Y. (2015). Dynamic documents with R and knitr (2nd ed.). Chapman & Hall/CRC. https://yihui.org/knitr/

Xie, Y., Allaire, J. J., & Grolemund, G. (2018). R Markdown: The definitive guide. Chapman & Hall/CRC. https://yihui.org/rmarkdown/