#==============================ENCABEZADO===================================
# TEMA: REGRESION EXPONENCIAL
# AUTOR: GRUPO 4
# FECHA: 09-02-2026

#======= 1. CARGA DE DATOS Y LIBRERIAS ========
print("CARGA DE DATOS Y LIBRERIAS")
## [1] "CARGA DE DATOS Y LIBRERIAS"
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(knitr)

setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ".", sep = ";")

#======= 2. TABLA DE PARES DE VALORES (GWP vs PRODUCCION) ========
# En el modelo exponencial, y (Produccion) debe ser estrictamente > 0
x <- as.numeric(datos$Total.GWP..with.venting.)
y <- as.numeric(datos$Total.gas.production.by.2023)

TPV <- data.frame(x, y)
TPV <- na.omit(TPV)
TPV <- TPV[TPV$y > 0, ]

# Imprimir muestra inicial (20 registros)
print("Muestra de 20 registros - Tabla Limpia:")
## [1] "Muestra de 20 registros - Tabla Limpia:"
head(TPV, 20)
##            x        y
## 1  2.0888771   437618
## 2  0.7827884  2774162
## 3  0.3984888 10392506
## 4  0.3839680   365543
## 5  3.0745636   796076
## 6  1.9364960  1504000
## 7  3.6012183   904362
## 8  1.4877942  1854729
## 9  0.4691823  1848390
## 10 1.3916766  2763935
## 11 0.2062258 13884848
## 12 0.3637969  8119234
## 13 1.0844579   414899
## 14 0.7925555  1111831
## 15 4.3474385   293862
## 16 0.8238226  3256080
## 17 0.9903871  1865048
## 18 0.4075040  6985349
## 19 4.7822350   606690
## 20 0.4730059   353599
# Ordenar por la variable independiente (GWP)
TPV <- TPV[order(TPV$x), ]

# Imprimir muestra ordenada (20 registros)
print("Muestra de 20 registros - Tabla Ordenada:")
## [1] "Muestra de 20 registros - Tabla Ordenada:"
head(TPV, 20)
##                x        y
## 6503  0.03229314 70009800
## 12529 0.03815919 56493728
## 11941 0.03965668 44894404
## 7120  0.04227648 45832407
## 12483 0.04235340 54828068
## 12516 0.04515327 51839666
## 11971 0.04595880 52402028
## 10510 0.06870342 27445347
## 12517 0.06952325 55662964
## 1505  0.06999755 31138378
## 6599  0.07389282 38647335
## 4641  0.07450329 22391233
## 3849  0.07742134 28669122
## 10176 0.07842915 24932019
## 12411 0.08083003 23623734
## 8782  0.08246843 20849661
## 11996 0.08657922 29178737
## 7817  0.09128490 18544854
## 2187  0.09704375 34618010
## 11177 0.10079098 28408747
#======= 3. DIAGRAMA DE DISPERSION ========
x_val <- TPV$x
y_val <- TPV$y

plot(x_val, y_val, pch = 16, col = "gray70",
     main = "Grafica N.1: Diagrama de dispersion entre el GWP\ny la Produccion Total de Gas 2023",
     xlab = "Total GWP", ylab = "Produccion Total de Gas 2023")

#======= 4. CONJETURA DEL MODELO (EXPONENCIAL) ========
# Linealizamos el modelo: ln(y) = ln(a) + bx
y_log <- log(y_val)
modelo_exponencial <- lm(y_log ~ x_val)

beta0 <- coef(modelo_exponencial)[1]
beta1 <- coef(modelo_exponencial)[2]

a <- exp(beta0) 
b <- beta1      

#======= 5. GRAFICA DEL AJUSTE EXPONENCIAL ========
plot(x_val, y_val, pch = 16, col = "orange",
     main = "Grafica N.2: Comparacion de la realidad con el modelo exponencial\nentre el GWP y la Produccion Total de Gas 2023",
     xlab = "Total GWP", ylab = "Produccion Total de Gas 2023")

# Dibujamos la curva exponencial
curve(a * exp(b * x), add = TRUE, col = "red", lwd = 3)

# Ecuacion en el grafico
text(x = mean(x_val)*8, y = max(y_val)*1, 
     labels = paste("Y =", round(a, 4), "* e ^ (", round(b, 4), "* x)"), 
     col = "red", font = 2)

#======= 6. TEST DE PEARSON Y RESULTADOS ========
r <- cor(x_val, y_log)
r2 <- r^2

tabla_resultados <- data.frame(
  Indicador = c("Pearson (r)", "Determinacion (R2)", "Parametro a", "Parametro b"),
  Valor = c(round(r, 4), paste0(round(r2 * 100, 2), "%"), round(a, 4), round(b, 4))
)

kable(tabla_resultados, caption = "Resumen de Parametros Modelo Exponencial")
Resumen de Parametros Modelo Exponencial
Indicador Valor
Pearson (r) -0.7046
Determinacion (R2) 49.64%
Parametro a 1936084.1095
Parametro b -0.2285
#======= 7. CALCULO DE PRONOSTICOS ========
print("Calculo de Pronosticos")
## [1] "Calculo de Pronosticos"
# ??Cual seria la produccion si se tiene un GWP de 12?
T_Esp <- a*exp(b*12)
T_Esp
## (Intercept) 
##    124752.2
#======= 8. CONCLUSION ========
print("CONCLUSION")
## [1] "CONCLUSION"
cat("Conclusion: Entre el GWP y la Produccion Total de gas existe una relacion de forma exponencial, 
donde el modelo matematico es y =", round(a, 4), "* e ^ (", round(b, 4), "* x), 
siendo x el GWP y la produccion la variable dependiente. Podemos decir que no existe 
restriccion fisica aparente y el grado de asociacion entre las variables transformadas 
es de r =", round(r, 4), ", lo cual valida el ajuste de este modelo para los datos analizados.")
## Conclusion: Entre el GWP y la Produccion Total de gas existe una relacion de forma exponencial, 
## donde el modelo matematico es y = 1936084 * e ^ ( -0.2285 * x), 
## siendo x el GWP y la produccion la variable dependiente. Podemos decir que no existe 
## restriccion fisica aparente y el grado de asociacion entre las variables transformadas 
## es de r = -0.7046 , lo cual valida el ajuste de este modelo para los datos analizados.