#------------------ 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))
  )

# --- Distribución Poisson Bivariada: Campañas vs Eficiencia ---
library(ggplot2)
library(dplyr)

# 1. Selección de variables
x <- bd$Campanas_Concientizacion
y <- bd$Eficiencia_Municipal

df <- na.omit(data.frame(x, y))

# 2. Estimar parámetros de la Poisson bivariada
lambda1 <- var(df$x) - cov(df$x, df$y)
lambda2 <- var(df$y) - cov(df$x, df$y)
lambda3 <- cov(df$x, df$y)

cat("Parámetros estimados:\n")
## Parámetros estimados:
cat("λ1 =", round(lambda1, 2), "\n")
## λ1 = 36.47
cat("λ2 =", round(lambda2, 2), "\n")
## λ2 = 2.58
cat("λ3 (covarianza) =", round(lambda3, 2), "\n")
## λ3 (covarianza) = 0.38
# 3. Simulación Poisson bivariada
set.seed(123)
n <- nrow(df)

# Z ~ Poisson(λ3)
z <- rpois(n, lambda3)
x_sim <- rpois(n, lambda1) + z
y_sim <- rpois(n, lambda2) + z

# 4. Visualización: puntos reales vs simulados
df_sim <- data.frame(x_sim, 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_sim, y = y_sim), color = "red", alpha = 0.5, shape = 4) +
  labs(
    title = "Datos observados (azul) vs simulados Poisson bivariada (rojo)",
    x = "Campañas de Concientización",
    y = "Eficiencia Municipal"
  ) +
  theme_minimal()

# 5. Correlación real vs simulada
cor_obs <- cor(df$x, df$y)
cor_sim <- cor(x_sim, y_sim)

cat("Correlación observada:", round(cor_obs, 3), "\n")
## Correlación observada: 0.037
cat("Correlación simulada:", round(cor_sim, 3), "\n")
## Correlación simulada: 0.099
### Conclusiones ###

# Se modeló la relación entre Campanas_Concientizacion y Eficiencia_Municipal 
# mediante una distribución Poisson bivariada, donde se estimaron los parámetros:

#     λ1 ≈ 36.47
#     λ2 ≈ 2.58
#     λ3 ≈ 0.38  ← representa la dependencia entre las variables

# Se generaron valores simulados usando la Poisson bivariada, los cuales se compararon 
# con los datos observados. Visualmente, el patrón conjunto fue razonablemente similar.

# La correlación observada entre las variables fue r ≈ 0.037, mientras que 
# la correlación en los datos simulados fue r ≈ 0.099, lo que indica que 
# el modelo Poisson bivariado captura parcialmente la débil relación entre ambas variables.