1. Introducción

En este análisis de ingeniería de petróleos, evaluamos la relación lineal entre la Profundidad Vertical Verdadera (TVD) y la Profundidad Total (TD) de los pozos. Se utiliza una muestra aleatoria para validar la consistencia del modelo y realizar estimaciones puntuales de profundidad.

2. Carga de datos

# Librerías
library(dplyr)
library(ggplot2)

# Cargar datos

datos <- read.csv("Petroleo_Ontaro.csv",
                  header = TRUE,
                  dec = ",",
                  sep = ";")

3. Depuración de datos

datos$TRUE_VERTICAL_DEPTH <- as.numeric(
  gsub(",", ".", as.character(datos$TRUE_VERTICAL_DEPTH))
)

datos$TOTAL_DEPTH <- as.numeric(
  gsub(",", ".", as.character(datos$TOTAL_DEPTH))
)

datos_limpios <- datos %>%
  filter(!is.na(TRUE_VERTICAL_DEPTH),
         !is.na(TOTAL_DEPTH),
         TRUE_VERTICAL_DEPTH > 0,
         TOTAL_DEPTH > 0)

4. Definición de variables

X <- datos_limpios$TRUE_VERTICAL_DEPTH
Y <- datos_limpios$TOTAL_DEPTH

cat("Variable independiente (X): TRUE_VERTICAL_DEPTH\n")
## Variable independiente (X): TRUE_VERTICAL_DEPTH
cat("Variable dependiente (Y): TOTAL_DEPTH\n")
## Variable dependiente (Y): TOTAL_DEPTH

5. Conjetura

Se plantea que existe una relación lineal entre la profundidad vertical verdadera y la profundidad total del pozo. Matemáticamente, esta relación se expresa como:

\[ Y = \beta_0 + \beta_1 X \]

donde:

  • \(Y\) es la profundidad total del pozo (TOTAL_DEPTH)
  • \(X\) es la profundidad vertical verdadera (TRUE_VERTICAL_DEPTH)
  • \(\beta_0\) es el intercepto del modelo
  • \(\beta_1\) es la pendiente, que representa el cambio esperado en \(Y\) por cada unidad adicional de \(X\)

6. Parámetros del modelo

# Selección de muestra aleatoria
set.seed(123)
muestra <- datos_limpios %>% sample_n(300)

# Modelo lineal
modelo <- lm(TOTAL_DEPTH ~ TRUE_VERTICAL_DEPTH, data = muestra)

# Parámetros
intercepto <- coef(modelo)[1]
pendiente  <- coef(modelo)[2]
r_val      <- cor(muestra$TRUE_VERTICAL_DEPTH, muestra$TOTAL_DEPTH)
r2_val     <- summary(modelo)$r.squared

cat("Modelo: Y =", round(intercepto, 2), "+",
    round(pendiente, 4), "* X\n")
## Modelo: Y = -17.21 + 1.0804 * X
cat("R =", round(r_val, 4), "\n")
## R = 0.9134
cat("R² =", round(r2_val, 4), "\n")
## R² = 0.8343

7. Test

cat("El valor de R² indica el grado de ajuste del modelo lineal.\n")
## El valor de R² indica el grado de ajuste del modelo lineal.
if(r2_val > 0.7){
  cat("La relación es fuerte.\n")
} else if(r2_val > 0.4){
  cat("La relación es moderada.\n")
} else {
  cat("La relación es débil.\n")
}
## La relación es fuerte.

8. Visualización del Modelo

# Definimos el punto de estimación para graficar
valor_estimacion <- 500
estimacion <- intercepto + pendiente * valor_estimacion

ggplot(muestra, aes(x = TRUE_VERTICAL_DEPTH, y = TOTAL_DEPTH)) +
  geom_point(color = "dodgerblue4", size = 2.5, alpha = 0.5) +
  geom_smooth(method = "lm", color = "red", linewidth = 1.2, se = FALSE) +
  annotate("point",
           x = valor_estimacion,
           y = estimacion,
           color = "green",
           size = 5) +
  annotate("text",
           x = valor_estimacion,
           y = estimacion,
           label = "Estimación",
           vjust = -1,
           color = "darkgreen") +
  labs(
    title = "Regresión Lineal Simple",
    subtitle = paste("R² =", round(r2_val, 3)),
    x = "TRUE_VERTICAL_DEPTH",
    y = "TOTAL_DEPTH"
  ) +
  theme_minimal()

9. Estimación

# Reutilizamos los mismos valores para mostrar la estimación
cat("Si TRUE_VERTICAL_DEPTH =", valor_estimacion,
    "→ TOTAL_DEPTH estimado =", round(estimacion, 2), "\n")
## Si TRUE_VERTICAL_DEPTH = 500 → TOTAL_DEPTH estimado = 523.01

10. Conclusión

En el análisis de pozos petroleros se observa una relación lineal positiva entre la Profundidad Vertical Verdadera (TRUE_VERTICAL_DEPTH) y la Profundidad Total (TOTAL_DEPTH). El modelo se describe mediante la ecuación Y = -17.21 + 1.0804X. El modelo explica aproximadamente 83.43 % de la variabilidad de la profundidad total, lo cual indica una fuerte asociación entre ambas variables. A partir del modelo, se estima que para un valor de TRUE_VERTICAL_DEPTH = 500, la Profundidad Total estimada es aproximadamente 523.01.