knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE)
library(ggplot2)

Introducción

El presente taller práctico tiene como propósito fundamental la aplicación de técnicas de simulación de variables aleatorias utilizando el entorno de programación estadística R Studio. El uso de la simulación permite modelar fenómenos estocásticos complejos y obtener estimaciones robustas de sus parámetros, siendo una herramienta crucial en ingeniería, finanzas y análisis de riesgos.

A lo largo de los ejercicios, se explorarán las distribuciones de probabilidad clásicas más relevantes en la modelización de fenómenos discretos y continuos: la Distribución de Poisson (para eventos raros en un intervalo), la Distribución Exponencial (para tiempos de espera o vida útil), la Distribución Binomial (para conteos de éxitos/fracasos), y la Distribución Normal (para variables continuas con tendencia central). Estos modelos se aplicarán a contextos operativos clave como la producción, la confiabilidad de componentes y la demanda energética.

  1. Proceso de Fallas en un Sistema de Producción
    Un sistema de producción tiene fallas según un proceso de Poisson con una tasa de 3 fallas por día. Simular el número total de fallas en un semestre (150 días) y calcular la media y desviación estándar.

Análisis Teórico: La Distribución de Poisson es ideal para modelar el número de ocurrencias de eventos discretos en un intervalo fijo de tiempo, como las fallas del sistema

set.seed(123)
fallas <- rpois(150, lambda = 3) # Simulación de 150 días con media de 3 fallas
mean_fallas <- mean(fallas) # Cálculo de la media
sd_fallas <- sd(fallas) # Cálculo de la desviación estándar

mean_fallas
## [1] 3
sd_fallas
## [1] 1.658818

Análisis
El código proporcionado simula el número de fallas diarias durante un semestre (150 días), asumiendo un proceso Poisson con una tasa media (λ) de 3 fallas por día.

  1. Vida útil de un Componente Electrónico El tiempo de servicio (expresado en horas) de un elemento electrónico obedece a una distribución exponencial con una expectativa de 500 horas. Se requiere generar 1000 muestras de estos elementos y calcular la probabilidad estimada de que un componente individual permanezca funcional por más de 700 horas.

siendo utilizada frecuentemente para describir la duración, o el intervalo de tiempo, hasta la ocurrencia de un evento (como una avería o fin de vida

set.seed(123) # Semilla para obtener siempre el mismo resultado
vida <- rexp(1000, rate = 1/500) # Simulación de 1000 tiempos de vida con media 500
prob_mas700 <- mean(vida > 700) # Estimar probabilidad de durar más de 700 horas

prob_mas700
## [1] 0.255

Análisis
La probabilidad estimada por simulación de que un componente dure más de 700 horas es del 25.2%. Este valor se acerca significativamente al valor teórico (P(X>700)=e −0.002×700 ≈0.2466), lo que valida la simulación como una buena aproximación del modelo Exponencial.

  1. Productos defectuosos en una Línea de Emsablaje
    La vida útil (en horas) de un componente electrónico sigue una distribución exponencial con un promedio de 500 horas. Simular 1000 componentes y estimar la probabilidad de que un componente dure más de 700 horas.

La Distribución Binomial permite modelar el número de éxitos (defectuosos) en un número de fijo de ensayos (productos).

set.seed(123) # Semilla
defectuosos <- rbinom(100, size = 50, prob = 0.05) # 100 lotes de 50 productos
mean_defectuosos <- mean(defectuosos) # Promedio de defectuosos por lote

mean_defectuosos
## [1] 2.48

Análisis
El promedio de defectuosos por lote se acerca al valor esperado 50 x 0.05 = 2.5. Esto evidencia la consistencia del modelo binomial para este tipo de procesos industriales.

  1. Demanda Diaria de Energía
    La solicitud energética diaria (medida en MW) se ajusta a una distribución normal con una media (μ) de 100 MW y una desviación estándar (σ) de 15 MW. Se pide simular la demanda para el periodo de un año (365 días), calcular la probabilidad de que la demanda en un día cualquiera exceda los 130 MW, y generar el histograma correspondiente.

La Distribución Normal modela adecuadamente variables continuas con fluctuaciones alrededor de una media.

set.seed(123) # Semilla
demanda <- rnorm(365, mean = 100, sd = 15) # Simulación de 365 días
prob_mas130 <- mean(demanda > 130) # Probabilidad de superar 130 MW

prob_mas130
## [1] 0.03013699
# Creación del data frame para graficar
df_demanda <- data.frame(demanda)

# Histograma + Curva de Densidad
ggplot(df_demanda, aes(x = demanda)) +
  geom_histogram(aes(y = ..density..), bins = 30, fill = "steelblue", color = "black", alpha = 0.7) +
  geom_density(color = "red", size = 1) +
  geom_vline(xintercept = 130, linetype = "dashed", color = "darkgreen") +
  labs(title = "Histograma de la Demanda Diaria (MW)",
       x = "Demanda (MW)", y = "Densidad")

Análisis
El histograma confirma la forma de campana característica de la normal. La probabilidad de superar los 130 MW es baja, lo cual concuerda con que dicho valor está más de 2 desviaciones estándar por encima de la media.

  1. Tiempo de Vida de Capacitadores Electrónicos Una empresa de manufactura electrónica quiere simular el tiempo de vida (en horas) de un nuevo modelo de capacitor. Basado en datos históricos, se ha determinado que el tiempo de vida sigue una distribución exponencial con parámetro β = 1000 horas, que representa el tiempo medio de vida de los capacitores.

a) Generar 1000 tiempos de vida del capacitor aplicando el método de la transformada inversa. X = −β⋅ln(1−U), U∼U(0,1)

set.seed(123) # Semilla
n <- 1000 # Número de Simulaciones
beta <- 1000 # Parámetro de la Distribución Exponencial
U <- runif(n)
vida_cap <- -beta * log(1 - U)

b) Estimar la media y la varianza de los tiempos generados y compararlas con los valores teóricos.

Valores Teóricos
E|X| = β = 1000, Var[X] = β^2 = 1000000

media_sim <- mean(vida_cap) # Media simulada
var_sim <- var(vida_cap) # Varianza simulada

media_sim
## [1] 986.1544
var_sim
## [1] 954966.2

Los valores simulados se aproximan a los teóricos, validando la simulación.

c) Graficar el histograma de los tiempos de vida simulados junto con la densidad teórica de la distribución exponencial.

df_vida <- data.frame(vida_cap)
ggplot(df_vida, aes(x = vida_cap)) +
  geom_histogram(aes(y = ..density..), bins = 30, fill = "orange", color = "black", alpha = 0.7) +
  stat_function(fun = dexp, args = list(rate = 1/beta), color = "blue", size = 1) +
  labs(title = "Tiempo de Vida de Capacitores",
       x = "Tiempo de vida (horas)", y = "Densidad")

Los Valores simulados se aproximan a los teóricos, validando la simulación.

d) Calcular la probabilidad de que un capacitor dure menos de 940 horas usando la simulación.

prob_menos940 <- mean(vida_cap < 940) # Probabilidad Simulada
prob_menos940
## [1] 0.611

El resultado simulado concuerda con el cálculo teórico P(X < 940) = 1 -e ^-940/1000. Esto permite estimar la confiabilidad de los capacitadores en la práctica.

Conclusión

El desarrollo de este taller práctico ha facilitado la aplicación directa de los principios de simulación de variables aleatorias en el entorno R Studio. Se ha logrado modelar con éxito diversos fenómenos de interés industrial —incluyendo la ocurrencia de fallas (Poisson), la confiabilidad de componentes (Exponencial), el control de calidad por lotes (Binomial), y la fluctuación de la demanda (Normal)—, confirmando la utilidad de estas distribuciones para caracterizar la incertidumbre y variabilidad inherentes a los sistemas de ingeniería.

Los resultados numéricos obtenidos a través de las simulaciones mostraron una estrecha convergencia con los parámetros y probabilidades teóricas esperadas. Esta coherencia rigurosa valida la correcta implementación de las funciones de muestreo aleatorio (rpois, rexp, rbinom, rnorm) y subraya la importancia de la validación estadística como paso crucial en cualquier estudio de simulación.

El empleo sistemático de la librería ggplot2 resultó ser fundamental, al proporcionar representaciones gráficas claras (histogramas y curvas de densidad) que no solo facilitaron la interpretación visual de las distribuciones, sino que también permitieron una comparación intuitiva entre la densidad simulada y el modelo teórico.

Esta práctica no solo consolida el conocimiento teórico sobre los modelos probabilísticos, sino que también fortalece las habilidades de análisis y diagnóstico de sistemas complejos, capacitando al estudiante para predecir comportamientos futuros y soportar la toma de decisiones fundamentadas en la gestión de procesos industriales y energéticos.