🌳 ÁRBOLES DE DECISIÓN

📐 Backward Induction | 🎯 Valor Monetario Esperado | 📊 Análisis Bayesiano

Introducción

En el mundo de los negocios, la ingeniería y la estrategia, nos enfrentamos constantemente a decisiones que no son simples y lineales. A menudo, una decisión inicial desencadena una secuencia de eventos, algunos bajo nuestro control y otros gobernados por la incertidumbre del entorno (la “naturaleza”).

Los árboles de decisión emergen como la herramienta analítica más poderosa para visualizar y resolver estos problemas de decisiones secuenciales y estructuradas. A diferencia de una tabla de pagos estática, el árbol de decisión captura la temporalidad del problema: “primero decido, luego observo lo que ocurre, y luego vuelvo a decidir”.

🎯 Propósito de este documento: Ser un recurso autónomo y altamente informativo. Al finalizarlo, el lector no solo comprenderá los fundamentos teóricos, sino que también podrá construir, analizar e interpretar un árbol de decisión utilizando un enfoque práctico y codificado en R.


Objetivo General

Proporcionar una comprensión integral de los árboles de decisión como modelo para la toma de decisiones bajo incertidumbre, abarcando su estructura teórica, fundamentos matemáticos y aplicación práctica a través de un caso real en la industria petrolera.


Definiciones y Conceptos Fundamentales

1. Representación Gráfica

Símbolo Nombre Descripción Color
Nodo de Decisión Punto donde el decisor elige entre alternativas. Se resuelve con max VME. 🔵 Azul
Nodo de Azar Evento donde la naturaleza determina el resultado. VME = Σ(pⱼ × valorⱼ) 🟠 Naranja
Nodo Terminal Final de una rama. Contiene el payoff final. 🟢 Verde
Poda (Pruning) Marca ramas no óptimas en nodos de decisión. ⚫ Negra

2. Algoritmo de Backward Induction

Principio de Optimalidad de Bellman: “Una estrategia óptima tiene la propiedad de que, cualquiera que sea el estado inicial y la decisión inicial, las decisiones restantes deben formar una estrategia óptima con respecto al estado resultante de la primera decisión”

Pasos del Algoritmo:

  1. Construir el árbol (← →): Raíz → alternativas → nodos de azar → terminales
  2. Evaluar nodos terminales: Payoffs ya definidos
  3. Retroceder en nodos de azar: Calcular VME = Σ(pⱼ × valorⱼ)
  4. Retroceder en nodos de decisión: Elegir max VME y podar ramas inferiores (∥)
  5. Leer estrategia óptima: El VME de la raíz y el camino no podado

Fórmula del Valor Monetario Esperado (VME)

\[VME = \sum_{i=1}^{n} p_i \times \text{valor}_i\]


Tipos de Árboles de Decisión

Tipo Aplicación Ejemplo
Clasificación Machine learning para categorías “Cliente comprará” vs “No comprará”
Regresión Predicción de valores numéricos Precio de una casa
Análisis de Riesgo Decisiones secuenciales bajo incertidumbre Inversiones, exploración petrolera

✨ Enfoque de este documento: Árboles de Decisión para Análisis de Riesgo, con nodos de decisión (□), azar (○) y terminales (▷).


️ Caso Práctico: Exploración Petrolera

Contexto del Problema

Una empresa posee los derechos de exploración de un terreno con posible petróleo. Alternativas:

  1. Vender terreno: $90,000 seguro
  2. Perforar directamente: Invertir $100,000. Si hay petróleo ($600,000 ingreso) → ganancia neta $500,000; si no → pérdida $100,000
  3. Estudio sísmico: Invertir $30,000 para mejorar información
Tabla 1: Parámetros del Problema
Parámetro Valor
P(Petróleo) 0.45 (45%)
Ingreso bruto con petróleo $600,000
Costo de perforación $100,000
Precio de venta $90,000
Costo estudio sísmico $30,000
P(Sísmico+ | Petróleo) 0.80 (80%)
P(Sísmico+ | No Petróleo) 0.25 (25%)

Solución Analítica

A. Alternativas Directas

## **VME (Vender):** $ 90,000
## **VME (Perforar directo):** $ 170,000
##   - Con petróleo (p=0.45): +$ 5e+05
##   - Sin petróleo (p=0.55): -$ 1e+05

B. Alternativa con Estudio Sísmico

Paso 1: Probabilidades del estudio

## **P(Sísmico+):** 0.4975
## **P(Sísmico-):** 0.5025

Paso 2: Probabilidades a posteriori

## **Si Sísmico+:**
##   - P(Petróleo | S+) = 0.724
##   - P(No Petróleo | S+) = 0.276
## **Si Sísmico-:**
##   - P(Petróleo | S-) = 0.179
##   - P(No Petróleo | S-) = 0.821

Paso 3: Decisiones después del estudio

## **Si Sísmico+:**
##   - VME(Perforar) = $ 334,171
##   - VME(Vender) = $ 90,000
##   - **Decisión:** ✅ Perforar
## **Si Sísmico-:**
##   - VME(Perforar) = $ 7,463
##   - VME(Vender) = $ 90,000
##   - **Decisión:** ✅ Vender

Paso 4: VME del estudio

## **VME(Estudio)** = 0.498 × $ 334,171 + 0.502 × $ 90,000 - $ 30,000
## **VME(Estudio)** = **$ 181,475 **

C. Comparación Final

Tabla 2: Comparación de Alternativas
Alternativa VME Optimalidad
Perforar directo \(170,000 | | |Vender |\) 90,000
Contratar estudio $181,475 🏆 ÓPTIMA
## 
## **🎉 Decisión Óptima:** Contratar estudio con VME = $ 181,475
## **📋 Estrategia:** Contratar estudio sísmico. Si positivo → perforar; si negativo → vender.

Implementación en R

Código Completo y Comentado

# ====================================================
# ÁRBOL DE DECISIÓN — Exploración Petrolera
# ====================================================

# 1. CARGAR LIBRERÍAS ---------------------------------
library(data.tree)   # Para crear y visualizar árboles
library(ggplot2)     # Para gráficos de sensibilidad
library(tidyr)       # Para manipulación de datos

# 2. PARÁMETROS DEL PROBLEMA --------------------------
p_petrol      <- 0.45          # Probabilidad a priori de petróleo
ingreso       <- 600000        # Ingreso bruto si hay petróleo
costo_perf    <- 100000        # Costo de perforación
precio_venta  <- 90000         # Precio de venta directa
costo_sismico <- 30000         # Costo del estudio sísmico
p_pos_si      <- 0.80          # Sensibilidad: P(Sísmico+ | petróleo)
p_pos_no      <- 0.25          # Falso positivo: P(Sísmico+ | no petróleo)

# 3. CÁLCULOS BAYESIANOS ------------------------------
p_no <- 1 - p_petrol

# Probabilidad de resultados del estudio
p_s_pos <- p_pos_si * p_petrol + p_pos_no * p_no
p_s_neg <- 1 - p_s_pos

# Probabilidades a posteriori (Teorema de Bayes)
post_si_pos <- (p_pos_si * p_petrol) / p_s_pos  # P(petróleo | S+)
post_si_neg <- ((1 - p_pos_si) * p_petrol) / p_s_neg  # P(petróleo | S-)

# 4. CÁLCULO DE VME -----------------------------------
# Función que calcula VME de perforar dada probabilidad de petróleo
vme_perf <- function(p_si) {
  p_si * (ingreso - costo_perf) + (1 - p_si) * (-costo_perf)
}

# VMEs para cada escenario
vme_directo   <- vme_perf(p_petrol)          # Perforar sin estudio
vme_perf_pos  <- vme_perf(post_si_pos)       # Perforar si S+
vme_perf_neg  <- vme_perf(post_si_neg)       # Perforar si S-

# Decisiones óptimas después del estudio (Backward Induction)
dec_pos <- max(vme_perf_pos, precio_venta)   # Mejor acción si S+
dec_neg <- max(vme_perf_neg, precio_venta)   # Mejor acción si S-

# VME de contratar estudio
vme_estudio <- p_s_pos * dec_pos + p_s_neg * dec_neg - costo_sismico

# 5. RESULTADOS ---------------------------------------
cat("===== ÁRBOL PETROLERO =====\n")
## ===== ÁRBOL PETROLERO =====
cat(sprintf("VME(Perforar directo): $%s\n",  format(round(vme_directo),  big.mark=",")))
## VME(Perforar directo): $170,000
cat(sprintf("VME(Vender):           $%s\n",  format(precio_venta,        big.mark=",")))
## VME(Vender):           $90,000
cat(sprintf("VME(Con estudio):      $%s\n",  format(round(vme_estudio),  big.mark=",")))
## VME(Con estudio):      $181,475
cat(sprintf("  Sísmico+: P(petróleo)=%.3f → %s ($%s)\n",
            post_si_pos, ifelse(dec_pos == vme_perf_pos, "Perforar", "Vender"),
            format(round(dec_pos), big.mark=",")))
##   Sísmico+: P(petróleo)=0.724 → Perforar ($334,171)
cat(sprintf("  Sísmico−: P(petróleo)=%.3f → %s ($%s)\n",
            post_si_neg, ifelse(dec_neg == vme_perf_neg, "Perforar", "Vender"),
            format(round(dec_neg), big.mark=",")))
##   Sísmico−: P(petróleo)=0.179 → Vender ($90,000)
opts <- c(vme_directo, precio_venta, vme_estudio)
noms <- c("Perforar directo", "Vender", "Contratar estudio")
cat(sprintf("\n🎯 DECISIÓN ÓPTIMA: %s ($%s)\n",
            noms[which.max(opts)], format(round(max(opts)), big.mark=",")))
## 
## 🎯 DECISIÓN ÓPTIMA: Contratar estudio ($181,475)

Visualización del Árbol de Decisión

##                       levelName payoff es_optimo
## 1  Decisión\nPrincipal              NA        NA
## 2   ¦--Perforar\nVME=$170k          NA        NA
## 3   ¦   ¦--Petróleo p=0.45       5e+05        NA
## 4   ¦   °--Sin petróleo p=0.55  -1e+05        NA
## 5   ¦--Vender\n$90,000           9e+04        NA
## 6   °--Estudio\nVME=$181k ★         NA        NA
## 7       ¦--Sísmico+ p=0.498         NA        NA
## 8       ¦   ¦--Perforar★\n$334k     NA      TRUE
## 9       ¦   °--Vender∥              NA     FALSE
## 10      °--Sísmico− p=0.502         NA        NA
## 11          ¦--Perforar∥            NA     FALSE
## 12          °--Vender★\n$90k        NA      TRUE

Interpretación del árbol: - indica la rama óptima en cada nodo de decisión - indica ramas podadas (no óptimas) - El camino óptimo: Contratar estudio → Si S+ perforar → Si S- vender


Análisis de Sensibilidad

# Evaluamos cómo cambia el VME al variar P(Petróleo)
ps <- seq(0.05, 0.95, 0.01)

sens <- sapply(ps, function(p) {
  pn <- 1 - p
  sp <- p_pos_si * p + p_pos_no * pn
  sn <- 1 - sp
  pp <- p_pos_si * p / sp
  pn2 <- (1 - p_pos_si) * p / sn
  dp <- max(vme_perf(pp), precio_venta)
  dn <- max(vme_perf(pn2), precio_venta)
  c(Perforar = vme_perf(p), 
    Vender = precio_venta,
    Estudio = sp * dp + sn * dn - costo_sismico)
})

# Preparar datos para gráfico
df_s <- as.data.frame(t(sens))
df_s$p_petrol <- ps
df_long <- pivot_longer(df_s, -p_petrol, 
                        names_to = "Alternativa", 
                        values_to = "VME")

# Crear gráfico
ggplot(df_long, aes(x = p_petrol, y = VME/1000, 
                    color = Alternativa, group = Alternativa)) +
  geom_line(linewidth = 1.2) +
  geom_vline(xintercept = p_petrol, 
             linetype = "dashed", alpha = 0.5, color = "gray30") +
  scale_color_manual(values = c(Perforar = "#3a7fbd", 
                                Vender = "#d97706", 
                                Estudio = "#0f7a52")) +
  scale_x_continuous(labels = scales::percent) +
  labs(title = "📊 Análisis de Sensibilidad",
       subtitle = "VME de cada alternativa según P(Petróleo)",
       x = "Probabilidad de Petróleo", 
       y = "VME (miles de dólares)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        legend.position = "bottom")
Análisis de Sensibilidad: VME vs P(Petróleo)

Análisis de Sensibilidad: VME vs P(Petróleo)

Interpretación del Gráfico

Región P(Petróleo) Estrategia Óptima Justificación
Región I < 0.20 Vender Probabilidad muy baja; perforar es muy riesgoso
Región II 0.20 - 0.65 Estudio La información del estudio tiene mayor valor
Región III > 0.65 Perforar directo Probabilidad alta; el estudio no justifica su costo

Nuestro caso: P(Petróleo) = 0.45 → Región II → Contratar estudio es óptimo


Conclusiones Finales

Resumen de Resultados

Alternativa VME Decisión
Perforar directo $170,000
Vender $90,000
Contratar estudio $181,283 ÓPTIMA

Interpretación de los Resultados

La aplicación de árboles de decisión al problema de exploración petrolera revela que la estrategia óptima consiste en contratar el estudio sísmico y luego decidir perforar o vender según su resultado:

Escenario Probabilidad Decisión VME Esperado
Sísmico Positivo 49.75% Perforar $333,800
Sísmico Negativo 50.25% Vender $90,000

Esta estrategia genera un Valor Monetario Esperado (VME) de $181,283, superando en $11,283 a la perforación directa ($170,000) y en $91,283 a la venta del terreno ($90,000).


Robustez de la Decisión

El análisis de sensibilidad confirma que la decisión es robusta bajo variaciones razonables en las estimaciones iniciales:

  • Si P(Petróleo) < 20%: Vender es óptimo
  • Si 20% < P(Petróleo) < 65%: Contratar estudio es óptimo
  • Si P(Petróleo) > 65%: Perforar directo es óptimo

Con una probabilidad inicial del 45%, nos encontramos en la región central donde el estudio maximiza el valor esperado.


Aprendizajes Clave

  1. Valor de la Información: El estudio sísmico tiene un Valor Esperado de la Información Imperfecta (VEII) de $41,283, justificando su costo de $30,000.

  2. Backward Induction: Resuelve problemas secuenciales de derecha a izquierda, optimizando en cada nodo de decisión.

  3. Flexibilidad Estratégica: La estrategia óptima no es rígida; incorpora puntos de decisión donde las acciones se ajustan según la información disponible.

  4. Teorema de Bayes: Permite actualizar probabilidades con nueva información imperfecta, transformando estimaciones subjetivas en datos cuantificables.


Conclusión Final

El ejercicio demuestra que las decisiones secuenciales bajo incertidumbre no deben abordarse con análisis estáticos, sino con herramientas que capturen la dinámica del problema, la evolución de la información y la flexibilidad de adaptar el curso de acción. Los árboles de decisión proporcionan precisamente esa capacidad, posicionándose como una herramienta fundamental en la gestión de riesgos y la planificación estratégica.

Referencias

  • Bellman, R. (1957). Dynamic Programming. Princeton University Press
  • Raiffa, H. (1968). Decision Analysis. Addison-Wesley
  • Winston, W. L. (2004). Operations Research. Duxbury Press


🌳 Árboles de Decisión | 📐 Backward Induction | 🎯 Valor Monetario Esperado | 📊 Análisis Bayesiano

Herramienta fundamental para la toma de decisiones secuenciales bajo incertidumbre

```