#==============================ENCABEZADO===================================
# TEMA: REGRESION POTENCIAL
# 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 ENERGIA) ========
x <- as.numeric(datos$Total.GWP..with.venting.)
y <- as.numeric(datos$Energy.of.gas)
TPV <- data.frame(x, y)
TPV <- na.omit(TPV)
TPV <- TPV[TPV$x > 0 & 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 474611355
## 2 0.7827884 3008671457
## 3 0.3984888 11271020282
## 4 0.3839680 396443607
## 5 3.0745636 863371043
## 6 1.9364960 1631138294
## 7 3.6012183 980810831
## 8 1.4877942 2011515623
## 9 0.4691823 2004640765
## 10 1.3916766 2997579933
## 11 0.2062258 15058581965
## 12 0.3637969 8805580780
## 13 1.0844579 449971840
## 14 0.7925555 1205817899
## 15 4.3474385 318703166
## 16 0.8238226 3531327643
## 17 0.9903871 2022706923
## 18 0.4075040 7575844581
## 19 4.7822350 657975593
## 20 0.4730059 383489940
# 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 75927969228
## 12529 0.03815919 61269337166
## 11941 0.03965668 48689482407
## 7120 0.04227648 49706778027
## 12483 0.04235340 59462873197
## 12516 0.04515327 56221851295
## 11971 0.04595880 56831751690
## 10510 0.06870342 29765396594
## 12517 0.06952325 60368345828
## 1505 0.06999755 33770612208
## 6599 0.07389282 41914327174
## 4641 0.07450329 24284040951
## 3849 0.07742134 31092621504
## 10176 0.07842915 27039608332
## 12411 0.08083003 25620729501
## 8782 0.08246843 22612154567
## 11996 0.08657922 31645316013
## 7817 0.09128490 20112514303
## 2187 0.09704375 37544389471
## 11177 0.10079098 30810236110
#======= 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 Energia del gas",
xlab = "Total GWP", ylab = "Energia del Gas")

#======= 4. MODELO POTENCIAL (LINEALIZACION) ========
x_log <- log(x_val)
y_log <- log(y_val)
modelo_potencial <- lm(y_log ~ x_log)
b_pot <- coef(modelo_potencial)[2]
a_pot <- exp(coef(modelo_potencial)[1])
#======= 5. GRAFICA DEL AJUSTE POTENCIAL ========
plot(x_val, y_val, pch = 16, col = "skyblue",
main = "Grafica N.2: Comparacion de la realidad con el modelo potencial\nentre el GWP y la Energia del gas",
xlab = "Total GWP", ylab = "Energia del Gas")
curve(a_pot * x^b_pot, add = TRUE, col = "red", lwd = 3)
# REPOSICIONADO A TU COORDENADA ORIGINAL
text(x = mean(x_val)*8, y = max(y_val)*1,
labels = paste("Y =", round(a_pot, 4), "* x^", round(b_pot, 4)),
col = "red", font = 2)

#======= 6. TEST DE PEARSON Y RESULTADOS ========
r_pot <- cor(x_log, y_log)
r2_pot <- r_pot^2
tabla_resumen <- data.frame(
Indicador = c("Pearson (r log)", "Determinacion (R2)", "Parametro a", "Parametro b"),
Valor = c(round(r_pot, 4), paste0(round(r2_pot*100, 2), "%"), round(a_pot, 4), round(b_pot, 4))
)
kable(tabla_resumen, caption = "Resumen de Parametros Modelo Potencial")
Resumen de Parametros Modelo Potencial
| Pearson (r log) |
-0.896 |
| Determinacion (R2) |
80.29% |
| Parametro a |
2237685889.9444 |
| Parametro b |
-1.0698 |
#======= 6. CALCULO DE PRONOSTICOS ========
print("CALCULO DE PRONOSTICOS")
## [1] "CALCULO DE PRONOSTICOS"
valor_gwp_consulta <- 1000
pronostico_potencial <- a_pot * (valor_gwp_consulta ^ b_pot)
cat("Para una proyeccion de GWP de", valor_gwp_consulta, ", la energia esperada es:", round(pronostico_potencial, 2), "\n")
## Para una proyeccion de GWP de 1000 , la energia esperada es: 1381617
#======= 7. CONCLUSION UNIFICADA ========
print("CONCLUSION")
## [1] "CONCLUSION"
cat("Conclusion: Entre el GWP y la Energia del gas existe una relacion de forma potencial,
donde el modelo matematico es y = 2237685890 *(x^ -1.0698 ),
siendo x el GWP y la energia la variable dependiente. Podemos decir que no existe
restriccion y el grado de asociacion entre las variables transformadas es de r =-0.896,
lo cual valida la precision del ajuste potencial para este conjunto de datos.")
## Conclusion: Entre el GWP y la Energia del gas existe una relacion de forma potencial,
## donde el modelo matematico es y = 2237685890 *(x^ -1.0698 ),
## siendo x el GWP y la energia la variable dependiente. Podemos decir que no existe
## restriccion y el grado de asociacion entre las variables transformadas es de r =-0.896,
## lo cual valida la precision del ajuste potencial para este conjunto de datos.