1 Configuración y Carga de Datos

archivo <- "tabela_de_pocos_janeiro_2018.xlsx"

tryCatch({
  datos <- read_excel(archivo)
}, error = function(e) {
  stop("Error: No se encuentra el archivo Excel. Verifique la ruta.")
})

2 Extracción y Depuración de Variables

Se aplica un modelo de crecimiento exponencial sobre los datos agrupados para reducir el ruido y encontrar la tendencia de la cuenca.

Se estableció la Lámina de Agua como variable independiente (\(x\)) por ser el condicionante ambiental primario que define el tipo de operación (aguas someras vs. profundas). La Profundidad de Perforación actúa como variable dependiente (\(y\)), ya que representa la longitud total de perforación requerida para operar en ese entorno.

Esta relación modela el crecimiento de la complejidad técnica: a medida que aumenta la profundidad del mar, la longitud del pozo tiende a crecer de forma acelerada (exponencial) para compensar la distancia vertical y las trayectorias direccionales necesarias desde la plataforma.

  • Variable Independiente (X): Lámina de Agua (Agrupada cada 50m).
  • Variable Dependiente (Y): Profundidad de Perforación Promedio (m).
# Limpieza Inicial
datos_raw <- datos %>%
  select(LAMINA_D_AGUA_M, PROFUNDIDADE_SONDADOR_M) %>%
  mutate(
    x_raw = abs(as.numeric(str_replace(as.character(LAMINA_D_AGUA_M), ",", "."))),
    y_raw = abs(as.numeric(str_replace(as.character(PROFUNDIDADE_SONDADOR_M), ",", ".")))
  ) %>%
  filter(!is.na(x_raw) & !is.na(y_raw) & x_raw > 0 & y_raw > 0)

3 Análisis Visual de Datos Crudos

datos_plot <- datos_raw %>% filter(y_raw < 15000)

par(mar = c(5, 5, 4, 2))
color_trans <- rgb(0.2, 0.6, 0.86, 0.4) 

plot(datos_plot$x_raw, datos_plot$y_raw,
     main = "Gráfica N°1: Dispersión de Prof. de Perforación en función de la Lámina de Agua",
     xlab = "Lámina de Agua (m)",
     ylab = "Profundidad de Perforación (m)",
     col = color_trans, pch = 16, cex = 0.6, frame.plot = FALSE)
grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")

4 Aplicación de Binning

Debido a la dispersión observada en la Gráfica N°1, se aplica Binning para reducir el ruido y encontrar la tendencia de la cuenca.

# Agrupamiento
datos_model <- datos_raw %>%
  mutate(x_bin = round(x_raw / 50) * 50) %>% 
  group_by(x_bin) %>%
  summarise(
    y = mean(y_raw, na.rm = TRUE), 
    conteo = n()
  ) %>%
  rename(x = x_bin) %>%
  filter(conteo >= 3) 

# Limpieza de Outliers 
lim_y <- quantile(datos_model$y, c(0.05, 0.95))
datos_model <- datos_model %>%
  filter(y >= lim_y[1] & y <= lim_y[2])

x <- datos_model$x
y <- datos_model$y

5 Análisis Gráfico (Tendencia Agrupada)

par(mar = c(5, 5, 4, 2))
plot(x, y,
     main = "Gráfica N°2: Perfil de Prof. de Perforación Promedio en función de la Lámina de Agua",
     xlab = "Lámina de Agua Agrupada (m)",
     ylab = "Profundidad Perforación Promedio (m)",
     col = "#3498DB", pch = 16, cex = 1.2, frame.plot = FALSE)
grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")
axis(1); axis(2)

6 Modelo Exponencial

Se plantea un modelo exponencial: \[y = a \cdot e^{bx}\] Linealización: \(\ln(y) = \ln(a) + bx\)

# Ajuste Exponencial 
modelo_exp <- lm(log(y) ~ x)

7 Gráfica del Modelo con Intervalos de Confianza

Se presenta el ajuste del modelo incluyendo la banda de incertidumbre estadística (Intervalo de Confianza del 95%).

par(mar = c(5, 5, 4, 2))
plot(x, y,
     main = "Gráfica N°3: Modelo Exponencial: Prof. de Perforación en función de la Lámina de Agua",
     xlab = "Lámina de Agua Agrupada (m)",
     ylab = "Profundidad Perforación Promedio (m)",
     col = "#3498DB", pch = 16, cex = 1.0, frame.plot = FALSE)

grid(nx = NULL, ny = NULL, col = "#D7DBDD", lty = "dotted")

x_seq <- seq(min(x), max(x), length.out = 500)

pred_log <- predict(modelo_exp, list(x = x_seq), interval = "confidence", level = 0.95)


y_pred_fit <- exp(pred_log[, "fit"])
y_pred_lwr <- exp(pred_log[, "lwr"])
y_pred_upr <- exp(pred_log[, "upr"])

# Intervalo de Confianza
polygon(c(x_seq, rev(x_seq)), 
        c(y_pred_lwr, rev(y_pred_upr)),
        col = rgb(0.5, 0.5, 0.5, 0.2), border = NA) 

lines(x_seq, y_pred_fit, col = "#E74C3C", lwd = 3)

legend("topleft", legend = c("Datos (Promedios)", "Modelo Exponencial", "I.C. 95%"), 
       col = c("#3498DB", "#E74C3C", "gray"), 
       pch = c(16, NA, 15), lwd = c(NA, 3, NA), pt.cex = c(1, NA, 2), bty = "n")

8 Resultados y Ecuación

8.1 Bondad de Ajuste

cat(paste0("**Coeficiente de Determinación ($R^2$):** ", round(r2, 4), " (", round(r2*100, 2), "%)<br>"))

Coeficiente de Determinación (\(R^2\)): 0.8258 (82.58%)

cat(paste0("**Correlación del modelo linealizado (r):** ", round(r, 4), "*"))

Correlación del modelo linealizado (r): 0.9087*

8.2 Ecuación Matemática

cat(paste0("La ecuación resultante es: ", ecuacion_txt_latex))

La ecuación resultante es: \[y = 2913.1272 \cdot e^{0.00022x}\]

9 Tabla Resumen del Modelo

tabla <- data.frame(
  Variable = c("Lámina de Agua", "Prof. Perforación"),
  Tipo = c("Independiente (X)", "Dependiente (Y)"),
 
  R2 = c(paste0(round(r2, 4)), ""),
  Intercepto_a = c(sprintf("%.4f", a), ""),      
  Coeficiente_b = c(sprintf("%.5f", b), ""),      
  Ecuacion = c(ecuacion_txt_simple, "")
)

tabla %>%
  gt() %>%
  tab_header(
    title = md("**RESUMEN DEL MODELO EXPONENCIAL**"),
    subtitle = "Parámetros y Bondad de Ajuste"
  ) %>%
  tab_source_note(source_note = "Fuente: Grupo 3") %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = list(cell_fill(color = "#2C3E50"), cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style = list(cell_fill(color = "#ECF0F1"), cell_text(weight = "bold", color = "#2C3E50")),
    locations = cells_column_labels()
  ) %>%
  tab_options(
    table.border.top.color = "#2C3E50",
    table.border.bottom.color = "#2C3E50",
    data_row.padding = px(8)
  )
RESUMEN DEL MODELO EXPONENCIAL
Parámetros y Bondad de Ajuste
Variable Tipo R2 Intercepto_a Coeficiente_b Ecuacion
Lámina de Agua Independiente (X) 0.8258 2913.1272 0.00022 y = 2913.1272 * e^(0.00022x)
Prof. Perforación Dependiente (Y)
Fuente: Grupo 3

10 Conclusiones

texto_conclusion <- paste0(
  "Entre la lámina de agua y la profundidad de perforación existe una relación de tipo **exponencial**, ",
  "explicada por un coeficiente de determinación **$R^2$ de ", round(r2, 4), "**.<br><br>",
  "La ecuación matemática del modelo es:<br>", ecuacion_txt_latex, "<br><br>",
  "Por ejemplo, para una lámina de agua de **", round(x_ejemplo, 2), " m**, ",
  "se estima una profundidad de perforación de **", round(y_est, 2), " m**."
)

cat(texto_conclusion)

Entre la lámina de agua y la profundidad de perforación existe una relación de tipo exponencial, explicada por un coeficiente de determinación \(R^2\) de 0.8258.

La ecuación matemática del modelo es:
\[y = 2913.1272 \cdot e^{0.00022x}\]

Por ejemplo, para una lámina de agua de 1403.92 m, se estima una profundidad de perforación de 3945.85 m.