set.seed(456)
tasa_fallas <- 3
periodo_dias <- 150
fallas_diarias <- rpois(n = periodo_dias, lambda = tasa_fallas)
media_simulada <- mean(fallas_diarias)
desviacion_simulada <- sd(fallas_diarias)
hist(fallas_diarias,
main = "Distribucion de Fallas Diarias en un Semestre",
xlab = "Numero de Fallas por Dia",
ylab = "Frecuencia (Dias)",
col = "tomato",
breaks = seq(-0.5, max(fallas_diarias) + 0.5, by = 1))
print(paste("Media de fallas por dia (simulada):", round(media_simulada, 2)))
## [1] "Media de fallas por dia (simulada): 3.3"
print(paste("Desviacion estandar de fallas (simulada):", round(desviacion_simulada, 2)))
## [1] "Desviacion estandar de fallas (simulada): 1.75"
Explicación del resultado obtenido: La simulación confirma que las fallas diarias siguen un proceso de Poisson, con una media y varianza teóricas de 3. Los resultados muestran que, si bien el promedio diario es 3, existe una variabilidad cuantificable que rara vez excede las 6 fallas por día.
set.seed(123)
tasa_exponencial <- 1 / 500
n_componentes <- 1000
vida_util_simulada <- rexp(n = n_componentes, rate = tasa_exponencial)
prob_mas_700 <- mean(vida_util_simulada > 700)
hist(vida_util_simulada,
main = "Distribucion de la Vida Util de Componentes",
xlab = "Horas de Vida Util",
ylab = "Frecuencia",
col = "orange")
print(paste("Probabilidad estimada de durar mas de 700 horas:", round(prob_mas_700, 4)))
## [1] "Probabilidad estimada de durar mas de 700 horas: 0.255"
Explicación: La simulación confirma la naturaleza de la distribución exponencial, donde la mayoría de los componentes fallan temprano, pero una fracción significativa presenta una vida útil muy larga. A partir de 1000 componentes simulados, se estima que la probabilidad de que uno de ellos dure más de 700 horas es de aproximadamente 0.25 o 25%.
set.seed(123)
prob_defectuoso <- 0.05
n_lotes <- 100
tamano_lote <- 50
defectuosos_por_lote <- rbinom(n = n_lotes, size = tamano_lote, prob = prob_defectuoso)
promedio_defectuosos <- mean(defectuosos_por_lote)
hist(defectuosos_por_lote,
main = "Distribucion de Productos Defectuosos por Lote",
xlab = "Numero de Defectuosos",
ylab = "Frecuencia (Lotes)",
col = "lightgreen",
breaks = seq(-0.5, max(defectuosos_por_lote) + 0.5, by = 1))
print(paste("Numero promedio de productos defectuosos por lote:", round(promedio_defectuosos, 2)))
## [1] "Numero promedio de productos defectuosos por lote: 2.48"
Explicación: La simulación del proceso de producción sigue una distribución binomial, ya que cada producto tiene una probabilidad fija de ser defectuoso. Con una probabilidad de defecto del 5% en lotes de 50, el número promedio de productos defectuosos por lote es de aproximadamente 2.5.
set.seed(123)
media_demanda <- 100
desviacion_demanda <- 15
n_dias <- 365
demanda_anual_simulada <- rnorm(n = n_dias, mean = media_demanda, sd = desviacion_demanda)
prob_supera_130 <- mean(demanda_anual_simulada > 130)
hist(demanda_anual_simulada,
main = "Distribucion de la Demanda Diaria de Energia",
xlab = "Demanda (MW)",
ylab = "Frecuencia (Dias)",
col = "lightcoral")
print(paste("Probabilidad de que la demanda supere 130 MW:", round(prob_supera_130, 4)))
## [1] "Probabilidad de que la demanda supere 130 MW: 0.0301"
Explicación: La simulación refleja una distribución normal de la demanda de energía, centrada en 100 MW. Se observa que la probabilidad de que la demanda diaria exceda los 130 MW es de aproximadamente 0.02 a 0.03, lo que equivale a unos 7 a 11 días al año, confirmando que estos picos son eventos poco frecuentes pero predecibles.
set.seed(123)
beta <- 1000
n_simulaciones <- 1000
u <- runif(n_simulaciones)
tiempos_vida_inversa <- -beta * log(1 - u)
head(tiempos_vida_inversa)
## [1] 339.08417 1552.60936 525.90021 2145.73011 2821.22927 46.62683
summary(tiempos_vida_inversa)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.4655 292.5478 673.2470 986.1544 1373.5970 7426.1561
hist(tiempos_vida_inversa,
main = "Tiempos de Vida (Transformada Inversa)",
xlab = "Tiempo de Vida (horas)",
ylab = "Frecuencia",
col = "lightblue",
breaks = 30)
beta <- 1000
media_teorica <- beta
varianza_teorica <- beta^2
media_simulada <- mean(tiempos_vida_inversa)
varianza_simulada <- var(tiempos_vida_inversa)
comparacion <- data.frame(
Valor = c("Media", "Varianza"),
Teorico = c(media_teorica, varianza_teorica),
Simulado = c(media_simulada, varianza_simulada)
)
print(comparacion)
## Valor Teorico Simulado
## 1 Media 1e+03 986.1544
## 2 Varianza 1e+06 954966.2320
n <- 1e6
lambda <- 1/1000
tiempos <- rexp(n, rate = lambda)
hist(tiempos, probability = TRUE, breaks = 100, xlim = c(0,5000),
main = "Simulacion vs Teoria", xlab = "Tiempo de vida (horas)")
curve(dexp(x, rate = lambda), col = "red", lwd = 2, add = TRUE)
n <- 1e6
lambda <- 1/1000
tiempos <- rexp(n, rate = lambda)
prob_simulada <- mean(tiempos < 940)
print(prob_simulada)
## [1] 0.609544
Conclusión: La simulación del tiempo de vida de los capacitores se realizó exitosamente aplicando el método de la transformada inversa, generando 1000 muestras que siguen una distribución exponencial. La media y varianza calculadas a partir de los datos simulados son consistentes con los valores teóricos (β = 1000 y β² = 1,000,000), y el histograma se ajusta de manera precisa a la curva de densidad teórica, validando la fiabilidad del modelo.