Objetivo

Generar variables aleatorias con distribuciones Normal y Exponencial, calcular sus promedios en réplicas, y estimar el intervalo de confianza del 95% para la media poblacional.


1. Simulación del tiempo de atención (Distribución Normal)

Simulamos el tiempo de atención de 20 clientes con una distribución Normal(15, 5) y repetimos el experimento 30 veces.

set.seed(123) # reproducibilidad
replicas <- 30
n <- 20
media <- 15
desv <- 5

# Generamos los promedios de cada réplica
promedios_normal <- replicate(replicas, mean(rnorm(n, mean = media, sd = desv)))
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. Intervalo de confianza (95%) para la media poblacional - Distribución Normal

media_normal <- mean(promedios_normal)
desv_normal <- sd(promedios_normal)
error_normal <- qt(0.975, df = replicas - 1) * (desv_normal / sqrt(replicas))

IC_normal <- c(media_normal - error_normal, media_normal + error_normal)
IC_normal
## [1] 14.74789 15.46986

3. Simulación del tiempo entre llegadas (Distribución Exponencial)

Simulamos tiempos entre llegadas con distribución Exponencial(media = 3.5), también con 30 réplicas.

set.seed(123)
media_exp <- 3.5

promedios_exp <- replicate(replicas, mean(rexp(n, rate = 1/media_exp)))
promedios_exp
##  [1] 2.839104 3.896593 4.879441 2.624666 4.060273 2.369746 4.169379 2.690692
##  [9] 4.075047 3.648220 3.358082 4.499886 3.142220 3.738707 3.308011 2.998177
## [17] 3.116586 3.079349 3.293862 3.726971 3.151720 3.750872 3.734679 4.560257
## [25] 3.408825 3.452517 3.497592 3.319186 3.182003 3.026739

4. Intervalo de confianza (95%) para la media poblacional - Distribución Exponencial

media_expo <- mean(promedios_exp)
desv_expo <- sd(promedios_exp)
error_expo <- qt(0.975, df = replicas - 1) * (desv_expo / sqrt(replicas))

IC_expo <- c(media_expo - error_expo, media_expo + error_expo)
IC_expo
## [1] 3.267943 3.705350

5. Tabla resumen de resultados

library(knitr)
tabla_resultados <- data.frame(
  Distribución = c("Normal", "Exponencial"),
  Media_Muestral = c(media_normal, media_expo),
  Desviación_Estándar = c(desv_normal, desv_expo),
  IC_95_Lower = c(IC_normal[1], IC_expo[1]),
  IC_95_Upper = c(IC_normal[2], IC_expo[2])
)

kable(tabla_resultados, caption = "Resultados de las simulaciones e intervalos de confianza")
Resultados de las simulaciones e intervalos de confianza
Distribución Media_Muestral Desviación_Estándar IC_95_Lower IC_95_Upper
Normal 15.108877 0.9667275 14.747895 15.46986
Exponencial 3.486647 0.5856983 3.267943 3.70535

6. Comentario sobre los resultados