En este documento se realiza la simulación de diversas distribuciones de probabilidad en R utilizando el entorno R Markdown. Las simulaciones permitirán analizar diferentes fenómenos probabilísticos aplicados a sistemas de ingeniería, producción y electrónica.
En un sistema de producción, las fallas ocurren según un proceso de Poisson con una tasa promedio de 3 fallas por día. Se simula el número de fallas durante un semestre de 150 días.
# Definimos el número de días del semestre y la tasa de fallas por día
n <- 150 # días
tasa_fallas <- 3 # fallas por día
# Simulamos la cantidad de fallas por día usando una distribución de Poisson
fallas <- rpois(n, tasa_fallas)
# Calculamos la media y desviación estándar de las fallas
mean_fallas <- mean(fallas)
sd_fallas <- sd(fallas)
# Mostramos los resultados
cat("Media de fallas en un semestre:", mean_fallas, "\n")
## Media de fallas en un semestre: 3.026667
cat("Desviación estándar de fallas:", sd_fallas, "\n")
## Desviación estándar de fallas: 1.634144
Se estudia la vida útil de 1000 componentes electrónicos, cuya duración sigue una distribución exponencial con un promedio de 500 horas. Se estima la probabilidad de que un componente supere las 700 horas de vida.
# Definimos la cantidad de componentes a simular y el tiempo medio de vida
n_comp <- 1000
beta <- 500 # Promedio de vida útil en horas
# Simulamos la vida útil de los componentes usando una distribución exponencial
vida_util <- rexp(n_comp, rate = 1/beta)
# Calculamos la probabilidad de que un componente dure más de 700 horas
prob_mas_700 <- mean(vida_util > 700)
# Mostramos el resultado
cat("Probabilidad de que un componente dure más de 700 horas:", prob_mas_700, "\n")
## Probabilidad de que un componente dure más de 700 horas: 0.249
En una línea de ensamblaje, cada producto tiene un 5% de probabilidad de ser defectuoso. Se simulan 100 lotes de 50 productos y se calcula el promedio de productos defectuosos por lote.
# Definimos la cantidad de lotes y el tamaño de cada lote
n_lotes <- 100
size <- 50 # Productos por lote
prob <- 0.05 # Probabilidad de defecto
# Simulamos la cantidad de productos defectuosos en cada lote con distribución binomial
defectuosos <- rbinom(n_lotes, size, prob)
# Calculamos el promedio de productos defectuosos por lote
mean_defectuosos <- mean(defectuosos)
# Mostramos el resultado
cat("Número promedio de productos defectuosos por lote:", mean_defectuosos, "\n")
## Número promedio de productos defectuosos por lote: 2.41
La demanda diaria de energía en una empresa sigue una distribución normal con una media de 100 MW y una desviación estándar de 15 MW. Se simula la demanda para 365 días y se calcula la probabilidad de que en un día se supere la demanda de 130 MW.
# Definimos la cantidad de días a simular y los parámetros de la distribución normal
n_dias <- 365 # Un año completo
mu <- 100 # Media de la demanda en MW
sigma <- 15 # Desviación estándar
# Simulamos la demanda diaria de energía
demanda <- rnorm(n_dias, mu, sigma)
# Calculamos la probabilidad de que la demanda supere los 130 MW
prob_supera_130 <- mean(demanda > 130)
# Mostramos el resultado
cat("Probabilidad de que la demanda supere los 130 MW:", prob_supera_130, "\n")
## Probabilidad de que la demanda supere los 130 MW: 0.02465753
# Graficamos un histograma con la curva de la distribución normal superpuesta
hist(demanda, breaks = 30, probability = TRUE, main = "Histograma de Demanda Diaria",
xlab = "Demanda (MW)", col = "lightblue")
curve(dnorm(x, mu, sigma), col = "red", lwd = 2, add = TRUE)
Un nuevo modelo de capacitor tiene una vida útil que sigue una distribución exponencial con β = 1000 horas. Se generan 1000 muestras utilizando el método de la transformada inversa y se comparan la media y varianza obtenidas con los valores teóricos.
# Definimos la cantidad de capacitores a simular y el parámetro beta (vida media)
n_capacitores <- 1000
beta_cap <- 1000 # Vida media en horas
# Aplicamos el método de la transformada inversa para generar tiempos de vida
tiempos_vida <- -beta_cap * log(runif(n_capacitores))
# Calculamos la media y varianza de los tiempos simulados
mean_tiempos <- mean(tiempos_vida)
var_tiempos <- var(tiempos_vida)
# Mostramos los resultados
cat("Media simulada del tiempo de vida:", mean_tiempos, "\n")
## Media simulada del tiempo de vida: 1015.541
cat("Varianza simulada del tiempo de vida:", var_tiempos, "\n")
## Varianza simulada del tiempo de vida: 992415.3
# Graficamos el histograma de los tiempos de vida con la densidad teórica
hist(tiempos_vida, breaks = 30, probability = TRUE, main = "Histograma de Vida de Capacitores",
xlab = "Tiempo de vida (horas)", col = "lightblue")
curve(dexp(x, rate = 1/beta_cap), col = "red", lwd = 2, add = TRUE)
# Calculamos la probabilidad de que un capacitor dure menos de 940 horas
prob_menos_940 <- mean(tiempos_vida < 940)
# Mostramos el resultado
cat("Probabilidad de que un capacitor dure menos de 940 horas:", prob_menos_940, "\n")
## Probabilidad de que un capacitor dure menos de 940 horas: 0.607