# ======= REGRESI??N EXPONENCIAL: GWP vs PRODUCCI??N 2023 =======
# Cargamos las librer??as necesarias
library(readr)
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
# 1. CARGA Y FILTRADO DIRECTO
# Definimos la ruta y cargamos el archivo
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ".", sep = ";")
# En la regresi??n exponencial y = a * e^(b * x), solo 'y' debe ser > 0 para el logaritmo.
# 'x' puede ser cero o positivo.
df <- datos[datos$Total.gas.production.by.2023 > 0, ]
x <- df$Total.GWP..with.venting.
y <- df$Total.gas.production.by.2023
# 2. GR??FICA Nro. 1: DISPERSI??N ORIGINAL
plot(x, y,
main = "Grafica Nro. 1: Distribucion entre GWP y Produccion Total de Gas 2023",
xlab = "Total GWP", ylab = "Produccion Total de Gas 2023",
pch = 16, col = "gray70")

# 3. TRANSFORMACI??N Y MODELO
# Linealizamos: ln(y) = ln(a) + b * x
y1 <- log(y)
mod_exp <- lm(y1 ~ x)
# Extracci??n de par??metros
beta0 <- coef(mod_exp)[1]
beta1 <- coef(mod_exp)[2]
a <- exp(beta0) # Intercepto en escala original
b <- beta1 # Tasa de crecimiento exponencial
r <- cor(x, y1) # Correlaci??n de Pearson (entre x y log(y))
# 4. GR??FICA Nro. 2: CURVA DE REGRESI??N EXPONENCIAL
plot(x, y,
main = "Grafica Nro. 2: Distribucion entre GWP y Produccion Total de Gas 2023",
xlab = "Total GWP", ylab = "Produccion Total de Gas 2023",
pch = 16, col = "orange")
# Dibujamos la curva: y = a * exp(b * x)
curve(a * exp(b * x), add = TRUE, col = "red", lwd = 3)

# 5. TABLA DE RESULTADOS CALCULADOS
# Nota: En este modelo calculamos R2 para la tabla, pero la conclusi??n se basa en r.
tabla_resultados <- data.frame(
Indicador = c("Intercepto (a)",
"Tasa Exponencial (b)",
"Correlacion (r)",
"Determinacion (R2 %)",
"Otros factores (%)"),
Valor = c(round(a, 4),
round(b, 4),
round(r, 4),
paste0(round(r^2 * 100, 2), "%"),
paste0(round((1 - r^2) * 100, 2), "%"))
)
cat("\n--- TABLA DE PAR??METROS DEL MODELO EXPONENCIAL ---\n")
##
## --- TABLA DE PAR??METROS DEL MODELO EXPONENCIAL ---
print(tabla_resultados, row.names = FALSE)
## Indicador Valor
## Intercepto (a) 1936084.1095
## Tasa Exponencial (b) -0.2285
## Correlacion (r) -0.7046
## Determinacion (R2 %) 49.64%
## Otros factores (%) 50.36%
# 6. CONCLUSI??N UNIFICADA
cat("\n--- CONCLUSI??N FINAL ---\n")
##
## --- CONCLUSI??N FINAL ---
y_max_pred <- a * exp(b * max(x))
res_txt <- ifelse(y_max_pred > (max(y) * 1.2),
"existe restriccion fisica en el modelo",
"no existe restriccion fisica aparente")
conclusion_final <- paste0(
"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 ", res_txt,
" y el grado de asociacion entre las variables transformadas es de r = ", round(r, 4), ", ",
"validando el ajuste de este modelo para los datos analizados."
)
cat(conclusion_final, "\n")
## Conclusion: Entre el GWP y la Produccion Total de gas existe una relacion de forma exponencial, donde el modelo matematico es y = 1936084.1095 * 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, validando el ajuste de este modelo para los datos analizados.