5.3 Aplicación en riesgos potenciales

Vamos a aplicar los conocimientos adquiridos usando la siguiente información:

# Riesgo cibernético Distribución de frecuencia Param1 Param2 Distribución de severidad Param1 Param2 Param3
1 Intentos de acceso no autorizado a sistemas/datos Binomial 40.00 0.10 Exponencial 0.01
2 Ataque escalado a los privilegios Poisson 12.30 Lognormal 5.00 0.70
5 Ataque de malware Poisson 10.00 Burr 2.00 3.00 0.00125
convolucion_BP <- function(n_sim = 10000, 
                             d_freq = "poisson", param_freq = list(lambda = 3), 
                             d_sev = "lognormal", param_sev = list(meanlog = 0, sdlog = 1)) {
  # Crear vector para almacenar pérdidas
  perdidas <- numeric(n_sim)
  
  for (i in 1:n_sim) {
    # Simular número de eventos según d_freq
    n_eventos <- switch(d_freq,
                        "poisson" = rpois(1, param_freq$lambda),
                        "binomial" = rbinom(1, param_freq$size, param_freq$prob),
                        stop("Distribución de frecuencia no soportada"))
    
    # Si hay eventos, simular pérdidas individuales
    if (n_eventos > 0) {
      perdidas_evento <- switch(d_sev,
                                "lognormal" = rlnorm(n_eventos, meanlog = param_sev$meanlog, sdlog = param_sev$sdlog),
                                "normal" = rnorm(n_eventos, mean = param_sev$mean, sd = param_sev$sd),
                                "exponencial" = rexp(n_eventos, rate = param_sev$rate),
                                stop("Distribución de severidad no soportada"))
      perdidas[i] <- sum(perdidas_evento)
    }
  }
  
  
  return(list(perdidas=perdidas,PE = mean(perdidas),VaR95 = quantile(perdidas, 0.95), VaR99 = quantile(perdidas, 0.99)))
}

En el caso del primer ejemplo, la pérdida sería:

set.seed(1)
e1 <- convolucion_BP(n_sim = 10000,d_freq = "binomial",d_sev = "exponencial",
               param_freq = list(size = 40, prob = 0.10),
               param_sev = list(rate = 0.01))
e1$PE
## [1] 400.8696

Es tu turno, calcula la severidad en los casos restantes.