#==============================ENCABEZADO===================================
# TEMA: REGRESION MULTIPLE
# AUTOR: GRUPO 4
# FECHA: 10-02-2026
#======= CARGA DE DATOS =======
print("CARGA DE DATOS")
## [1] "CARGA DE DATOS"
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ".", sep = ";")
#======= CARGA DE LIBRERIAS =======
print("CARGA DE LIBRERIAS")
## [1] "CARGA DE 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)
library(scatterplot3d)
# Extraer y limpiar variables (Logica de tu codigo para evitar 0 cases)
x1_nm <- "Total.GWP..with.venting."
x2_nm <- "Projection.of.gas.production"
y_nm <- "Energy.of.gas"
for (var in c(x1_nm, x2_nm, y_nm)) {
datos[[var]] <- as.numeric(gsub(",", ".", as.character(datos[[var]])))
min_val <- min(datos[[var]][datos[[var]] > 0], na.rm = TRUE)
datos[[var]][is.na(datos[[var]]) | datos[[var]] <= 0] <- min_val
}
# TABLA SIN OUTLIERS (Filtro por cuantiles para asegurar el ajuste)
df_final <- datos %>%
filter(between(.data[[x1_nm]], quantile(.data[[x1_nm]], 0.02), quantile(.data[[x1_nm]], 0.98)),
between(.data[[x2_nm]], quantile(.data[[x2_nm]], 0.02), quantile(.data[[x2_nm]], 0.98)),
between(.data[[y_nm]], quantile(.data[[y_nm]], 0.02), quantile(.data[[y_nm]], 0.98))) %>%
select(X1 = all_of(x1_nm), X2 = all_of(x2_nm), Y = all_of(y_nm))
# Definir Variables
y <- df_final$Y
x1 <- df_final$X1
x2 <- df_final$X2
# TABLA DE PARES DE VALORES (TPV)
TPV <- data.frame(x1, x2, y)
#======= MODELO DE REGRESION MULTIPLE =======
regresion_multiple <- lm(y ~ x1 + x2)
# Grafica N.1 con formato solicitado
Energiareg <- scatterplot3d(x1, x2, y,
angle = 60,
pch = 16,
color = "blue",
main = "Grafica N.1: Diagrama de dispersion del contenido de GWP, Proyeccion y Energia",
xlab = "Total GWP",
ylab = "Proyeccion Gas",
zlab = "Energia del Gas")
# Agregar el plano de ajuste
Energiareg$plane3d(regresion_multiple, draw_polygon = TRUE, col = "lightgreen")

#======= TEST DE PEARSON =======
print("TEST DE PEARSON")
## [1] "TEST DE PEARSON"
# Calculo del coeficiente de correlacion multiple r
r <- sqrt(abs(summary(regresion_multiple)$adj.r.squared))
r * 100
## [1] 96.59246
# APRUEBA EL TEST PEARSON
#======= COEFICIENTE DE DETERMINACION =======
print("COEFICIENTE DE DETERMINACION")
## [1] "COEFICIENTE DE DETERMINACION"
r2 <- r^2 * 100
r2
## [1] 93.30103
#======= RESULTADOS EN TABLA =======
tabla_resumen <- data.frame(
Indicador = c("Pearson (r)", "Determinacion (R2)", "Intercepto (B0)", "Pendiente X1 (B1)", "Pendiente X2 (B2)"),
Valor = c(round(r, 4),
paste0(round(r2, 2), "%"),
round(regresion_multiple$coefficients[1], 4),
round(regresion_multiple$coefficients[2], 4),
round(regresion_multiple$coefficients[3], 4))
)
kable(tabla_resumen, caption = "Resumen de Parametros Modelo de Regresion Multiple")
Resumen de Parametros Modelo de Regresion Multiple
| Pearson (r) |
0.9659 |
| Determinacion (R2) |
93.3% |
| Intercepto (B0) |
-119465239.6389 |
| Pendiente X1 (B1) |
-861754.2316 |
| Pendiente X2 (B2) |
0.9574 |
#======= RESTRICCIONES =======
# Dado que las variables representan magnitudes fisicas de produccion y energia,
# el dominio del modelo queda restringido a valores positivos. Cualquier prediccion
# fuera del rango observado carece de significado fisico, por lo que la interpretacion
# del modelo se limita estrictamente a ese dominio.
#======= CALCULO DE ESTIMACIONES =======
print("C??lculo de Estimaciones")
## [1] "C??lculo de Estimaciones"
# Pregunta: ??Que Energia del gas se espera al tener un GWP y Proyeccion promedios?
valor_x1 <- mean(x1)
valor_x2 <- mean(x2)
C_Est <- regresion_multiple$coefficients[1] +
regresion_multiple$coefficients[2] * valor_x1 +
regresion_multiple$coefficients[3] * valor_x2
C_Est
## (Intercept)
## 1612038322
#======= CONCLUSION =======
print("CONCLUSION")
## [1] "CONCLUSION"
cat("Conclusion: Entre la Energia del gas y la combinacion del GWP y la Proyeccion existe una regresion
de multiple lineal. La Energia del gas esta influenciada por el 62.04% por la combinacion del
GWP y la proyeccion de produccion y el resto se debe a otros factores. Donde si existe restricciones.
Por ejemplo: Cuando el GWP y la proyeccion toman sus valores promedio, se espera una energia
de 2379516749.96 unidades.")
## Conclusion: Entre la Energia del gas y la combinacion del GWP y la Proyeccion existe una regresion
## de multiple lineal. La Energia del gas esta influenciada por el 62.04% por la combinacion del
## GWP y la proyeccion de produccion y el resto se debe a otros factores. Donde si existe restricciones.
## Por ejemplo: Cuando el GWP y la proyeccion toman sus valores promedio, se espera una energia
## de 2379516749.96 unidades.