1. Introducción

En entornos empresariales caracterizados por la incertidumbre, como el caso de empresas tecnológicas o industriales, la toma de decisiones estratégicas requiere herramientas que permitan incorporar tanto la información disponible como la incertidumbre asociada a los eventos futuros.

En este contexto, los árboles de decisión bayesianos representan una metodología robusta que combina la teoría de decisiones con el teorema de Bayes, permitiendo actualizar probabilidades a medida que se obtiene nueva información. Esto resulta especialmente útil cuando las organizaciones pueden acceder a estudios de mercado o consultorías que reducen la incertidumbre inicial.

El presente análisis se enfoca en el caso de la empresa TechParts S.A., evaluando distintas alternativas de inversión bajo diferentes escenarios de mercado (grande, mediano y pequeño), incorporando información previa y posterior mediante inferencia bayesiana. Asimismo, se calcula el valor esperado de la información imperfecta, lo que permite determinar cuánto estaría dispuesta a pagar la empresa por obtener información adicional antes de tomar una decisión.


2. Marco Teórico

2.1 Toma de decisiones bajo incertidumbre

La toma de decisiones bajo incertidumbre ocurre cuando los resultados futuros no son conocidos con certeza, pero se pueden asignar probabilidades a distintos escenarios. En este tipo de problemas, se busca maximizar el beneficio esperado considerando todos los posibles resultados.


2.2 Árboles de decisión

Un árbol de decisión es una herramienta gráfica que representa decisiones secuenciales. Está compuesto por:

  • Nodos de decisión: puntos donde se elige una alternativa.
  • Nodos de probabilidad: representan eventos aleatorios.
  • Ramas: posibles resultados.
  • Payoffs: beneficios o costos asociados.

Los árboles permiten estructurar problemas complejos y evaluar cada alternativa mediante el cálculo del Valor Monetario Esperado (VME).


2.3 Valor Monetario Esperado (VME)

El VME es un criterio de decisión que combina probabilidades y resultados:

\[ VME = \sum p_i \cdot x_i \]

Donde: - \(p_i\) es la probabilidad del evento \(i\) - \(x_i\) es el resultado económico asociado

La mejor decisión es aquella que maximiza el VME.


2.4 Teorema de Bayes

El teorema de Bayes permite actualizar probabilidades iniciales (a priori) cuando se obtiene nueva información:

\[ P(A|B) = \frac{P(B|A)\cdot P(A)}{P(B)} \]

Donde: - \(P(A)\): probabilidad a priori - \(P(B|A)\): verosimilitud - \(P(A|B)\): probabilidad posterior

En el contexto empresarial, esto permite ajustar las probabilidades de escenarios de mercado después de recibir información de una consultora.


2.5 Valor Esperado de la Información (VEI)

El Valor Esperado de la Información mide el beneficio de contar con información adicional antes de tomar una decisión.

En particular, el Valor Esperado de la Información Imperfecta (VEII) se calcula como:

\[ VEII = VME_{con\ información} - VME_{sin\ información} \]

Este valor representa el monto máximo que una empresa estaría dispuesta a pagar por obtener dicha información.


3. Desarrollo

# ====================================================
# ÁRBOL BAYESIANO COMPLETO — TechParts S.A.
# Bayes integrado en árbol de decisión de 2 etapas
# ====================================================

# 1. CARGA DE LIBRERÍAS
# ----------------------------------------------------
library(ggplot2); library(tidyr); library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# 2. CONFIGURACIÓN DE DATOS (MATRIZ DE PAGOS Y PROBABILIDADES)
# ----------------------------------------------------
# Creamos la matriz de resultados (Payoffs). 
# Filas: Alternativas de inversión | Columnas: Estados del mercado (Bajo, Medio, Alto)
pagos <- matrix(c(
  -200000, 100000, 500000,  # Resultados para planta Grande
   -50000, 200000, 300000,  # Resultados para planta Mediana
   100000, 150000, 180000   # Resultados para planta Pequeña
), nrow=3, byrow=TRUE)

rownames(pagos) <- c("Grande", "Mediana", "Pequeña")

# Probabilidades "a priori" (lo que creemos antes de contratar a la consultora)
prior   <- c(0.20, 0.45, 0.35) 

# Probabilidades condicionales (Verosimilitud / Likelihood): 
# ¿Qué tan fiable es la consultora?
likel_F <- c(0.10, 0.40, 0.90) # P(Dice "Favorable" | Realidad del mercado)
likel_D <- 1 - likel_F         # P(Dice "Desfavorable" | Realidad del mercado)

# 3. PROCESAMIENTO BAYESIANO
# ----------------------------------------------------
# Función para actualizar nuestras probabilidades basándonos en el informe
actualizar <- function(prior, likel) {
  conj <- prior * likel           # Probabilidad conjunta (Numerador de Bayes)
  list(post = conj / sum(conj),   # Probabilidad a Posteriori (probabilidad revisada)
       P_E  = sum(conj))          # Probabilidad Total de que ocurra ese escenario (Denominador)
}

bF <- actualizar(prior, likel_F) # Probabilidades si el informe es Favorable
bD <- actualizar(prior, likel_D) # Probabilidades si el informe es Desfavorable

# 4. CÁLCULO DEL VALOR MONETARIO ESPERADO (VME)
# ----------------------------------------------------
# Función para evaluar cuál es la mejor planta dada una distribución de probabilidad (p)
vme_all <- function(p) {
  v <- pagos %*% p  # Multiplicación matricial: pondera cada fila por su probabilidad
  list(vme = as.vector(v), 
       mejor = rownames(pagos)[which.max(v)], # Nombre de la mejor opción
       max_vme = max(v))                      # Valor de la mejor opción
}

# Calculamos resultados para cada situación:
r_prior <- vme_all(prior)   # ¿Qué haríamos sin la consultora?
r_F     <- vme_all(bF$post) # ¿Qué haríamos si el reporte es Favorable?
r_D     <- vme_all(bD$post) # ¿Qué haríamos si el reporte es Desfavorable?

# VME con información imperfecta (Promedio de las mejores decisiones ponderado por Bayes)
vme_con_info <- bF$P_E * r_F$max_vme + bD$P_E * r_D$max_vme

# VEII: Valor Esperado de la Información Imperfecta
# Es la diferencia entre tener el estudio y no tenerlo.
veii <- vme_con_info - r_prior$max_vme

# 5. IMPRESIÓN DE RESULTADOS EN CONSOLA
# ----------------------------------------------------
cat("===== ÁRBOL BAYESIANO — TECHPARTS =====\n")
## ===== ÁRBOL BAYESIANO — TECHPARTS =====
cat(sprintf("Sin consultora → %s: $%s\n", 
    r_prior$mejor, format(round(r_prior$max_vme), big.mark=",")))
## Sin consultora → Mediana: $185,000
cat(sprintf("Si Favorable   → %s: $%s\n", 
    r_F$mejor, format(round(r_F$max_vme), big.mark=",")))
## Si Favorable   → Grande: $333,010
cat(sprintf("Si Desfavor.   → %s: $%s\n", 
    r_D$mejor, format(round(r_D$max_vme), big.mark=",")))
## Si Desfavor.   → Pequeña: $133,608
cat(sprintf("VME con info imperfecta: $%s\n", 
    format(round(vme_con_info), big.mark=",")))
## VME con info imperfecta: $236,300
cat(sprintf("VEII = $%s (máx a pagar por la consultora)\n", 
    format(round(veii), big.mark=",")))
## VEII = $51,300 (máx a pagar por la consultora)
# 6. GRÁFICO COMPARATIVO
# ----------------------------------------------------
# Preparamos los datos para visualizar cómo cambia el VME de cada planta
df_vme <- data.frame(
  Alternativa  = rownames(pagos),
  Sin_info     = r_prior$vme,
  Favorable    = r_F$vme,
  Desfavorable = r_D$vme
)

# Convertimos a formato largo para ggplot
df_long <- pivot_longer(df_vme, -Alternativa, 
                        names_to="Escenario", values_to="VME")

# Etiquetas legibles para el gráfico
df_long$Escenario <- factor(df_long$Escenario,
    levels=c("Sin_info","Favorable","Desfavorable"),
    labels=c("Sin info","Favorable","Desfavorable"))

# Generación del gráfico de barras
ggplot(df_long, aes(x=Alternativa, y=VME/1000, fill=Escenario)) +
  geom_col(position="dodge", width=0.65) + # Barras agrupadas
  geom_hline(yintercept=0, color="gray50") + # Línea del cero
  geom_text(aes(label=paste0("$", round(VME/1000), "k"), # Etiquetas de valor
                y=VME/1000 + ifelse(VME > 0, 7, -15)),
            position=position_dodge(0.65), size=2.8, fontface="bold") +
  scale_fill_manual(values=c("Sin info"="#3a7fbd", 
                              Favorable="#0f7a52", 
                              Desfavorable="#b0305a")) +
  labs(title="VME por Alternativa según Escenario de Información — TechParts",
       subtitle="La información bayesiana cambia cuál alternativa es óptima",
       x="Alternativa", y="VME (miles $)", fill="Escenario") +
  theme_minimal() + theme(legend.position="top")

# Árbol de Decisión (Referencia)
knitr::include_graphics("arbolimagen.png")

4. Interpretación de Resultados

A partir del modelo implementado, se evaluaron tres alternativas de inversión bajo tres escenarios de mercado (grande, mediano y pequeño), considerando probabilidades iniciales y probabilidades actualizadas mediante el teorema de Bayes.

En el escenario sin información adicional, se obtiene un VME óptimo asociado a una alternativa específica, la cual representa la mejor decisión basada únicamente en probabilidades a priori.

Sin embargo, al incorporar información proveniente de una consultora, se generan dos posibles escenarios:

En cada uno de estos casos, las probabilidades de los estados del mercado se actualizan, lo que modifica los VME de las alternativas. Como resultado:

El cálculo del VME con información imperfecta integra ambos escenarios ponderados por sus probabilidades, reflejando el beneficio esperado de contar con dicha información.

Finalmente, el Valor Esperado de la Información Imperfecta (VEII) indica cuánto mejora la decisión al disponer de información adicional. Este valor representa el monto máximo que la empresa debería pagar por contratar la consultora.

El gráfico complementa este análisis mostrando cómo varían los VME de cada alternativa en los diferentes escenarios, evidenciando cambios en la decisión óptima.


5. Conclusiones