CASO REAL 1 — INDUSTRIA PETROLERA Exploración Petrolera — ¿Perforar, Vender o Hacer Estudio Sísmico? Una empresa posee un terreno que puede contener petróleo. Tiene tres opciones: Vender el terreno ahora por $90,000, Perforar directamente por $100,000 de inversión (si hay petróleo gana $600,000; si no, pierde los $100,000), o Contratar un estudio sísmico por $30,000 (que predice con cierta exactitud si hay petróleo). Probabilidad previa: P(petróleo) = 0.45.
# 2. Librerías
library(data.tree)
## Warning: package 'data.tree' was built under R version 4.5.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(tidyr)
library(scales)
library(DiagrammeR)
## Warning: package 'DiagrammeR' was built under R version 4.5.3
p_petrol <- 0.45
ingreso <- 600000
costo_perf <- 100000
precio_venta <- 90000
costo_sismico <- 30000
p_pos_si <- 0.80
p_pos_no <- 0.25
p_no <- 1 - p_petrol
p_s_pos <- p_pos_si*p_petrol + p_pos_no*p_no
p_s_neg <- 1 - p_s_pos
post_si_pos <- (p_pos_si * p_petrol) / p_s_pos
post_si_neg <- ((1-p_pos_si) * p_petrol) / p_s_neg
post_si_pos
## [1] 0.7236181
post_si_neg
## [1] 0.1791045
vme_perf <- function(p_si){
p_si*(ingreso-costo_perf) + (1-p_si)*(-costo_perf)
}
vme_directo <- vme_perf(p_petrol)
vme_perf_pos <- vme_perf(post_si_pos)
vme_perf_neg <- vme_perf(post_si_neg)
dec_pos <- max(vme_perf_pos, precio_venta)
dec_neg <- max(vme_perf_neg, precio_venta)
vme_estudio <- p_s_pos*dec_pos + p_s_neg*dec_neg - costo_sismico
vme_directo
## [1] 170000
precio_venta
## [1] 90000
vme_estudio
## [1] 181475
cat("===== RESULTADOS =====\n")
## ===== RESULTADOS =====
cat("Perforar:", round(vme_directo), "\n")
## Perforar: 170000
cat("Vender:", precio_venta, "\n")
## Vender: 90000
cat("Estudio:", round(vme_estudio), "\n")
## Estudio: 181475
opts <- c(vme_directo, precio_venta, vme_estudio)
nombres <- c("Perforar", "Vender", "Estudio")
cat("Mejor decisión:", nombres[which.max(opts)])
## Mejor decisión: Estudio
Interpretación El VME permite elegir la mejor alternativa bajo incertidumbre. El estudio sísmico mejora la toma de decisiones.
arbol <- Node$new("Decisión Principal")
# Perforar
r1 <- arbol$AddChild("Perforar")
n1 <- r1$AddChild("Petróleo")
n1$payoff <- ingreso - costo_perf
n2 <- r1$AddChild("No petróleo")
n2$payoff <- -costo_perf
# Vender
v <- arbol$AddChild("Vender")
v$payoff <- precio_venta
# Estudio
r3 <- arbol$AddChild("Estudio")
sp <- r3$AddChild("Sísmico +")
sp1 <- sp$AddChild("Perforar")
sp1$es_optimo <- TRUE
sp2 <- sp$AddChild("Vender")
sp2$es_optimo <- FALSE
sn <- r3$AddChild("Sísmico -")
sn1 <- sn$AddChild("Perforar")
sn1$es_optimo <- FALSE
sn2 <- sn$AddChild("Vender")
sn2$es_optimo <- TRUE
print(arbol, "payoff", "es_optimo")
## levelName payoff es_optimo
## 1 Decisión Principal NA NA
## 2 ¦--Perforar NA NA
## 3 ¦ ¦--Petróleo 5e+05 NA
## 4 ¦ °--No petróleo -1e+05 NA
## 5 ¦--Vender 9e+04 NA
## 6 °--Estudio NA NA
## 7 ¦--Sísmico + NA NA
## 8 ¦ ¦--Perforar NA TRUE
## 9 ¦ °--Vender NA FALSE
## 10 °--Sísmico - NA NA
## 11 ¦--Perforar NA FALSE
## 12 °--Vender NA TRUE
library(DiagrammeR)
# Convertir data.tree → formato DiagrammeR
gr <- ToDiagrammeRGraph(arbol)
# Renderizar árbol
render_graph(gr)
Visualización clara del árbol de decisión con las opciones y ramas. Mejora la comunicación del análisis.
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
)
})
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")
ggplot(df_long,
aes(x=p_petrol, y=VME/1000, color=Alternativa)) +
geom_line(linewidth=1.2) +
geom_vline(xintercept=p_petrol, linetype="dashed") +
scale_x_continuous(labels=percent) +
labs(title="Sensibilidad del VME",
x="Probabilidad de petróleo",
y="VME (miles)") +
theme_minimal()
Conclusión La mejor decisión maximiza el VME. El estudio sísmico reduce incertidumbre. El enfoque bayesiano mejora decisiones. El análisis de sensibilidad valida la robustez.