Introducción

En este caso se analiza la toma de decisiones bajo incertidumbre utilizando la teoría de decisiones y el concepto de Valor Monetario Esperado (VME).
Se considera una empresa que debe elegir entre alternativas de inversión (proyectos) frente a diferentes estados de la naturaleza (niveles de demanda).
Se calcula:

Este caso integra técnicas de Bayes y análisis de riesgo económico, útil para decisiones estratégicas en empresas.

# Filas: alternativas de inversión
# Columnas: estados de la naturaleza
pagos <- matrix(c(
  -200000, 100000, 500000,   # Grande
  -50000,  200000, 300000,   # Mediana
   100000, 150000, 180000,   # Pequeña
   50000,   50000,  50000    # NoConstr
), nrow=4, byrow=TRUE)

rownames(pagos) <- c("Grande","Mediana","Pequeña","NoConstr")
colnames(pagos) <- c("Baja","Media","Alta")

pagos
##            Baja  Media   Alta
## Grande   -2e+05 100000 500000
## Mediana  -5e+04 200000 300000
## Pequeña   1e+05 150000 180000
## NoConstr  5e+04  50000  50000

Interpretación:

Cada celda representa el pago esperado si se elige una alternativa bajo un determinado estado de la naturaleza. Valores negativos representan pérdidas; positivos, ganancias. Esta matriz es la base para calcular VME y analizar decisiones bajo incertidumbre.

#Probabilidades previas y verosimilitudes
# Probabilidades iniciales de cada estado de la naturaleza
prior     <- c(0.20, 0.45, 0.35)

# Probabilidades condicionales de información imperfecta
likel_F   <- c(0.10, 0.40, 0.90)  # P(Favorable | S)
likel_D   <- 1 - likel_F          # P(Desfavorable | S)

Interpretación:

prior refleja la estimación inicial de la probabilidad de cada escenario de demanda. likel_F y likel_D permiten simular la obtención de información imperfecta, que actualizará las probabilidades.

# Función Bayesiana para actualizar probabilidades
# Calcula posterior Bayesiana para información imperfecta
actualizar <- function(prior, likel) {
  conj <- prior * likel
  list(post = conj/sum(conj), P_E = sum(conj))
}

# Posterior considerando información favorable o desfavorable
bayes_F <- actualizar(prior, likel_F)
bayes_D <- actualizar(prior, likel_D)

bayes_F$post
## [1] 0.03883495 0.34951456 0.61165049
bayes_D$post
## [1] 0.37113402 0.55670103 0.07216495

Interpretación:

Se aplica Teorema de Bayes para actualizar las probabilidades según la evidencia obtenida. bayes_F\(post indica la probabilidad posterior de cada estado si la señal es favorable. bayes_D\)post indica lo mismo para señal desfavorable. P_E representa la probabilidad de observar la evidencia.

mejor_vme <- function(prob) {
  # Calcula VME para cada alternativa
  vme <- pagos %*% prob
  idx <- which.max(vme)
  list(alternativa = rownames(pagos)[idx], valor = vme[idx])
}

# VME sin información
opt_sin_info <- mejor_vme(prior)

# VME considerando información imperfecta
opt_fav  <- mejor_vme(bayes_F$post)
opt_desf <- mejor_vme(bayes_D$post)

# VME con información imperfecta ponderada por probabilidad de cada señal
vme_con_info <- bayes_F$P_E * opt_fav$valor + bayes_D$P_E * opt_desf$valor

# Valor esperado con información perfecta
vecp <- sum(apply(pagos, 2, max) * prior)

# Valor esperado de la información perfecta e imperfecta
veip <- vecp - opt_sin_info$valor
veii <- vme_con_info - opt_sin_info$valor

Interpretación:

opt_sin_info representa la decisión óptima sin información adicional. opt_fav y opt_desf muestran las mejores alternativas considerando la evidencia obtenida. vme_con_info es el VME esperado cuando se dispone de información imperfecta. vecp es el VME con información perfecta (cada estado conocido). veip y veii cuantifican cuánto valor agrega la información y el máximo a pagar por ella.

cat("VME sin información:      ", round(opt_sin_info$valor), "->", opt_sin_info$alternativa, "\n")
## VME sin información:       185000 -> Mediana
cat("VME con señal favorable:  ", round(opt_fav$valor), "->", opt_fav$alternativa, "\n")
## VME con señal favorable:   333010 -> Grande
cat("VME con señal desfavorable:", round(opt_desf$valor), "->", opt_desf$alternativa, "\n")
## VME con señal desfavorable: 133608 -> Pequeña
cat("VME con información imperfecta (esperado):", round(vme_con_info), "\n")
## VME con información imperfecta (esperado): 236300
cat("VECP: ", round(vecp), "\n")
## VECP:  285000
cat("VEIP: ", round(veip), "\n")
## VEIP:  1e+05
cat("VEII: ", round(veii), "\n")
## VEII:  51300

Interpretación:

VEII indica el máximo que la empresa estaría dispuesta a pagar por adquirir información adicional antes de decidir. El análisis permite comparar decisiones con y sin información, considerando distintos niveles de riesgo. Este enfoque proporciona una metodología replicable para decisiones estratégicas en entornos industriales y financieros.