Este análisis se centra en un subconjunto específico de datos: Pozos de Gas Privado en el condado de Lincoln.
Dado el comportamiento de los datos, se aplica un modelo de regresión logarítmica (\(y = a + b \cdot \ln(x)\)) para explicar la relación entre la elevación del terreno y la profundidad del pozo.
library(ggplot2)
library(dplyr)
# Carga de datos
# Asegúrate de que el archivo .csv esté en la carpeta del proyecto
datos <- read.csv("Petroleo_Ontaro.csv",
header = TRUE, sep = ";", dec = ".", fill = TRUE)
# Limpieza y conversión de formatos (asegurando números correctos)
datos$TOTAL_DEPTH <- as.numeric(gsub(",", ".", as.character(datos$TOTAL_DEPTH)))
datos$GROUND_ELEVATION <- as.numeric(gsub(",", ".", as.character(datos$GROUND_ELEVATION)))
# Filtrado del subconjunto (Lincoln + Private Gas Well)
datos_log <- datos %>%
filter(COUNTY == "Lincoln",
WELL_TYPE == "Private Gas Well",
!is.na(GROUND_ELEVATION), !is.na(TOTAL_DEPTH),
GROUND_ELEVATION > 0, TOTAL_DEPTH > 0)Generamos el modelo utilizando la transformación logarítmica de la variable independiente (Elevación).
# Fórmula matemática: y = a + b * ln(x)
modelo_log <- lm(TOTAL_DEPTH ~ log(GROUND_ELEVATION), data = datos_log)
# Extracción de coeficientes para el reporte
coeficientes <- coef(modelo_log)
a <- round(coeficientes[1], 2) # Intercepto
b <- round(coeficientes[2], 2) # Pendiente (asociada al logaritmo)
r2 <- summary(modelo_log)$r.squaredLa ecuación resultante es: \[ \text{Profundidad} = 3480.76 + -637.79 \cdot \ln(\text{Elevación}) \]
A continuación, visualizamos los datos reales junto con la curva de ajuste logarítmico.
# Creamos una secuencia de datos para dibujar la línea suave
puntos_prediccion <- data.frame(
GROUND_ELEVATION = seq(min(datos_log$GROUND_ELEVATION),
max(datos_log$GROUND_ELEVATION),
length.out = 100)
)
# Predecimos los valores de Y para esa secuencia
puntos_prediccion$TOTAL_DEPTH <- predict(modelo_log, newdata = puntos_prediccion)
# Gráfico con ggplot2
ggplot(datos_log, aes(x = GROUND_ELEVATION, y = TOTAL_DEPTH)) +
# Puntos reales
geom_point(color = "darkgreen", alpha = 0.6, size = 3) +
# Curva Logarítmica (usando los puntos calculados)
geom_line(data = puntos_prediccion, aes(y = TOTAL_DEPTH), color = "blue", size = 1.5) +
labs(title = "Regresión Logarítmica (Lincoln - Gas Privado)",
subtitle = paste("Calidad de ajuste R² =", round(r2, 4)),
x = "Elevación del Terreno (m)",
y = "Profundidad del Pozo (m)") +
theme_minimal() +
theme(plot.title = element_text(face = "bold", size = 14))Para ejemplificar el modelo, calculamos la profundidad estimada para una elevación representativa (promedio de la zona).
# Tomamos la media de elevación de este condado
elevacion_media <- mean(datos_log$GROUND_ELEVATION, na.rm = TRUE)
# Creamos el dato para predecir
nueva_obs <- data.frame(GROUND_ELEVATION = elevacion_media)
prediccion <- predict(modelo_log, newdata = nueva_obs)
valor_estimado <- round(prediccion, 2)Cálculo: Para una elevación media de 185.46 m, el modelo logarítmico estima una profundidad de 149.71 m.
El análisis del subconjunto “Lincoln - Private Gas Well” revela una relación no lineal significativa.