variacion y validacion de los modelos de simulacion

Simule el tiempo de atenci´ on de 20 clientes en un banco que sigue una distribuci´ on normal de media 15 minutos y desviaci´ on est´andar 5 minutos.

simular_tiempo_atencion <- function(media, desv_estandar, num_clientes) {
  tiempo_atencion <- rnorm(n = num_clientes, mean = media, sd = desv_estandar)
  tiempo_atencion <- pmax(tiempo_atencion, 0)
  return(tiempo_atencion)
}

Simulación del Tiempo Entre Llegadas

Simule el tiempo entre llegadas de los clientes cuya distribuci´on es una exponencial con media 3.5 minutos.

simular_tiempo_entre_llegadas <- function(media, num_clientes) {
  tasa <- 1 / media
  tiempo_entre_llegadas <- rexp(n = num_clientes, rate = tasa)
  return(tiempo_entre_llegadas)
}

Intervalo de Confianza del 95%

Para cada conjunto de datos, calcule el intervalo de confianza del 95% para la media poblacional.

calcular_intervalo_confianza <- function(datos) {
  n <- length(datos)
  media_muestra <- mean(datos)
  desv_estandar_muestra <- sd(datos)
  error_estandar <- desv_estandar_muestra / sqrt(n)
  
  alfa <- 0.05
  t_valor <- qt(1 - alfa / 2, df = n - 1) 
  
  limite_inferior <- media_muestra - t_valor * error_estandar
  limite_superior <- media_muestra + t_valor * error_estandar
  
  return(c(limite_inferior, limite_superior))
}
media_atencion <- 15
desv_estandar_atencion <- 5 
media_llegadas <- 3.5    
num_clientes <- 20
tiempo_atencion_simulado <- simular_tiempo_atencion(media_atencion, desv_estandar_atencion, num_clientes)
tiempo_entre_llegadas_simulado <- simular_tiempo_entre_llegadas(media_llegadas, num_clientes)
print("--- Tiempos de Atención Simulados (minutos) ---")
## [1] "--- Tiempos de Atención Simulados (minutos) ---"
print(tiempo_atencion_simulado)
##  [1] 10.230072 19.684654  9.143156 16.519446  4.136645  9.097081 20.559500
##  [8] 10.300782  8.784423 10.257152 12.430554 24.670732  6.359433 12.417333
## [15] 24.819924 21.266851 16.178979  5.053539  7.972031 22.921096
print("\n--- Tiempos Entre Llegadas Simulados (minutos) ---")
## [1] "\n--- Tiempos Entre Llegadas Simulados (minutos) ---"
print(tiempo_entre_llegadas_simulado)
##  [1]  9.285599441  2.553228483  0.586356075  0.156698506  2.238841129
##  [6]  1.202913739  6.295085590  0.549027755  0.036970320  1.420162270
## [11]  2.201992744  2.056499927  0.685531977  6.018231815  4.135509883
## [16]  1.014286775 13.370114837  0.441332245  0.009890226  5.265472469
intervalo_atencion <- calcular_intervalo_confianza(tiempo_atencion_simulado)
intervalo_llegadas <- calcular_intervalo_confianza(tiempo_entre_llegadas_simulado)
print("\n--- Intervalo de Confianza del 95% para el Tiempo de Atención ---")
## [1] "\n--- Intervalo de Confianza del 95% para el Tiempo de Atención ---"
print(intervalo_atencion)
## [1] 10.52659 16.75375
print("\n--- Intervalo de Confianza del 95% para el Tiempo Entre Llegadas ---")
## [1] "\n--- Intervalo de Confianza del 95% para el Tiempo Entre Llegadas ---"
print(intervalo_llegadas)
## [1] 1.330444 4.621931
cat("\n--- Análisis de las Distribuciones ---\n")
## 
## --- Análisis de las Distribuciones ---
cat("Tiempo de Atención (Distribución Normal):\n")
## Tiempo de Atención (Distribución Normal):
cat("- La distribución normal es simétrica, con la mayoría de los valores cercanos a la media (15 minutos).\n")
## - La distribución normal es simétrica, con la mayoría de los valores cercanos a la media (15 minutos).
cat("- La desviación estándar (5 minutos) indica la variabilidad: la mayoría de los tiempos de atención estarán entre 10 y 20 minutos.\n")
## - La desviación estándar (5 minutos) indica la variabilidad: la mayoría de los tiempos de atención estarán entre 10 y 20 minutos.
cat("- Es posible obtener valores negativos, aunque en este contexto se corrigen a 0 (pmax()).\n")
## - Es posible obtener valores negativos, aunque en este contexto se corrigen a 0 (pmax()).
cat("\nTiempo Entre Llegadas (Distribución Exponencial):\n")
## 
## Tiempo Entre Llegadas (Distribución Exponencial):
cat("- La distribución exponencial es asimétrica, con muchos valores pequeños (llegadas muy cercanas) y pocos valores grandes (largos periodos sin llegadas).\n")
## - La distribución exponencial es asimétrica, con muchos valores pequeños (llegadas muy cercanas) y pocos valores grandes (largos periodos sin llegadas).
cat("- La media de 3.5 minutos indica el tiempo promedio entre llegadas.\n")
## - La media de 3.5 minutos indica el tiempo promedio entre llegadas.
cat("- La propiedad 'sin memoria' de la distribución exponencial implica que el tiempo desde la última llegada no afecta la probabilidad de la siguiente llegada.\n")
## - La propiedad 'sin memoria' de la distribución exponencial implica que el tiempo desde la última llegada no afecta la probabilidad de la siguiente llegada.
par(mfrow = c(1, 2))
hist(tiempo_atencion_simulado,
     main = "Tiempo de Atencion",
     xlab = "Tiempo (minutos)",
     ylab = "Frecuencia",
     col = "pink",
     border = "black")

hist(tiempo_entre_llegadas_simulado,
     main = "Tiempo Entre Llegadas",
     xlab = "Tiempo (minutos)",
     ylab = "Frecuencia",
     col = "lightblue",
     border = "black")

par(mfrow = c(1, 1))