Simulación de Variables Aleatorias y Estimación por Intervalo de Confianza

Generación de datos en R

  1. Tiempo de atención de 20 clientes (Distribución Normal)

Media: 15 minutos

Desviación estándar: 5 minutos

Réplicas: 30

# --- Simulación de tiempos de atención (Distribución Normal) ---
set.seed(123)          # Fijar semilla para reproducibilidad
n <- 20                # Número de clientes por réplica
replicas <- 30         # Número de réplicas

# Simular 30 réplicas y calcular el promedio de cada una
promedios_normal <- replicate(replicas, mean(rnorm(n, mean = 15, sd = 5)))

# Mostrar los primeros resultados
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
  1. Tiempo entre llegadas (Distribución Exponencial)

Media: 3.5 minutos

Réplicas: 30

# --- Simulación de tiempos entre llegadas (Distribución Exponencial) ---
promedios_exponencial <- replicate(replicas, mean(rexp(n, rate = 1/3.5)))

# Mostrar los primeros resultados
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álculo del intervalo de confianza del 95%

Para estimar la media poblacional de cada conjunto de promedios se calcula el intervalo de confianza al 95%.

# --- Función para calcular el IC del 95% ---
ic_media <- function(x, confianza = 0.95) {
  n <- length(x)
  m <- mean(x)
  s <- sd(x)
  alpha <- 1 - confianza
  error <- qt(1 - alpha/2, df = n-1) * s / sqrt(n)
  c(inferior = m - error, superior = m + error)
}

# Calcular medias, desviaciones e IC
media_normal <- mean(promedios_normal)
desv_normal <- sd(promedios_normal)
ic_normal <- ic_media(promedios_normal)

media_expon <- mean(promedios_exponencial)
desv_expon <- sd(promedios_exponencial)
ic_expon <- ic_media(promedios_exponencial)

# Mostrar resultados en consola
cat("---- RESULTADOS ----\n")
## ---- RESULTADOS ----
cat("Distribución NORMAL\n")
## Distribución NORMAL
cat("Media:", media_normal, "\n")
## Media: 15.10888
cat("Desviación estándar:", desv_normal, "\n")
## Desviación estándar: 0.9667275
cat("IC 95%:", ic_normal, "\n\n")
## IC 95%: 14.74789 15.46986
cat("Distribución EXPONENCIAL\n")
## Distribución EXPONENCIAL
cat("Media:", media_expon, "\n")
## Media: 3.614219
cat("Desviación estándar:", desv_expon, "\n")
## Desviación estándar: 0.729924
cat("IC 95%:", ic_expon, "\n")
## IC 95%: 3.341661 3.886777

Comparación de resultados

# --- Gráfico comparativo ---
boxplot(promedios_normal, promedios_exponencial,
        names = c("Normal", "Exponencial"),
        col = c("skyblue", "lightgreen"),
        main = "Comparación de Promedios por Distribución",
        ylab = "Tiempo promedio (minutos)")

# --- Comentario ---
cat("ANÁLISIS:\n")
## ANÁLISIS:
cat("La distribución Normal muestra menor variabilidad y un intervalo más estrecho.\n")
## La distribución Normal muestra menor variabilidad y un intervalo más estrecho.
cat("La distribución Exponencial presenta mayor dispersión e intervalos más amplios,\n")
## La distribución Exponencial presenta mayor dispersión e intervalos más amplios,
cat("reflejando una naturaleza más aleatoria en los tiempos entre llegadas.\n")
## reflejando una naturaleza más aleatoria en los tiempos entre llegadas.