Propósito de la Actividad

El objetivo es simular dos conjuntos de datos, uno proveniente de una distribución Normal y otro de una Exponencial, para luego calcular y comparar los intervalos de confianza del 95% para la media poblacional utilizando R.

1. Generación de los Conjuntos de Datos en R

Se generan dos conjuntos de datos. Cada conjunto consta de 30 promedios, donde cada promedio se calcula a partir de una muestra de 20 observaciones.

# Fijar una semilla para que los resultados sean reproducibles
set.seed(108)

# ---- Parámetros generales de la simulación ----
n_clientes <- 20       # Tamaño de la muestra para cada réplica
n_replicas <- 30       # Número de réplicas (y de promedios a generar)

# ---- Simulación 1: Distribución Normal ----
media_normal <- 15
sd_normal <- 5

# Generamos 30 promedios. Cada uno es la media de 20 observaciones normales.
promedios_normal <- replicate(n_replicas, {
  mean(rnorm(n = n_clientes, mean = media_normal, sd = sd_normal))
})

# ---- Simulación 2: Distribución Exponencial ----
media_exponencial <- 3.5
# La función rexp() usa el parámetro 'rate', que es el inverso de la media (1/media)
rate_exponencial <- 1 / media_exponencial

# Generamos 30 promedios. Cada uno es la media de 20 observaciones exponenciales.
promedios_exponencial <- replicate(n_replicas, {
  mean(rexp(n = n_clientes, rate = rate_exponencial))
})

# Creamos un dataframe con los promedios generados para mostrarlo en una tabla
datos_generados <- data.frame(
  Replica = 1:n_replicas,
  Promedio_Normal = promedios_normal,
  Promedio_Exponencial = promedios_exponencial
)

2. Tabla de Resultados: Estadísticos e Intervalo de Confianza

Primero, se presentan los 30 promedios generados para cada distribución.

# Usamos knitr::kable para una mejor visualización de la tabla
knitr::kable(
  datos_generados,
  digits = 4, # Redondear a 4 decimales
  caption = "Promedios generados en cada una de las 30 réplicas."
)
Promedios generados en cada una de las 30 réplicas.
Replica Promedio_Normal Promedio_Exponencial
1 15.5015 3.5962
2 14.5551 2.9714
3 14.0798 3.5905
4 15.0548 3.2346
5 14.4162 5.8516
6 14.9841 2.8101
7 14.8825 3.8382
8 14.1413 4.2209
9 13.3930 3.0193
10 15.3046 3.4426
11 15.4650 3.5574
12 14.8838 4.0923
13 13.5007 3.2282
14 16.5930 1.0134
15 13.6221 3.8923
16 14.1551 3.4020
17 17.0762 3.5426
18 13.6482 3.8105
19 16.4446 2.8545
20 16.4219 2.9017
21 14.5952 4.2740
22 15.7000 4.3853
23 14.9013 3.7886
24 15.8654 2.8841
25 13.7646 2.9940
26 13.1012 3.3544
27 16.1001 3.2291
28 14.1579 4.8690
29 15.1275 4.0602
30 14.1397 3.0804

A continuación, calculamos la media muestral, la desviación estándar y el intervalo de confianza del 95% para cada uno de los dos conjuntos de 30 promedios.

# ---- Cálculos para los promedios de la Normal ----
media_muestral_normal <- mean(promedios_normal)
sd_muestral_normal <- sd(promedios_normal)
# Usamos t.test(), que calcula directamente el intervalo de confianza
ic_test_normal <- t.test(promedios_normal, conf.level = 0.95)

# ---- Cálculos para los promedios de la Exponencial ----
media_muestral_exponencial <- mean(promedios_exponencial)
sd_muestral_exponencial <- sd(promedios_exponencial)
ic_test_exponencial <- t.test(promedios_exponencial, conf.level = 0.95)
# ---- Creación de la tabla de resumen ----
# Extraemos los límites del IC para ponerlos en columnas separadas

tabla_resumen <- data.frame(
  Distribucion_Origen = c("Normal", "Exponencial"),
  Media_Muestral = c(media_muestral_normal, media_muestral_exponencial),
  Desviacion_Estandar = c(sd_muestral_normal, sd_muestral_exponencial),
   lim_inf =c(ic_test_normal$conf.int[1],ic_test_exponencial$conf.int[1]),lim_sup =c(ic_test_normal$conf.int[2],ic_test_exponencial$conf.int[2])) 

Tabla Resumen de Resultados

Resultados estadísticos y Intervalo de Confianza del 95%.
Distribucion_Origen Media_Muestral Desviacion_Estandar lim_inf lim_sup
Normal 14.8525 1.0424 14.4633 15.2418
Exponencial 3.5263 0.8185 3.2207 3.8319

Distribución normal y exponencial

Resultado de Stat::fit para los promedios de la simulación Normal.
Resultado de Stat::fit para los promedios de la simulación Normal.
Resultado de Stat::fit para los promedios de la simulación Exponencial.
Resultado de Stat::fit para los promedios de la simulación Exponencial.

Comentario sobre los resultados y diferencias

Los resultados muestran diferencias claras entre las dos distribuciones simuladas. En la distribución Normal, los promedios se concentran alrededor de una media muestral de 14.85, con una desviación estándar de 1.04, lo que indica una baja variabilidad entre las réplicas. El intervalo de confianza del 95% (14.46 a 15.24) confirma que la media poblacional real se encuentra muy cerca del valor esperado (15).

En contraste, la distribución Exponencial presenta una media muestral de 3.53 y una desviación estándar de 0.82, lo que evidencia una mayor dispersión relativa. Su intervalo de confianza (3.22 a 3.83) es más amplio en proporción al promedio, reflejando la naturaleza asimétrica de esta distribución, con valores más concentrados cerca de cero y algunos más altos menos frecuentes.

En conjunto, los resultados son coherentes con la teoría estadística: la distribución Normal genera promedios más estables y simétricos, mientras que la Exponencial produce mayor variabilidad y asimetría. Esto demuestra que la simulación en R representa correctamente el comportamiento esperado de cada distribución y permite observar cómo la forma de los datos influye en la precisión de las estimaciones de la media.