1. Introducción

En este reporte exploramos una relación no lineal entre la Profundidad Total y la Latitud de los pozos. Utilizamos un Modelo de Regresión Potencial de la forma \(Y = a \cdot X^b\).

Para lograr esto, aplicamos una transformación logarítmica a ambas variables, lo que permite linealizar la relación y calcular los coeficientes del modelo.

2. Procesamiento de Datos

Implementamos una limpieza rigurosa de la variable latitud mediante una función personalizada.

# 1. CARGAR DATOS
# Asegúrate de que el archivo esté en la misma carpeta que tu .Rmd
datos <- read.csv("Petroleo_Ontaro.csv", header = TRUE, sep = ";", stringsAsFactors = FALSE)

# 2. LIMPIEZA (Función personalizada)
clean_lat <- function(val) {
  val <- as.character(val)
  val <- gsub("\\.", "", val) 
  num <- as.numeric(val)
  if (is.na(num)) return(NA)
  if (num == 0) return(0)
  while (abs(num) > 90) { num <- num / 10 }
  return(num)
}

# Aplicar limpieza y conversiones
datos$SURFACE_LATITUDE_83 <- sapply(datos$SURFACE_LATITUDE_83, clean_lat)
datos$TOTAL_DEPTH <- as.numeric(gsub(",", ".", as.character(datos$TOTAL_DEPTH)))

# Filtrar datos válidos (Latitud entre 40 y 60, Profundidad > 0)
datos_validos <- subset(datos, TOTAL_DEPTH > 0 & SURFACE_LATITUDE_83 > 40 & SURFACE_LATITUDE_83 < 60)

# Definir variables X e Y
x <- datos_validos$TOTAL_DEPTH      # Profundidad
y <- datos_validos$SURFACE_LATITUDE_83 # Latitud

3. Modelo Matemático

Linealizamos el modelo potencial aplicando logaritmos naturales: \(\ln(Y) = \ln(a) + b \cdot \ln(X)\).

# Transformación Logarítmica
x1 <- log(x)
y1 <- log(y)

# Ajuste del modelo lineal sobre los logaritmos
regresionPotencial <- lm(y1 ~ x1)

# Recuperación de los parámetros originales
b <- coef(regresionPotencial)[2]    # La pendiente en log-log es el exponente b
a <- exp(coef(regresionPotencial)[1]) # El exponente del intercepto es a

# Bondad de ajuste (R^2) sobre el espacio logarítmico
r2 <- summary(regresionPotencial)$r.squared

Ecuación del Modelo: \[ Latitud = 44.53 \cdot (Profundidad)^{-0.00667} \]

4. Visualización Gráfica

A continuación se presenta el ajuste de la curva potencial sobre los datos dispersos.

# Ajustamos márgenes
par(mar = c(4.5, 4.5, 3, 1))

# A) Dibujar los puntos
plot(x, y, 
     col = rgb(0, 0.5, 0.5, 0.4), 
     pch = 16, 
     main = "Regresión Potencial: Latitud vs Profundidad",
     xlab = "Profundidad (m)", 
     ylab = "Latitud (grados)",
     ylim = c(40, 48),    
     xlim = c(0, 5000),
     cex.main = 0.9,
     las = 1)

# B) Calcular la línea de tendencia (Curva Potencial)
# Creamos una secuencia de puntos para suavizar la curva
x_linea <- seq(from = 10, to = 5000, length.out = 500)
y_linea <- a * x_linea^b

# C) Dibujar la línea roja sobre el gráfico
lines(x_linea, y_linea, col = "red", lwd = 3)

# D) Leyenda con la ecuación
legend("topright", 
       legend = paste("y =", round(a, 2), "* x ^", round(b, 5)),
       col = "red", lwd = 3, bty = "n", cex = 0.8)

# E) Rejilla de fondo
grid()

5. Estimación

Realizamos una estimación específica para una profundidad de 3850 metros.

val_x <- 3850
pred_y <- a * val_x^b

6. Conclusion

Se observa una relación no lineal entre la Profundidad Total y la Latitud, la cual se ajusta adecuadamente mediante un modelo de regresión potencial. La transformación logarítmica permitió linealizar la relación y estimar los parámetros del modelo Y = aX^b. El exponente estimado (b ≈ -0.00667) indica una relación inversa de muy baja magnitud, evidenciando que la latitud disminuye ligeramente a medida que aumenta la profundidad. Asimismo, para una profundidad de 3850 metros, se estimó una latitud aproximada de 42.14°, confirmando la utilidad del modelo para realizar proyecciones dentro del rango observado