El presente análisis evalúa la relación entre la elevación del terreno y la latitud geográfica de pozos petroleros, con el objetivo de identificar tendencias espaciales mediante un modelo de regresión polinómica.
library(dplyr)
library(ggplot2)
datos <- read.csv(
"Petroleo_Ontaro.csv",
sep = ";",
header = TRUE,
stringsAsFactors = FALSE
)
clean_lat <- function(val) {
val <- as.character(val)
val <- gsub("\\.", "", val)
num <- as.numeric(val)
if (is.na(num) || num == 0) return(NA)
while (abs(num) > 90) {
num <- num / 10
}
return(num)
}
df_limpio <- datos %>%
mutate(
lat = sapply(SURFACE_LATITUDE_83, clean_lat),
elev = as.numeric(GROUND_ELEVATION)
) %>%
filter(
!is.na(lat),
!is.na(elev),
lat > 42, lat < 46,
elev > 150, elev < 400
) %>%
mutate(elev_bin = round(elev / 10) * 10) %>%
group_by(elev_bin) %>%
summarise(lat_prom = mean(lat), .groups = "drop")
head(df_limpio)
## # A tibble: 6 × 2
## elev_bin lat_prom
## <dbl> <dbl>
## 1 150 43.7
## 2 160 43.2
## 3 170 42.5
## 4 180 42.8
## 5 190 42.7
## 6 200 42.8
cat("Variable independiente (X): Elevación del terreno (elev_bin)\n")
## Variable independiente (X): Elevación del terreno (elev_bin)
cat("Variable dependiente (Y): Latitud promedio (lat_prom)\n")
## Variable dependiente (Y): Latitud promedio (lat_prom)
Se plantea que la latitud promedio de los pozos petroleros puede ser estimada a partir de la elevación del terreno mediante un modelo polinómico de cuarto grado. La ecuación obtenida representa una relación no lineal, lo que sugiere que los cambios en elevación influyen de forma compleja en la distribución espacial de los pozos. El valor del coeficiente de correlación obtenido respalda la capacidad predictiva del modelo dentro del rango analizado.
\[y = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \beta_4 x^4 + \epsilon\]Donde:\(y\): Latitud Promedio.\(x\): Elevación del terreno (bin 10m).
modelo_poli <- lm(
lat_prom ~ poly(elev_bin, 4, raw = TRUE),
data = df_limpio
)
R <- cor(df_limpio$lat_prom, predict(modelo_poli))
coef <- coef(modelo_poli)
a <- coef[1]; b <- coef[2]; c <- coef[3]; d <- coef[4]; e <- coef[5]
ecuacion <- paste0(
"y = ", round(a,5), " + ",
round(b,5), "x + ",
round(c,5), "x² + ",
round(d,5), "x³ + ",
round(e,5), "x⁴"
)
cat("Correlación (R):", round(R,3), "\n")
## Correlación (R): 0.887
cat("Ecuación del modelo:\n", ecuacion, "\n")
## Ecuación del modelo:
## y = 80.71174 + -0.58566x + 0.00327x² + -1e-05x³ + 0x⁴
if (abs(R) > 0.7) {
cat("El modelo presenta una relación fuerte entre las variables.\n")
} else if (abs(R) > 0.4) {
cat("El modelo presenta una relación moderada entre las variables.\n")
} else {
cat("El modelo presenta una relación débil entre las variables.\n")
}
## El modelo presenta una relación fuerte entre las variables.
# Punto a predecir para la gráfica
val_a_predecir <- 300
prediccion <- predict(
modelo_poli,
newdata = data.frame(elev_bin = val_a_predecir)
)
# Curva de predicción
x_curva <- seq(
min(df_limpio$elev_bin),
max(df_limpio$elev_bin),
length.out = 300
)
df_curva <- data.frame(elev_bin = x_curva)
df_curva$y_pred <- predict(modelo_poli, newdata = df_curva)
ggplot(df_limpio, aes(x = elev_bin, y = lat_prom)) +
geom_point(color = "steelblue", size = 3, alpha = 0.6) +
geom_line(
data = df_curva,
aes(x = elev_bin, y = y_pred),
color = "firebrick1",
size = 1.3
) +
geom_point(
aes(x = val_a_predecir, y = prediccion),
color = "gold",
size = 5,
shape = 18
) +
annotate(
"text",
x = val_a_predecir,
y = prediccion,
label = paste("Estimación:", round(prediccion, 2)),
hjust = -0.2,
vjust = -0.6,
color = "darkgoldenrod",
fontface = "bold"
) +
labs(
title = "Regresión Polinómica (Grado 4)",
subtitle = paste("Modelo ajustado | R =", round(R, 3)),
x = "Elevación del Terreno (bins de 10 m)",
y = "Latitud Promedio (°)"
) +
theme_minimal()
cat("Para una elevación de", val_a_predecir,
"m, la latitud estimada es:", round(prediccion, 4), "\n")
## Para una elevación de 300 m, la latitud estimada es: 43.5208
En el análisis de regresión polinómica se observa una relación no lineal entre la elevación del terreno (elev_bin) y la latitud promedio de los pozos petroleros (lat_prom). El modelo se describe mediante la ecuación y = 80.71174 − 0.58566x + 0.00327x² − 0.00001x³ + 0x⁴, con un coeficiente de correlación R = 0.887, lo cual indica una fuerte asociación entre ambas variables. A partir del modelo, se estima que para una elevación de 300 m, la latitud promedio estimada es aproximadamente 43.5208°.