Taller: Simulación de Variables Aleatorias en R
# 1. Proceso de Poisson (3 fallas por día, 150 días)
set.seed(123) # para reproducibilidad
fallas <- rpois(150, lambda = 3)
mean_fallas <- mean(fallas)
sd_fallas <- sd(fallas)
cat("Ejercicio 1:\nMedia =", mean_fallas, "Desviación Estándar =", sd_fallas, "\n\n")
## Ejercicio 1:
## Media = 3 Desviación Estándar = 1.658818
# 2. Vida útil ~ Exponencial (promedio 500 horas -> rate = 1/500)
vidas <- rexp(1000, rate = 1/500)
prob_mas_700 <- mean(vidas > 700)
cat("Ejercicio 2:\nProbabilidad que dure > 700 horas =", prob_mas_700, "\n\n")
## Ejercicio 2:
## Probabilidad que dure > 700 horas = 0.253
# 3. Productos defectuosos (binomial: size=50, prob=0.05, 100 lotes)
defectuosos <- rbinom(100, size = 50, prob = 0.05)
prom_defectuosos <- mean(defectuosos)
cat("Ejercicio 3:\nPromedio de defectuosos por lote =", prom_defectuosos, "\n\n")
## Ejercicio 3:
## Promedio de defectuosos por lote = 2.64
# 4. Demanda diaria ~ Normal(100, 15^2), 365 días
demanda <- rnorm(365, mean = 100, sd = 15)
prob_mas_130 <- mean(demanda > 130)
cat("Ejercicio 4:\nProbabilidad de demanda > 130 MW =", prob_mas_130, "\n\n")
## Ejercicio 4:
## Probabilidad de demanda > 130 MW = 0.01917808
# Histograma
hist(demanda, breaks = 20, col = "skyblue", main = "Demanda de Energía (MW)",
xlab = "MW", probability = TRUE)
curve(dnorm(x, mean = 100, sd = 15), add = TRUE, col = "red", lwd = 2)

# 5. Vida de capacitores (Exponencial con beta=1000)
# a) Método de transformada inversa
n <- 1000
u <- runif(n)
vidas_cap <- -1000 * log(1 - u)
# b) Media y varianza
media_sim <- mean(vidas_cap)
var_sim <- var(vidas_cap)
media_teorica <- 1000
var_teorica <- 1000^2
cat("Ejercicio 5:\nMedia simulada =", media_sim,
" Media teórica =", media_teorica, "\n")
## Ejercicio 5:
## Media simulada = 1008.111 Media teórica = 1000
cat("Varianza simulada =", var_sim,
" Varianza teórica =", var_teorica, "\n\n")
## Varianza simulada = 962485.1 Varianza teórica = 1e+06
# c) Histograma con densidad teórica
hist(vidas_cap, breaks = 30, col = "lightgreen", probability = TRUE,
main = "Tiempo de Vida de Capacitores", xlab = "Horas")
curve(dexp(x, rate = 1/1000), add = TRUE, col = "red", lwd = 2)

# d) Probabilidad de que dure < 940 horas
prob_menor_940 <- mean(vidas_cap < 940)
cat("Ejercicio 5d:\nProbabilidad que dure < 940 horas =", prob_menor_940, "\n")
## Ejercicio 5d:
## Probabilidad que dure < 940 horas = 0.594