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.