ACTIVIDAD: Simulación de Variables Aleatorias y Estimación por Intervalo de Confianza
Simule el tiempo de atención de 20 clientes en un banco que sigue una distribución normal de media 15 minutos y desviación estándar 5 minutos, replique el experimento 30 veces y registre el promedio de cada replica.
set.seed(123) # Reproducibilidad de resultados
media_normal <- 15
sd_normal <- 5
n_clientes <- 20
n_replicas <- 30
# Generar 30 réplicas de la media de 20 tiempos normales
promedios_normal <- replicate(n_replicas, mean(rnorm(n_clientes, mean = media_normal, sd = sd_normal)))
# Mostrar 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
Simule el tiempo entre llegadas de los clientes cuya distribución es una exponencial con media 3.5 minutos y replique el experimento 30 veces y registre el promedio de cada replica.
media_exponencial <- 3.5
n_clientes <- 20
n_replicas <- 30
# Generar 30 réplicas del promedio de 20 tiempos exponenciales
promedios_exponencial <- replicate(n_replicas, mean(rexp(n_clientes, rate = 1/media_exponencial)))
# Mostrar 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
intervalo_confianza <- function(datos, nivel = 0.95) {
media <- mean(datos)
desv <- sd(datos)
n <- length(datos)
error <- qt(1 - (1 - nivel)/2, df = n - 1) * (desv / sqrt(n))
c(inferior = media - error, superior = media + error)
}
IC_normal <- intervalo_confianza(promedios_normal)
IC_exponencial <- intervalo_confianza(promedios_exponencial)
# Mostrar intervalos
IC_normal
## inferior superior
## 14.74789 15.46986
IC_exponencial
## inferior superior
## 3.341661 3.886777
tabla_resultados <- data.frame(
Distribución = c("Normal", "Exponencial"),
Media_Muestral = c(mean(promedios_normal), mean(promedios_exponencial)),
Desviación_Estándar = c(sd(promedios_normal), sd(promedios_exponencial)),
IC_95_Inferior = c(IC_normal[1], IC_exponencial[1]),
IC_95_Superior = c(IC_normal[2], IC_exponencial[2])
)
# Mostrar tabla
tabla_resultados
## Distribución Media_Muestral Desviación_Estándar IC_95_Inferior IC_95_Superior
## 1 Normal 15.108877 0.9667275 14.747895 15.469859
## 2 Exponencial 3.614219 0.7299240 3.341661 3.886777
par(mfrow = c(1, 2)) # Dos gráficos en una ventana
# Histograma Normal
hist(promedios_normal,
main = "Promedios - Distribución Normal",
xlab = "Tiempo promedio (min)",
col = "green", border = "orange")
# Histograma Exponencial
hist(promedios_exponencial,
main = "Promedios - Distribución Exponencial",
xlab = "Tiempo promedio (min)",
col = "yellow", border = "orange")
A continuación, se presenta un análisis interpretativo de los resultados obtenidos.
La simulación realizada permite contrastar dos procesos estocásticos con características distintas. Por un lado, los tiempos de atención, modelados con una distribución normal, reflejan un proceso predecible y centrado. Como lo demuestra el histograma, las medias muestrales se agrupan simétricamente en torno al valor central (aproximadamente 15 min), en concordancia con el Teorema del Límite Central. Esta concentración sugiere una baja variabilidad en el desempeño promedio del servicio de atención.
Por otro lado, los tiempos entre llegadas, modelados con una distribución exponencial, exhiben una naturaleza inherentemente más variable e impredecible. El histograma correspondiente muestra una asimetría a la derecha (sesgo positivo), indicando que, si bien la mayoría de los promedios son bajos, existen valores atípicamente altos. Esto significa que es probable que ocurran largos periodos sin llegadas, seguidos de llegadas más frecuentes.
La diferencia en la variabilidad de ambos procesos se refleja directamente en la precisión de las estimaciones. El intervalo de confianza para la media del tiempo de atención (Normal) es notablemente más estrecho. Esto indica que tenemos un alto grado de certeza sobre la ubicación del verdadero promedio poblacional. En contraste, el intervalo para la media del tiempo entre llegadas (Exponencial) es más amplio, lo que es consecuencia directa de la mayor dispersión de los datos y representa una mayor incertidumbre en la estimación del parámetro.
En conclusión, el ejercicio demuestra la utilidad de la simulación de Montecarlo como herramienta para cuantificar la incertidumbre y caracterizar el comportamiento de sistemas. Permite no solo estimar parámetros poblacionales, sino también comprender la naturaleza subyacente de los procesos aleatorios, lo cual es fundamental para la toma de decisiones en gestión de operaciones y análisis de sistemas.