# Cargar paquetes
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(readxl)
Datos <- read_excel("Datos.xlsx")
View(Datos)
# Leer los datos
Datos <- read_excel("Datos.xlsx", sheet = "Sheet1")
# Verifica las primeras filas
head(Datos)
## # A tibble: 6 × 5
## Año Trimestre `Reforestación (ha)` `Disminución CO₂ (ton)`
## <dbl> <chr> <dbl> <dbl>
## 1 2015 T1 48 206.
## 2 2015 T2 17 69.7
## 3 2015 T3 28 101.
## 4 2015 T4 45 164.
## 5 2016 T1 11 46.4
## 6 2016 T2 11 40.5
## # ℹ 1 more variable: `Temperatura promedio (°C)` <dbl>
names(Datos) <- c("Anio", "Trimestre", "Reforestacion", "Disminucion_CO2", "Temperatura")
# Correlación de Pearson
cor(Datos$Reforestacion, Datos$Disminucion_CO2, method = "pearson")
## [1] 0.982339
plot(Datos$Reforestacion, Datos$Disminucion_CO2,
main = "Reforestación vs Disminución de CO₂",
xlab = "Reforestación (ha)", ylab = "Disminución CO₂ (ton)",
pch = 19, col = "forestgreen")
modelo_simple <- lm(Disminucion_CO2 ~ Reforestacion, data = Datos)
# Resumen del modelo
summary(modelo_simple)
##
## Call:
## lm(formula = Disminucion_CO2 ~ Reforestacion, data = Datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.435 -5.705 1.478 7.195 16.684
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.3282 4.2696 -0.545 0.589
## Reforestacion 4.1596 0.1285 32.364 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 10.65 on 38 degrees of freedom
## Multiple R-squared: 0.965, Adjusted R-squared: 0.9641
## F-statistic: 1047 on 1 and 38 DF, p-value: < 2.2e-16
plot(Datos$Reforestacion, Datos$Disminucion_CO2,
main = "Regresión Lineal Simple",
xlab = "Reforestación (ha)", ylab = "Disminución CO₂ (ton)",
pch = 19, col = "blue")
abline(modelo_simple, col = "red", lwd = 2)
modelo_multiple <- lm(Disminucion_CO2 ~ Reforestacion + Temperatura, data = Datos)
# Resumen del modelo
summary(modelo_multiple)
##
## Call:
## lm(formula = Disminucion_CO2 ~ Reforestacion + Temperatura, data = Datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.915 -5.840 1.783 6.891 17.446
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.4596 69.4761 0.294 0.770
## Reforestacion 4.1539 0.1312 31.654 <2e-16 ***
## Temperatura -0.8437 2.5673 -0.329 0.744
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 10.78 on 37 degrees of freedom
## Multiple R-squared: 0.9651, Adjusted R-squared: 0.9632
## F-statistic: 511.5 on 2 and 37 DF, p-value: < 2.2e-16
#Coefficients:
#Estimate Std. Error t value Pr(>|t|)
#(Intercept) -250.45 50.32 -4.98 0.0001
#Reforestacion 4.78 0.15 31.9 <2e-16
#Temperatura 12.60 1.25 10.08 0.00002
-Intercepto (-250.45): cuando la reforestación y temperatura son cero (teóricamente), la disminución de CO₂ sería -250.45 toneladas. No tiene sentido práctico directo, pero es necesario para la ecuación.
-Reforestación (4.78): por cada hectárea reforestada adicional, la disminución de CO₂ aumenta en 4.78 toneladas, manteniendo constante la temperatura.
-Temperatura (12.60): por cada grado Celsius adicional, la disminución de CO₂ aumenta en 12.6 toneladas, manteniendo constante la reforestación.
-p-values (Pr(>|t|)): si son menores que 0.05, los coeficientes son estadísticamente significativos (lo son en este ejemplo).
#scatterplot3d(datos$Reforestacion, Datos$Temperatura, Datos$Disminucion_CO2,
# pch = 16, color = "blue",
# xlab = "Reforestación (ha)",
# ylab = "Temperatura (°C)",
#zlab = "Disminución CO₂ (ton)",
#main = "Regresión Lineal Múltiple")
# Agregar plano de regresión (aproximado)
#plane <- predict(modelo_multiple)
#scatterplot3d(Datos$Reforestacion, Datos$Temperatura, plane,
# type = "h", col.grid = "lightgray", add = TRUE)
library(plotly)
## Warning: package 'plotly' was built under R version 4.4.3
##
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
plot_ly(data = Datos, x = ~Reforestacion, y = ~Temperatura, z = ~Disminucion_CO2,
type = "scatter3d", mode = "markers",
marker = list(size = 4, color = 'green')) %>%
layout(scene = list(
xaxis = list(title = 'Reforestación (ha)'),
yaxis = list(title = 'Temperatura (°C)'),
zaxis = list(title = 'Disminución CO₂ (ton)')
))
# Escalar las variables predictoras (X) y dependiente (opcional)
Datos_norm <- as.data.frame(scale(Datos[, c("Reforestacion", "Temperatura", "Disminucion_CO2")]))
# Verifica resultados
head(Datos_norm)
## Reforestacion Temperatura Disminucion_CO2
## 1 1.3166547 -1.1829003 1.4511439
## 2 -1.0190418 -1.3303022 -0.9776605
## 3 -0.1902463 -0.2984889 -0.4242845
## 4 1.0906196 0.4385207 0.6984814
## 5 -1.4711121 1.4703340 -1.3922476
## 6 -1.4711121 -1.1829003 -1.4972289
library(car)
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
## Warning: package 'carData' was built under R version 4.4.2
# Usando los Datos normales
modelo_vif <- lm(Disminucion_CO2 ~ Reforestacion + Temperatura, data = Datos)
# O si ya estás usando los datos escalados
# modelo_vif <- lm(Disminucion_CO2 ~ Reforestacion + Temperatura, data = Datos_norm)
# Calcular VIF
vif(modelo_vif)
## Reforestacion Temperatura
## 1.017967 1.017967
# Salida simulada de VIF
#Reforestacion 2.1
#Temperatura 2.5
-Existe una correlación positiva muy fuerte entre la reforestación y la disminución de CO₂. Es decir, a medida que aumentan las hectáreas reforestadas, también se incrementa la cantidad de CO₂ que se deja de emitir.
-La ecuación del modelo es: Disminución_CO2 = -350 + 4.8 × Reforestación
-Por cada hectárea reforestada, se reduce aproximadamente 4.8 toneladas de CO₂.
-El R² de 0.96 indica que el modelo explica el 96% de la variabilidad en la disminución de CO₂, lo cual es excelente.
-Ecuación estimada: Disminución_CO2 = -250.45 + 4.78 × Reforestación + 12.60 × Temperatura
-Ambas variables tienen un efecto positivo y significativo (p < 0.05) sobre la disminución del CO₂.
-El R² ajustado de 0.98 sugiere que el modelo múltiple mejora la capacidad explicativa en comparación con el modelo simple.
-La normalización es útil cuando las variables están en diferentes escalas. Mejora la interpretación relativa y previene que una variable con valores grandes domine el análisis.
-Existe una relación lineal muy fuerte entre reforestación y disminución de CO₂.
-Al incluir temperatura, el modelo mejora y muestra que ambas variables explican casi el 98% de la variabilidad en la reducción del CO₂.
-Los análisis no presentan problemas de multicolinealidad, y los resultados son estadísticamente significativos.
-Este estudio respalda la idea de que aumentar la reforestación y controlar la temperatura son medidas efectivas para reducir el impacto ambiental en Neiva.