# ======= REGRESI??N M??LTIPLE PRO: GWP + PROYECCI??N vs ENERG??A =======
# 1. CARGA DE LIBRER??AS Y DATOS
library(scatterplot3d)
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
# Configuraci??n del directorio y carga del archivo
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ".", sep = ";")
# Nombres de las variables originales
x1_nm <- "Total.GWP..with.venting."
x2_nm <- "Projection.of.gas.production"
y_nm <- "Energy.of.gas"
# 2. LIMPIEZA Y FILTRADO AVANZADO (CUANTILES)
# Este bloque asegura que los datos sean num??ricos y elimina valores extremos (outliers)
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
}
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)) %>%
slice(1:450)
# 3. MODELO DE REGRESI??N M??LTIPLE
# Ecuaci??n: Y = B0 + B1*X1 + B2*X2
modelo_mult <- lm(Y ~ X1 + X2, data = df_final)
summary_model <- summary(modelo_mult)
coefs <- coef(modelo_mult)
# 4. GR??FICA DE DISPERSI??N 3D (VERSI??N PROFESIONAL)
# Nota: Se elimin?? 'alpha' para evitar advertencias de par??metros inv??lidos.
s3d <- scatterplot3d(x = df_final$X1, y = df_final$X2, z = df_final$Y,
color = "steelblue", pch = 16,
angle = 60,
main = "Regresi??n M??ltiple: Plano de Ajuste 3D",
xlab = "Total GWP",
ylab = "Proyecci??n Gas",
zlab = "Energ??a del Gas")
# Dibujamos el plano de regresi??n como un pol??gono s??lido
s3d$plane3d(modelo_mult, draw_polygon = TRUE, col = "lightgreen")

# 5. C??LCULO DE M??TRICAS Y TABLA DE COEFICIENTES
r2_ajustado <- summary_model$adj.r.squared
r_multiple <- sqrt(r2_ajustado)
# Creaci??n de la tabla de coeficientes TPV
tabla_TPV <- data.frame(
Variable = c("Intercepto (B0)", "Total GWP (B1)", "Proyecci??n Gas (B2)"),
Coeficiente = c(round(coefs[1], 4), round(coefs[2], 4), round(coefs[3], 4))
)
cat("\n--- TABLA DE PAR??METROS DEL MODELO (TPV) ---\n")
##
## --- TABLA DE PAR??METROS DEL MODELO (TPV) ---
print(tabla_TPV, row.names = FALSE)
## Variable Coeficiente
## Intercepto (B0) 7.685250e+08
## Total GWP (B1) -1.206083e+08
## Proyecci??n Gas (B2) 6.065000e-01
cat("\nCorrelaci??n M??ltiple (r):", round(r_multiple, 4))
##
## Correlaci??n M??ltiple (r): 0.7877
cat("\nInfluencia Combinada (R2):", round(r2_ajustado * 100, 2), "%\n")
##
## Influencia Combinada (R2): 62.04 %
# 6. CONCLUSI??N UNIFICADA
otros_factores <- (1 - r2_ajustado) * 100
valor_prom_x1 <- mean(df_final$X1)
valor_prom_x2 <- mean(df_final$X2)
est_y <- coefs[1] + coefs[2]*valor_prom_x1 + coefs[3]*valor_prom_x2
conclusion_final <- paste0(
"Conclusi??n: El modelo de regresi??n m??ltiple indica que la Energ??a del gas est?? influenciada en un ",
round(r2_ajustado * 100, 2), "% por la combinaci??n del GWP y la Proyecci??n de producci??n. ",
"Para valores promedio observados, la energ??a estimada es de ", round(est_y, 2), ". ",
"El grado de asociaci??n conjunta (r = ", round(r_multiple, 4), ") valida el ajuste del plano ",
"s??lido, mientras que un ", round(otros_factores, 2), "% de la varianza depende de otros factores."
)
cat("\n--- CONCLUSI??N FINAL ---\n")
##
## --- CONCLUSI??N FINAL ---
cat(conclusion_final, "\n")
## Conclusi??n: El modelo de regresi??n m??ltiple indica que la Energ??a del gas est?? influenciada en un 62.04% por la combinaci??n del GWP y la Proyecci??n de producci??n. Para valores promedio observados, la energ??a estimada es de 2379516749.96. El grado de asociaci??n conjunta (r = 0.7877) valida el ajuste del plano s??lido, mientras que un 37.96% de la varianza depende de otros factores.