#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad de Ingeniería en Geología, Minas, Petróleos y Ambiental 
###-----------------Carrera de Ingeniería Ambiental

# Proyecto: Estudio de Residuos y Reciclaje en la India
# Etapa: Estadistica Multivariable
# Nombre: Helen Taipe
# Fecha: 20/07/2025



# --- Distribución Beta Bivariada: Tasa de Reciclaje vs Eficiencia Municipal ---
library(rio)
bd <- import("Waste_Management_and_Recycling_India.csv xd.csv")
names(bd) <- c(
  "Ciudad",
  "Tipo_Residuo",
  "Residuos_Generados_TonDia",
  "Tasa_Reciclaje_Porc",
  "Densidad_Poblacional",
  "Eficiencia_Municipal",
  "Metodo_Disposicion",
  "Costo_Gestion_Residuos",
  "Campanas_Concientizacion",
  "Nombre_Relleno",
  "Ubicacion_Relleno",
  "Capacidad_Relleno_Ton",
  "Anio"
)

library(naniar)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
bd <- bd %>%
  separate(Ubicacion_Relleno, into = c("Latitud", "Longitud"), sep = ",", remove = FALSE) %>%
  mutate(Latitud = as.numeric(trimws(Latitud)),
         Longitud = as.numeric(trimws(Longitud)))

# --- Paquetes para distribución beta bivariada aproximada ---
install.packages("copula")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
library(ggplot2)
library(copula)

# 1. Transformar a proporciones [0,1]
df <- bd %>%
  mutate(
    x = Tasa_Reciclaje_Porc / 100,
    y = Eficiencia_Municipal / 10
  ) %>%
  filter(x > 0 & x < 1 & y > 0 & y < 1)

# 2. Estimar parámetros beta por momentos
mean_x <- mean(df$x); var_x <- var(df$x)
alpha_x <- mean_x * ((mean_x * (1 - mean_x)) / var_x - 1)
beta_x <- (1 - mean_x) * ((mean_x * (1 - mean_x)) / var_x - 1)

mean_y <- mean(df$y); var_y <- var(df$y)
alpha_y <- mean_y * ((mean_y * (1 - mean_y)) / var_y - 1)
beta_y <- (1 - mean_y) * ((mean_y * (1 - mean_y)) / var_y - 1)

# 3. Estimar correlación
rho <- cor(df$x, df$y)

cat("Parámetros estimados:\n")
## Parámetros estimados:
cat("Alpha_x =", round(alpha_x, 3), "| Beta_x =", round(beta_x, 3), "\n")
## Alpha_x = 4.854 | Beta_x = 3.649
cat("Alpha_y =", round(alpha_y, 3), "| Beta_y =", round(beta_y, 3), "\n")
## Alpha_y = 6.358 | Beta_y = 2.799
cat("Correlación (rho) =", round(rho, 3), "\n")
## Correlación (rho) = -0.044
# 4. Simulación usando copula gaussiana + marg beta
n <- nrow(df)
cop <- normalCopula(param = rho, dim = 2)
u <- rCopula(n, copula = cop)

x_sim <- qbeta(u[, 1], shape1 = alpha_x, shape2 = beta_x)
y_sim <- qbeta(u[, 2], shape1 = alpha_y, shape2 = beta_y)

# 5. Visualización
df_sim <- data.frame(x = x_sim, y = y_sim)

ggplot() +
  geom_point(data = df, aes(x = x, y = y), color = "blue", alpha = 0.6, size = 2) +
  geom_point(data = df_sim, aes(x = x, y = y), color = "red", alpha = 0.5, shape = 4) +
  labs(
    title = "Datos reales (azul) vs Simulados Beta Bivariada (rojo)",
    x = "Tasa de Reciclaje (proporción)",
    y = "Eficiencia Municipal (proporción)"
  ) +
  theme_minimal()

# 6. Correlación comparativa
cor_sim <- cor(x_sim, y_sim)
cat("Correlación simulada:", round(cor_sim, 3), "\n")
## Correlación simulada: -0.048
### Conclusiones ###

# Se modeló la relación conjunta entre Tasa_Reciclaje_Porc y Eficiencia_Municipal
# mediante una distribución Beta Bivariada, previa transformación de ambas variables
# al intervalo (0,1). Los parámetros estimados por momentos fueron:

#   - Tasa de reciclaje: α ≈ 4.854, β ≈ 3.649
#   - Eficiencia municipal: α ≈ 6.358, β ≈ 2.799

# Se utilizó una cópula gaussiana con parámetro de correlación ρ ≈ -0.044
# para capturar la dependencia entre las variables.

# La correlación observada en los datos fue r ≈ -0.044, mientras que la
# correlación de los datos simulados bajo el modelo fue r ≈ -0.112, lo cual indica
# que la dependencia entre las variables es débil y ligeramente negativa.

# Visualmente, los datos simulados y reales presentan patrones similares
# aunque dispersos, lo cual sugiere que el modelo Beta Bivariado es útil
# para representar distribuciones de proporciones conjuntas en contextos ambientales.