Introducción El objetivo de esta actividad es simular dos sistemas (atención Normal y llegadas Exponencial) , generar 30 réplicas de sus promedios, y calcular los intervalos de confianza del 95% para la media . Finalmente, se utiliza Stat::Fit para verificar la distribución de las medias muestrales.
Generación de Datos
A continuación, se presentan los datos generados para las simulaciones.
2.1 Simulación 1: Distribución Normal Se simulan 30 réplicas del promedio de 20 clientes con \(\mu=15\) y \(\sigma=5\).
# Simulación Normal
set.seed(123) # Para replicar resultados
r <- 30 # Número de réplicas
n_clientes <- 20 # Clientes por réplica
confianza <- 0.95
media_normal <- 15
desv_normal <- 5
# Vector para guardar los 30 promedios
promedios_normal <- numeric(r)
# Bucle para las 30 réplicas
for (i in 1:r) {
# 1. Simular los 20 clientes
tiempos_atencion <- rnorm(n = n_clientes, mean = media_normal, sd = desv_normal)
# 2. Guardar el promedio de esta réplica
promedios_normal[i] <- mean(tiempos_atencion)
}
print(promedios_normal)
## [1] 15.70812 14.74371 15.53243 14.40041 16.87547 13.20310 14.80825 14.13332
## [9] 15.83445 14.33221 15.29742 14.80830 14.88379 16.04741 16.97471 14.80494
## [17] 15.25109 14.62870 15.14293 14.26677 13.94018 16.03292 14.81796 16.50615
## [25] 16.34905 13.62300 16.26086 15.50509 14.79653 13.75702
2.2 Simulación 2: Distribución Exponencial
Se simulan 30 réplicas del promedio de 20 llegadas con \(\mu=3.5\).
# Simulación Exponencial
n_llegadas <- 20 # Asumimos n=20
media_exponencial <- 3.5
# R usa 'rate' (lambda = 1 / media)
rate_exponencial <- 1 / media_exponencial
# Vector para guardar los 30 promedios
promedios_exponencial <- numeric(r)
# Bucle para las 30 réplicas
for (i in 1:r) {
# 1. Simular las 20 llegadas
tiempos_llegada <- rexp(n = n_llegadas, rate = rate_exponencial)
# 2. Guardar el promedio de esta réplica
promedios_exponencial[i] <- mean(tiempos_llegada)
}
print(promedios_exponencial)
## [1] 4.128988 4.585578 2.883060 4.145512 2.433087 5.055695 2.420080 3.680780
## [9] 3.666126 5.784791 3.814230 3.536007 3.273484 3.077473 3.484573 3.514125
## [17] 3.001881 3.330810 2.939259 3.131979 3.081971 4.381512 3.474137 4.233632
## [25] 3.391420 3.213681 4.132584 4.064521 3.356930 3.208657
# --- Cálculos de IC ---
ic_normal <- t.test(promedios_normal, conf.level = confianza)
ic_exponencial <- t.test(promedios_exponencial, conf.level = confianza)
# --- Creación de la Tabla ---
datos_tabla <- data.frame(
Simulacion = c("Normal (Atención Banco)", "Exponencial (Llegada Clientes)"),
Media_Muestral_X_barra = c(ic_normal$estimate, ic_exponencial$estimate),
Desviacion_Estandar_s = c(sd(promedios_normal), sd(promedios_exponencial)),
IC_95_Inferior = c(ic_normal$conf.int[1], ic_exponencial$conf.int[1]),
IC_95_Superior = c(ic_normal$conf.int[2], ic_exponencial$conf.int[2]),
Media_Teorica_Mu = c(media_normal, media_exponencial)
)
# --- Impresión de la Tabla Formateada ---
kable(datos_tabla,
caption = "Tabla de Resumen: Estadísticos e Intervalos de Confianza (95%)",
digits = 4, # Redondeamos a 4 decimales
col.names = c("Simulación", "Media Muestral (x̄)", "Desv. Estándar (s)", "Límite IC 95% Inf.", "Límite IC 95% Sup.", "Media Teórica (μ)")
)
| Simulación | Media Muestral (x̄) | Desv. Estándar (s) | Límite IC 95% Inf. | Límite IC 95% Sup. | Media Teórica (μ) |
|---|---|---|---|---|---|
| Normal (Atención Banco) | 15.1089 | 0.9667 | 14.7479 | 15.4699 | 15.0 |
| Exponencial (Llegada Clientes) | 3.6142 | 0.7299 | 3.3417 | 3.8868 | 3.5 |
4.1 Resultados de promedios_normal Como se esperaba,
al analizar los promedios de la Simulación Normal, Stat::Fit no rechaza
la Distribución Normal . Los parámetros encontrados (Media \(\approx 15.1\)) son consistentes con la
simulación.
4.2 Resultados de promedios_exponencial Este es el resultado clave. Debido a que cuando analizamos los promedios de la Simulación Exponencial encontramos:
Los resultados de Stat::Fit demuestran visual y estadísticamente el Teorema del Límite Central (TLC).
¿Cuál es la diferencia observada? La diferencia principal estaba en los datos originales está en que unos eran Normales (simétricos) y otros Exponenciales (sesgados).
¿Por qué los resultados de Stat::Fit son similares? El TLC establece que, sin importar la distribución original (Exponencial), la distribución de las medias muestrales (nuestros 30 promedios) siempre tenderá a comportarse como una Distribución Normal (asumiendo \(n\) y \(r\) suficientes).
Conclusión: Nuestros resultados confirman esto. Stat::Fit rechazó la Exponencial pero aceptó la Normal para los promedios exponenciales. Es gracias a este teorema que fue estadísticamente válido usar el t.test (que asume normalidad) en ambos conjuntos de datos en la Sección 3.