#=========================ENCABEZADO================================
# TEMA: REGRESION EXPONENCIAL
# AUTOR: GRUPO 3
# FECHA: 03-2026
#===================================================================
library(dplyr)
library(knitr)
library(gt)
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, sep = ";", dec = ",")
Tener una plataforma de perforación más grande permite instalar mejores equipos y hacer varios pozos desde un mismo sitio. Esto hace que el espacio se aproveche al máximo, provocando que la producción y el flujo de gas se disparen con muchísima fuerza a medida que aumenta el tamaño del terreno.
# Extraer variables
area_pozo <- as.numeric(datos$Area.of.well.pads)
produccion <- as.numeric(datos$Total.gas.production.by.2023)
# Generamos TPV ORIGINAL
TPV_sin_ordenar <- data.frame(area_pozo = area_pozo, produccion = produccion)
TPV_sin_ordenar <- na.omit(TPV_sin_ordenar)
TPV_sin_ordenar <- TPV_sin_ordenar[TPV_sin_ordenar$area_pozo > 0 & TPV_sin_ordenar$produccion > 0, ]
row.names(TPV_sin_ordenar) <- NULL
Total de Dataset
## [1] 12561
Omitimos los Outliers
## [1] 4844
| Tabla N°1. Pares de Valores de Area de Plataforma y Produccion de gas de los pozos de gas Natural | ||
| N° | Área de Plataforma | Producción de Gas |
|---|---|---|
| 1 | 3262 | 37315 |
| 2 | 2985 | 43638 |
| 3 | 3038 | 49720 |
| 4 | 2870 | 50308 |
| 5 | 2898 | 50339 |
| 6 | 3156 | 50963 |
| 7 | 2917 | 51068 |
| 8 | 2879 | 51300 |
| 9 | 2913 | 52218 |
| 10 | 2968 | 52292 |
| 11 | 2966 | 54488 |
| 12 | 3398 | 55183 |
| 13 | 3165 | 56488 |
| 14 | 2824 | 57084 |
| 15 | 3015 | 57404 |
| 16 | 3170 | 58192 |
| 17 | 3200 | 58273 |
| 18 | 2807 | 58319 |
| 19 | 3029 | 58357 |
| 20 | 2827 | 58521 |
| Tabla 1 de 3 | ||
## Generamos TPV Ordenada y Limpia
TPV <- TPV_limpio_sin_orden
# Ordenar
TPV <- TPV[order(TPV$area_pozo), ]
row.names(TPV) <- NULL
# Tabla Pares de Valores
tabla_tpv_previa <- head(TPV, 20)
tabla_tpv_previa <- cbind(Nro = 1:nrow(tabla_tpv_previa), tabla_tpv_previa)
TPV <- TPV_limpio_sin_orden
# Ordenar
TPV <- TPV[order(TPV$area_pozo), ]
row.names(TPV) <- NULL
# Tabla Pares de Valores
tabla_tpv_previa <- head(TPV, 20)
tabla_tpv_previa <- cbind(Nro = 1:nrow(tabla_tpv_previa), tabla_tpv_previa)
| Tabla N°2. Pares de Valores de Area de plataforma y Produccion de gas de los pozos de gas Natural | ||
| N° | Área Plataforma | Producción de Gas |
|---|---|---|
| 1 | 2807 | 58319 |
| 2 | 2823 | 80571 |
| 3 | 2824 | 57084 |
| 4 | 2827 | 58521 |
| 5 | 2839 | 74661 |
| 6 | 2868 | 77172 |
| 7 | 2870 | 50308 |
| 8 | 2871 | 69337 |
| 9 | 2879 | 51300 |
| 10 | 2880 | 86043 |
| 11 | 2880 | 93692 |
| 12 | 2898 | 50339 |
| 13 | 2911 | 77951 |
| 14 | 2913 | 52218 |
| 15 | 2917 | 51068 |
| 16 | 2929 | 94831 |
| 17 | 2936 | 62323 |
| 18 | 2953 | 93605 |
| 19 | 2958 | 65522 |
| 20 | 2966 | 54488 |
| Tabla 2 de 3 | ||
Definición de variables
x <- TPV$area_pozo #Variable Independiente
y <- TPV$produccion #Variable Dependiente
par(oma = c(1, 1, 1, 1))
plot(x, y,
pch = 16, col = "blue",
main = "Gráfica N°1: Diagrama de dispersión entre Area de Plataforma \n y Producción de Gas de los pozos de gas natural",
xlab = "Área de plataforma",
ylab = "Producción de Gas")
box(which = "outer", col = "black")
Debido a la similitud de la nube de puntos conjeturamos a un modelo Exponencial
Transformación logarítmica
y1 <- log(y)
Cálculo de Parámetros
regresion_exponencial <- lm(y1 ~ x)
regresion_exponencial
##
## Call:
## lm(formula = y1 ~ x)
##
## Coefficients:
## (Intercept) x
## 9.5144072 0.0005888
beta0 <- coef(regresion_exponencial)[1]
beta1 <- coef(regresion_exponencial)[2]
Intercepto
a <- exp(beta0) # Intercepto transformado
a
## (Intercept)
## 13553.6
Pendiente
b <- beta1 # Tasa de crecimiento
b
## x
## 0.0005887725
par(oma = c(1, 1, 1, 1))
plot(x, y,
pch = 16, col = "blue",
main = "Grafica N°2 : Comparación de la realidad con el modelo exponencial
entre el Área de Plataforma y la Produccion de Gas de los pozos de gas natural",
xlab = "Área de plataforma",
ylab = "Producción de Gas")
# Añadir curva del modelo
curve(a * exp(b * x), from = min(x), to = max(x), add = TRUE, col = "red", lwd = 2)
box(which = "outer", col = "black")
eq_text_panel <- paste0(" Ecuación exponencial \n Y = a * e^(b * x) \n Y = ",
round(a, 2), "e^(", round(b, 3), "x)")
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
text(x = 1, y = 1,
labels = eq_text_panel,
cex = 2,
col = "blue",
font = 2)
box(which = "outer", col = "black")
Cálculo de Indicadores
Coeficiente de Pearson
r <- cor(x, y1)
r*100
## [1] 96.20438
| Test de Aprobación del Modelo Exponencial | |
| Indicador | Valor |
|---|---|
| Coeficiente de Pearson (r) | 96.2 % |
| Tabla 3 de 3 | |
Restricciones
plot.new()
plot.window(xlim = c(0, 100), ylim = c(0, 100))
text(50, 85, "RESTRICCIONES DEL MODELO
", cex = 1.4, font = 2, col = "#D9534F")
parrafo_1 <- "
El modelo exige que la producción de gas sea siempre
mayor a cero y solo es confiable para áreas de
plataforma entre 719 y 14,271. No se debe usar fuera
de estos límites, ya que cualquier estimación externa
daría resultados falsos"
text(50, 55, parrafo_1, cex = 1.2, font = 3, col = "black")
rect(-2, -4, 100, 95, border = "#D9534F", lwd = 3)
area_test <- 800
T_Esp <- a * exp(b * area_test)
T_Esp
## (Intercept)
## 21707.76
Entre el área de plataforma y la producción de gas existe una relación exponencial donde el modelo es f(x) = 13553e^(0.000588x), siendo “x” el Área de Plataforma y “y” la producción de gas. El modelo posee restricciones de aplicación, siendo confiable únicamente dentro del Dominio D= {x / 719 <= x <= 14271}. Ejemplo: Cuando el área es 800 se espera una producción de 21,707 unidades de gas.