1 Introducción

El uso eficiente y sostenible del recurso hídrico se ha convertido en un desafío prioritario para el sector productivo colombiano, especialmente en las actividades manufactureras relacionadas con los alimentos. Este tipo de establecimientos demanda grandes volúmenes de agua en sus procesos de producción, limpieza y transformación de materias primas, generando a su vez importantes cantidades de aguas residuales.

Con el fin de promover un manejo responsable del recurso, la política ambiental en Colombia establece lineamientos específicos a través de la Ley 373 de 1997, conocida como la “Ley de Ahorro y Uso Eficiente del Agua”. Esta normativa impulsa la formulación e implementación de los Programas para el Uso Eficiente y Ahorro de Agua (PUEAA) en los diferentes sectores productivos, con el propósito de optimizar el consumo, reducir los vertimientos y fomentar prácticas sostenibles dentro de las industrias. Sin embargo, la adopción de dichos programas no es uniforme: mientras algunos establecimientos los han implementado de manera efectiva, otros aún no lo hacen, debido a factores como la disponibilidad de recursos, el nivel tecnológico, la ubicación geográfica o la conciencia ambiental empresarial.

En este contexto, analizar los factores asociados con la implementación del PUEAA permite comprender mejor las dinámicas que influyen en la gestión del agua en el sector manufacturero. Variables como la actividad económica, la región geográfica, la medición del consumo y vertimiento de agua, y los volúmenes de agua utilizada y tratada pueden reflejar diferencias estructurales y operativas entre los establecimientos.

Para la realización de este trabajo se implementó la base de la Encuesta Ambiental Industrial 2022 del Departamento Administrativo Nacional de Estadística (DANE), la cual tiene como objetivo obtener información estadística relacionada con la gestión ambiental de los establecimientos que hacen parte de la Encuesta Anual Manufacturera (EAM). A partir del diccionario de datos se seleccionó el archivo ANONIMIZADO_CAP4_22, que presenta las variables del formulario diligenciado para determinar y caracterizar las prácticas relacionadas con el manejo del recurso hídrico.

El estudio se enfocó exclusivamente en los establecimientos pertenecientes al sector manufacturero de alimentos, y para el ejercicio analítico se trabajó con una muestra de 667 registros, obtenida mediante un proceso de balanceo según la variable dependiente.

Para ello, la variable PROG, que indica si un establecimiento cuenta (1) o no (0) con un Programa para el Uso Eficiente y Ahorro de Agua, se convierte en el eje central del análisis. Clasificar esta variable a través de modelos de aprendizaje supervisado como la regresión logística (Logit) y el K-Nearest Neighbors (KNN) permite identificar los factores más determinantes en la adopción del programa, así como estimar la probabilidad de implementación en establecimientos que aún no lo tienen.

Este enfoque no solo ofrece un entendimiento estadístico y predictivo del fenómeno, sino que también tiene un alto valor práctico: los resultados pueden orientar estrategias institucionales y políticas públicas dirigidas a promover la eficiencia hídrica en el sector productivo, priorizando acciones en las regiones o actividades con menor adopción. En suma, este estudio contribuye al fortalecimiento de la gestión sostenible del agua en la industria manufacturera de alimentos en Colombia, mediante el uso de herramientas analíticas para la toma de decisiones informadas.

2 Metodología

El estudio se desarrolló mediante un análisis supervisado orientado a identificar los factores que influyen en la implementación del Programa para el Uso Eficiente y Ahorro de Agua (PUEAA) en los establecimientos manufactureros de alimentos en Colombia. Para ello, se realizó la descripción de las variables seleccionadas y la aplicación de dos modelos de clasificación regresión logística (Logit) y K-Nearest Neighbors (KNN) con el propósito de analizar e identificar la probabilidad de que un establecimiento implemente dicho programa.

2.1 Descripción de variables

El estudio consideró una variable dependiente y siete variables independientes. La variable dependiente (PROG) indica si el establecimiento cuenta con un Programa para el Uso Eficiente y Ahorro de Agua (PUEAA), tomando el valor de 1 cuando el programa está implementado y 0 en caso contrario. Esta variable representa el fenómeno central del estudio, al reflejar la adopción del PUEAA como indicador del compromiso con la gestión hídrica y la política ambiental nacional establecida por la Ley 373 de 1997.

Entre las variables independientes, se incluyen:

2.1.1 ACTIVIDAD

Corresponde a la actividad económica principal del establecimiento. La actividad económica determina el tipo de procesos productivos y, por tanto, el nivel de demanda de agua. Industrias con altos requerimientos hídricos (por ejemplo, lácteos o bebidas) pueden enfrentar mayor presión regulatoria o incentivos para mejorar su eficiencia, lo que incrementa la probabilidad de implementar un PUEAA.

2.1.2 REGIÓN

Identifica la ubicación geográfica del establecimiento. Las diferencias geográficas y de gestión ambiental regional influyen en la disponibilidad de recursos, los costos del agua y la vigilancia ambiental. Regiones con escasez o alta regulación del recurso hídrico tienden a mostrar una mayor adopción de programas de ahorro y tratamiento.

2.1.3 INSCONS

Señala si el establecimiento cuenta con instrumentos de medición del consumo de agua. La existencia de instrumentos de medición del consumo de agua representa un componente técnico esencial para la gestión eficiente. Los establecimientos que miden su consumo demuestran una cultura de control y monitoreo, factores estrechamente asociados a la implementación de programas ambientales estructurados.

2.1.4 INSVERTID

Indica si existen instrumentos de medición del agua vertida. De forma similar, contar con medición de los vertimientos indica un nivel más avanzado de gestión ambiental, ya que permite evaluar los impactos del proceso productivo sobre el entorno y cumplir con exigencias normativas. Por tanto, su presencia suele correlacionarse positivamente con la implementación del PUEAA.

2.1.5 VOLUTL

Representa el volumen total de agua utilizada (m³/año). Un mayor volumen de agua utilizada puede ser un incentivo para adoptar prácticas de eficiencia, tanto por razones económicas (costos operativos) como regulatorias (control del uso del recurso). Por ello, se espera una relación positiva entre el consumo y la probabilidad de implementar el programa.

2.1.6 A_RV_STRAT

Mide el volumen de agua residual vertida sin tratamiento (m³/año). Un alto volumen de agua vertida sin tratamiento refleja una deficiencia en la gestión del recurso, por lo que se espera una relación inversa con la implementación del PUEAA: los establecimientos con mayores vertimientos sin tratamiento tienden a no contar con dicho programa.

2.1.7 A_R_TRATADA

Corresponde al volumen de agua residual tratada (m³/año). Contrariamente, un alto volumen de agua tratada denota prácticas sostenibles y cumplimiento normativo, lo que probablemente aumenta la probabilidad de tener un PUEAA implementado.

2.2 Descripción del modelo utilizado

2.2.1 Modelo K-Nearest Neighbors (KNN)

El modelo K-Nearest Neighbors (KNN) es una técnica de clasificación no paramétrica basada en la similitud entre observaciones. Su principio fundamental consiste en que un establecimiento se clasifica según la categoría más frecuente entre sus K vecinos más cercanos en el espacio de características. En este caso, se analiza si un establecimiento es similar en términos de región, actividad económica, consumo y tratamiento de agua a otros que sí o no implementan el PUEAA. El algoritmo calcula una medida de distancia (generalmente euclidiana) entre las observaciones y asigna la clase predominante entre los K vecinos más próximos. La selección del valor óptimo de K se realizó mediante validación cruzada, buscando minimizar el error de clasificación. El KNN es particularmente útil en este estudio porque no impone supuestos estadísticos sobre la distribución de los datos y permite capturar relaciones no lineales entre las variables. El ajuste y la evaluación del modelo se realizaron mediante técnicas de validación cruzada, utilizando métricas como la exactitud (accuracy), el índice Kappa, la sensibilidad, la especificidad y el área bajo la curva ROC (AUC). Estas medidas permiten valorar tanto la capacidad predictiva como la consistencia del modelo.


2.2.2 Modelo Logit (Regresión Logística)

El modelo Logit es una técnica estadística de clasificación binaria utilizada para estimar la probabilidad de que ocurra un determinado evento. En este estudio, el evento de interés es la implementación del Programa para el Uso Eficiente y Ahorro de Agua (PUEAA) por parte de los establecimientos manufactureros de alimentos (variable dependiente PROG).

El modelo se basa en la función logística, que transforma una combinación lineal de las variables independientes en valores comprendidos entre 0 y 1, interpretados como probabilidades. En este caso, la combinación incluye variables binarias (como la presencia de instrumentos de medición del consumo y vertimientos de agua) y variables cuantitativas (como los volúmenes de agua utilizada, tratada y sin tratamiento). De esta forma, el modelo permite identificar cómo cada tipo de variable contribuye al aumento o disminución de la probabilidad de que un establecimiento implemente el PUEAA.

La evaluación de desempeño se realizó utilizando las mismas métricas que para el modelo KNN, lo que facilita la comparación entre ambos enfoques.

3 Resultados Descriptivos

Antes de aplicar los modelos de clasificación, se realizó un análisis descriptivo de las variables con el propósito de comprender mejor el comportamiento general de los datos y las relaciones preliminares entre las variables independientes y la variable dependiente (PROG). Este análisis permitió identificar patrones de distribución, diferencias entre grupos y posibles asociaciones entre el consumo, tratamiento y medición del agua en los establecimientos manufactureros de alimentos. Además, los resultados descriptivos aportan una base sólida para la interpretación de los modelos supervisados, al ofrecer una visión inicial sobre cómo la región, la actividad económica y las prácticas de gestión hídrica pueden estar relacionadas con la implementación del Programa para el Uso Eficiente y Ahorro de Agua (PUEAA).

library(readxl)
data <- read_excel("Basedatos Caso2 (1).xlsx")

library(dplyr)
library(ggplot2)
library(plotly)


resumen <- data %>%
  group_by(PROG) %>%
  summarise(
    Promedio_Total_Utilizada = mean(VOLUTL, na.rm = TRUE),
    Promedio_Sin_Tratar = mean(A_RV_STRAT, na.rm = TRUE),
    Promedio_Tratada = mean(A_R_TRATADA, na.rm = TRUE)
  ) %>%
  tidyr::pivot_longer(
    cols = starts_with("Promedio"),
    names_to = "Variable",
    values_to = "Promedio"
  )

p <- ggplot(resumen, aes(x = Variable, y = Promedio, fill = as.factor(PROG))) +
  geom_col(position = "dodge") +
  labs(
    title = "Promedios de volúmenes de agua según implementación del PUEAA",
    x = "Variable",
    y = "Promedio (m³/año)",
    fill = "PROG (0=No, 1=Sí)"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 30, hjust = 1))

grafico_interactivo <- ggplotly(p)

grafico_interactivo

El análisis muestra que los establecimientos que implementan el PUEAA (Programa de Uso Eficiente y Ahorro de Agua) presentan mayores volúmenes promedio de agua utilizada y tratada en comparación con aquellos que no lo aplican. Esto indica que la implementación del programa está asociada con una gestión más activa y responsable del recurso hídrico, en la cual las empresas no solo consumen más agua, sino que también tratan una proporción mayor de sus aguas residuales. En cambio, los establecimientos sin PUEAA evidencian menor tratamiento y control del uso del agua, lo que sugiere la necesidad de fortalecer las estrategias de eficiencia y sostenibilidad hídrica en este grupo.

Además, en el siguiente gráfico se observa que los establecimientos que sí cuentan con programas presentan una mediana de consumo mucho mayor que aquellos que no los tienen.

library(readxl)

data <- read_excel("Basedatos Caso2 (1).xlsx")

library(dplyr)
library(ggplot2)
library(plotly)

data$PROG <- factor(data$PROG,
                        labels = c("No tiene programa", "Sí tiene programa"))

p <- ggplot(data, aes(x = PROG, y = log10(VOLUTL + 1), fill = PROG)) +
  geom_boxplot(alpha = 0.8) +
  labs(
    title = "Comparación del volumen de agua utilizada según presencia de PUEAA",
    x = "Programa de uso eficiente de agua (PUEAA)",
    y = "Volumen de agua utilizada (10ⁿ m³/año)"
  ) +
  theme_minimal() +
  theme(legend.position = "none", plot.title = element_text(hjust = 0.5))

ggplotly(p)

Esto sugiere que la existencia de un programa no se asocia necesariamente con un menor uso de agua, sino que podría estar más presente en empresas que manejan mayor escala productiva, más personal y mayor consumo debido a su actividad, lo que las lleva a implementar estos programas para reducir su impacto ambiental y los costos asociados a el consumo del recurso.

También se analizó la relación que tienen las regiones con el volumen de agua residual tratada por los establecimientos, donde se encontraron diferencias moderadas, excepto por la región Pacífico que presenta el mayor volumen promedio de tratamiento, seguida por las regiones Caribe y Oriental. Por su parte, regiones como Bogotá y la región Central muestran valores inferiores, que puede reflejar diferencias en infraestructura, políticas de gestión o composición industrial.

En general, se percibe que el nivel de tratamiento no es homogéneo entre regiones, sugiriendo que factores locales como la disponibilidad de plantas de tratamiento, regulaciones ambientales o características productivas influyen en la gestión del recurso hídrico.

library(readxl)

data <- read_excel("Basedatos Caso2 (1).xlsx")

res_region <- data %>%
  group_by(REGION) %>%
  summarise(
    mean_val = mean(A_R_TRATADA, na.rm = TRUE)
  ) %>%
  ungroup() %>%
  mutate(mean_log = log10(mean_val + 1))  

g2 <- ggplot(res_region, aes(x = REGION, y = mean_log, fill = REGION,
                             text = paste0("Región: ", REGION,
                                           "<br>Promedio tratado: ",
                                           formatC(mean_val, format = "f", big.mark = ",", digits = 0),
                                           " m³/año"))) +
  geom_col(width = 0.7) +
  labs(title = "Promedio del volumen de agua tratada por región",
       x = "Región",
       y = "Volumen promedio de agua residual tratada (10ⁿ m³/año) ") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.position = "none", plot.title = element_text(hjust = 0.5))

ggplotly(g2, tooltip = "text")

Luego se identificó una marcada diferencia regional en la proporción de agua no tratada. Donde las regiones de Bogotá y Centro registran los valores más elevados (6,3 % y 5,8 %, respectivamente), lo que sugiere la existencia de mayores retos en la gestión de aguas residuales y en la implementación de políticas de tratamiento eficiente. Por el contrario, las regiones Amazónica y Pacífica presentan proporciones considerablemente menores (inferiores al 1 %), lo cual podría asociarse con una menor concentración industrial o una gestión más efectiva del recurso hídrico.

library(readxl)
datos <- read_excel("Basedatos Caso2 (1).xlsx")

library(scales)

proporcion_region <- datos %>%
  group_by(REGION) %>%
  summarise(
    total_agua_utilizada = sum(VOLUTL, na.rm = TRUE),
    total_sin_tratar = sum(A_RV_STRAT, na.rm = TRUE),
    proporcion_sin_tratar = total_sin_tratar / total_agua_utilizada
  ) %>%
  arrange(desc(proporcion_sin_tratar))


grafico <- ggplot(proporcion_region, 
                  aes(x = reorder(REGION, -proporcion_sin_tratar),
                      y = proporcion_sin_tratar,
                      text = paste(
                        "Región:", REGION,
                        "<br>Proporción sin tratar:", percent(proporcion_sin_tratar, accuracy = 0.1)
                      ))) +
  geom_col(width = 0.7, fill = "#1f77b4") +  
  labs(
    title = "Proporción de agua no tratada por región",
    x = "Región",
    y = "Proporción de agua no tratada"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold"),
    axis.text.x = element_text(angle = 30, hjust = 1)
  )

grafico_interactivo <- ggplotly(grafico, tooltip = "text")

grafico_interactivo

Estos resultados ponen de manifiesto la necesidad de fortalecer las estrategias de gestión ambiental y de uso sostenible del agua en las regiones con mayores niveles de agua sin tratar, promoviendo la adopción de tecnologías de tratamiento y programas de eficiencia hídrica que contribuyan a reducir las brechas regionales observadas.

También se encontró que la región central acumula la mayor cantidad de empresas con y sin PUEAA. Por otro lado, la región Amazonía presenta una baja frecuencia de adopción y no adopción de programas, por lo que su impacto agregado es menor.

library(ggplot2)
library(plotly)
library(dplyr)
library(scales)
library(janitor)
library(psych)
library(readxl)

data  <- read_excel("Basedatos Caso2 (1).xlsx")

colnames(data ) <- c("codigo", "actividad", "region",
                    "pueaa", "medicion_consumo", "medicion_vertimiento",
                    "vol_agua_utilizada", "vol_agua_sin_tratar", 
                    "vol_agua_tratada")

data  <- data  %>%
  mutate(pueaa_factor = factor(pueaa,
                               levels = c(0, 1),
                               labels = c("No", "Sí")))

g1 <- ggplot(data , aes(x = region, fill = pueaa_factor)) +
  geom_bar(position = "dodge") +
  labs(
    title = "¿Qué regiones cuentan con más PUEAA?",
    x = "Región",
    y = "Número de empresas",
    fill = "PUEAA"
  ) +
  scale_fill_manual(values = c("No" = "#D55E00", "Sí" = "#009E73")) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplotly(g1)

Estos resultados indican que la mayor concentración de establecimientos de la industria alimentaria se ubica en las regiones Central, Oriental y en Bogotá. Asimismo, se puede observar en el siguiente gráfico que la proporción de establecimientos que cuentan con programas es notablemente mayor en la Amazonía si lo comparamos con las demás regiones que presentan proporciones cercanas a el 50%.

data  <- data  %>%
  mutate(pueaa_factor = factor(pueaa,
                               levels = c(0, 1),
                               labels = c("No", "Sí")))

g2 <- ggplot(data , aes(x = region, fill = pueaa_factor)) +
  geom_bar(position = "fill") +
  labs(
    title = "Proporción de empresas con y sin PUEAA por región",
    x = "Región",
    y = "Proporción",
    fill = "PUEAA"
  ) +
  scale_y_continuous(labels = percent_format()) +
  scale_fill_manual(values = c("No" = "#D55E00", "Sí" = "#009E73")) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(g2)

Ahora, si se analiza la adopción según el tipo de industria, se observa que esta varía significativamente por sector, lo cual puede estar influenciado por las exigencias regulatorias, el tipo de proceso productivo y la disponibilidad de infraestructura para el manejo del recurso hídrico.

g3 <- ggplot(data , aes(x = actividad, fill = pueaa_factor)) +
  geom_bar(position = "dodge") +
  labs(
    title = "¿Qué tipo de actividades cuentan con más PUEAA?",
    x = "Actividad",
    y = "Número de empresas",
    fill = "PUEAA"
  ) +
  scale_fill_manual(values = c("No" = "#D55E00", "Sí" = "#009E73")) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplotly(g3)
g4 <- ggplot(data, aes(x = actividad, fill = pueaa_factor)) +
  geom_bar(position = "fill") +
  labs(
    title = "Proporción de empresas con y sin PUEAA por tipo de actividad",
    x = "Actividad",
    y = "Proporción",
    fill = "PUEAA"
  ) +
  scale_y_continuous(labels = percent_format()) +
  scale_fill_manual(values = c("No" = "#D55E00", "Sí" = "#009E73")) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplotly(g4)

Entre los sectores que más adoptan estos programas se encuentran el de “carnes” y “aceites y grasas” con una adopción cercana al 60%, sin embargo realizando un análisis a el sector “otros”, vemos que la implementación de PUEAA es menor al 50%, siendo esto preocupante ya que este sector acumula cerca de la mitad de los establecimientos encuestados.

Por último, se encontró que el volumen promedio de agua utilizada varía según la actividad económica, siendo las de procesamiento de productos como pescados, carnes y aceites y grasas, las que presentan los valores más altos, mientras que las actividades de frutas y hortalizas y molinería y almidones registran los consumos más bajos.

library(readxl)
library(dplyr)
library(ggplot2)
library(scales)
library(gganimate)
library(gifski)

data  <- read_excel("Basedatos Caso2 (1).xlsx")

# Calcular el promedio de volumen por actividad
volumen_actividad <- data %>%
  group_by(ACTIVIDAD) %>%
  summarise(Promedio_VOLUTL = mean(VOLUTL, na.rm = TRUE)) %>%
  arrange(desc(Promedio_VOLUTL))

grafico <- ggplot(volumen_actividad, 
                  aes(x = reorder(ACTIVIDAD, Promedio_VOLUTL), 
                      y = Promedio_VOLUTL)) +
  geom_col(fill = "#4DB6AC", width = 0.7) +
  labs(
    title = "Volumen promedio de agua utilizada por actividad",
    x = "Actividad económica",
    y = "Volumen promedio de agua (m³/año)"
  ) +
  scale_y_continuous(labels = comma) +
  theme_minimal() +
  theme(
    text = element_text(size = 12),
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1, size = 10)
  )

animacion <- grafico +
  transition_reveal(Promedio_VOLUTL) +
  ease_aes('cubic-in-out')

# SOLUCIÓN: Usar animate() sin especificar width/height en pixeles
# y dejar que R Markdown maneje el dispositivo
animate(
  animacion,
  nframes = 180,      # número de frames (6 segundos * 30 fps)
  fps = 30,
  end_pause = 60,     # pausa al final
  renderer = gifski_renderer(),
  width = 10,         # en pulgadas, no pixeles
  height = 7,         # en pulgadas, no pixeles
  units = "in",
  res = 100           # resolución
)

Esto indica que las actividades industriales relacionadas con productos de origen animal requieren mayores volúmenes de agua, posiblemente por los procesos de limpieza, refrigeración o transformación que implican, evidenciando así que el tipo de actividad influye directamente en el nivel de uso del recurso hídrico.

4 Resultados del Modelo

En esta sección se presentan los resultados de los modelos de clasificación Regresión Logística (Logit) y K-Nearest Neighbors (KNN), con el propósito de evaluar su desempeño en la predicción de la implementación del Programa para el Uso Eficiente y Ahorro de Agua (PUEAA).

Se comparan métricas como la exactitud (accuracy), la sensibilidad, la precisión, la especificidad, el AUC, el índice Kappa y la exactitud balanceada, con el fin de determinar cuál modelo ofrece un mejor poder de clasificación y una detección más efectiva de los casos positivos. Finalmente, se analiza la estabilidad de los modelos, destacando aquel que presenta un comportamiento más consistente y confiable en la predicción.

4.1 Modelo KNN

library(readxl)
library(class)
library(caret)
library(tidyverse)
library(ROCR)

Basedatos <- read_excel("Basedatos Caso2 (1).xlsx")

Basedatos <- Basedatos %>% mutate(across(everything(), as.factor))

Basedatos$PROG <- factor(Basedatos$PROG, levels = c("0", "1"))

set.seed(28)
indxEntrena <- createDataPartition(y = Basedatos$PROG, p = 0.75, list = FALSE)
data_entrena <- Basedatos[indxEntrena, ]
data_test <- Basedatos[-indxEntrena, ]

set.seed(28)
modelo_knn <- train(PROG ~ ACTIVIDAD + REGION + INSCONS + INSVERTID + VOLUTL +
                      A_RV_STRAT + A_R_TRATADA,
                    data = data_entrena,
                    method = "knn",
                    tuneLength = 250)

modelo_knn
## k-Nearest Neighbors 
## 
## 502 samples
##   7 predictor
##   2 classes: '0', '1' 
## 
## No pre-processing
## Resampling: Bootstrapped (25 reps) 
## Summary of sample sizes: 502, 502, 502, 502, 502, 502, ... 
## Resampling results across tuning parameters:
## 
##   k    Accuracy   Kappa      
##     5  0.6523387  0.305649679
##     7  0.6570675  0.315046249
##     9  0.6598534  0.320606049
##    11  0.6677496  0.336132659
##    13  0.6699480  0.340811058
##    15  0.6668592  0.335092190
##    17  0.6647743  0.332016371
##    19  0.6654872  0.333071724
##    21  0.6630547  0.328817339
##    23  0.6609440  0.324955374
##    25  0.6600326  0.322797371
##    27  0.6601847  0.322692297
##    29  0.6611144  0.324814184
##    31  0.6604723  0.323540959
##    33  0.6609670  0.324508725
##    35  0.6599653  0.322210879
##    37  0.6632592  0.328566607
##    39  0.6653401  0.332436760
##    41  0.6675051  0.336708280
##    43  0.6673354  0.336609677
##    45  0.6669200  0.336002011
##    47  0.6688734  0.339744474
##    49  0.6686488  0.339702674
##    51  0.6690522  0.340254863
##    53  0.6663953  0.335012383
##    55  0.6705840  0.343430200
##    57  0.6693456  0.340999797
##    59  0.6694524  0.341470263
##    61  0.6689369  0.340847419
##    63  0.6666236  0.336232557
##    65  0.6666042  0.336483853
##    67  0.6653163  0.334059904
##    69  0.6646429  0.332684296
##    71  0.6647414  0.332857273
##    73  0.6644116  0.332441557
##    75  0.6625762  0.328748401
##    77  0.6627659  0.329441880
##    79  0.6629775  0.329626745
##    81  0.6622867  0.328312621
##    83  0.6618158  0.327276573
##    85  0.6622475  0.327566084
##    87  0.6616351  0.326216386
##    89  0.6616960  0.326405369
##    91  0.6612250  0.325410451
##    93  0.6608143  0.324693468
##    95  0.6605168  0.324061590
##    97  0.6609382  0.324868690
##    99  0.6624991  0.327860589
##   101  0.6612292  0.325385398
##   103  0.6607323  0.324510532
##   105  0.6620468  0.327016555
##   107  0.6611709  0.325247547
##   109  0.6613502  0.325582847
##   111  0.6613894  0.325637135
##   113  0.6611178  0.325122413
##   115  0.6609201  0.324727069
##   117  0.6602534  0.323339096
##   119  0.6621874  0.327202345
##   121  0.6610243  0.324953107
##   123  0.6604229  0.323664097
##   125  0.6615882  0.326002272
##   127  0.6613191  0.325407382
##   129  0.6608625  0.324567765
##   131  0.6611009  0.325077766
##   133  0.6611263  0.325154722
##   135  0.6617600  0.326397665
##   137  0.6624107  0.327855318
##   139  0.6620059  0.327014392
##   141  0.6613273  0.325680545
##   143  0.6609058  0.324888912
##   145  0.6608477  0.324698058
##   147  0.6627319  0.328104089
##   149  0.6640122  0.330805986
##   151  0.6644686  0.331637040
##   153  0.6647305  0.332106543
##   155  0.6642649  0.330931081
##   157  0.6659663  0.334173940
##   159  0.6648713  0.332142864
##   161  0.6654415  0.333446068
##   163  0.6650109  0.332720374
##   165  0.6657258  0.334223448
##   167  0.6659196  0.334639407
##   169  0.6663482  0.335532125
##   171  0.6661309  0.335099827
##   173  0.6680381  0.338897567
##   175  0.6676717  0.338256464
##   177  0.6683411  0.339668440
##   179  0.6689351  0.340796025
##   181  0.6698478  0.342734543
##   183  0.6678795  0.338902803
##   185  0.6689790  0.341143245
##   187  0.6685386  0.340306234
##   189  0.6692398  0.341744511
##   191  0.6687616  0.340780550
##   193  0.6681579  0.339595183
##   195  0.6691989  0.341629259
##   197  0.6688072  0.340902011
##   199  0.6689783  0.341206135
##   201  0.6685547  0.340364914
##   203  0.6690216  0.341272452
##   205  0.6692004  0.341650865
##   207  0.6687356  0.340752980
##   209  0.6678824  0.339091652
##   211  0.6670335  0.337485852
##   213  0.6654652  0.334563360
##   215  0.6656447  0.334894649
##   217  0.6637872  0.331465379
##   219  0.6633604  0.330620471
##   221  0.6627285  0.329433534
##   223  0.6628946  0.329825818
##   225  0.6616033  0.327188565
##   227  0.6612349  0.326596934
##   229  0.6617277  0.327573257
##   231  0.6603456  0.324856308
##   233  0.6592900  0.322885513
##   235  0.6606770  0.325594110
##   237  0.6589706  0.322415171
##   239  0.6564546  0.317622336
##   241  0.6534567  0.311981137
##   243  0.6537592  0.312667620
##   245  0.6531850  0.311776191
##   247  0.6531791  0.311639869
##   249  0.6517381  0.309092499
##   251  0.6515285  0.308682760
##   253  0.6513270  0.308209471
##   255  0.6510626  0.307710615
##   257  0.6513259  0.308261538
##   259  0.6502431  0.306174014
##   261  0.6491991  0.304079320
##   263  0.6489664  0.303554350
##   265  0.6485276  0.302709575
##   267  0.6478978  0.301466970
##   269  0.6492034  0.303953539
##   271  0.6481233  0.301837980
##   273  0.6489486  0.303494771
##   275  0.6481123  0.301929821
##   277  0.6481142  0.301987841
##   279  0.6466672  0.299099224
##   281  0.6471073  0.300009796
##   283  0.6439153  0.294357735
##   285  0.6445231  0.295685805
##   287  0.6441309  0.295097634
##   289  0.6434369  0.293718234
##   291  0.6423148  0.291726024
##   293  0.6416216  0.290795526
##   295  0.6400846  0.288591718
##   297  0.6407031  0.289898197
##   299  0.6421897  0.292727819
##   301  0.6419927  0.292384699
##   303  0.6438475  0.295913918
##   305  0.6415093  0.291293381
##   307  0.6415102  0.291591714
##   309  0.6397722  0.288246118
##   311  0.6408461  0.290103481
##   313  0.6411952  0.291674754
##   315  0.6409752  0.291384912
##   317  0.6418039  0.292923389
##   319  0.6401720  0.289815348
##   321  0.6386720  0.286819945
##   323  0.6415674  0.292974827
##   325  0.6415821  0.293007759
##   327  0.6451992  0.300139589
##   329  0.6436878  0.297223696
##   331  0.6443584  0.298471781
##   333  0.6435192  0.296877449
##   335  0.6430910  0.295949520
##   337  0.6415929  0.293150524
##   339  0.6409001  0.291876313
##   341  0.6407104  0.291436376
##   343  0.6422158  0.294500585
##   345  0.6411653  0.292424882
##   347  0.6432024  0.296374279
##   349  0.6442729  0.298478133
##   351  0.6440471  0.297965414
##   353  0.6425496  0.294922975
##   355  0.6427454  0.295389479
##   357  0.6435693  0.297198799
##   359  0.6412166  0.292718776
##   361  0.6401889  0.291022137
##   363  0.6403336  0.291274085
##   365  0.6387342  0.288230290
##   367  0.6398463  0.290436245
##   369  0.6367125  0.284673228
##   371  0.6365059  0.284254294
##   373  0.6364563  0.284163124
##   375  0.6360220  0.283466859
##   377  0.6356033  0.282526904
##   379  0.6367303  0.284504310
##   381  0.6362330  0.283719141
##   383  0.6359961  0.283273414
##   385  0.6355421  0.282299071
##   387  0.6334910  0.278263907
##   389  0.6339082  0.279338250
##   391  0.6313090  0.274485448
##   393  0.6308466  0.273609810
##   395  0.6305544  0.273114504
##   397  0.6275720  0.267378084
##   399  0.6224372  0.257339889
##   401  0.6206091  0.254170317
##   403  0.6193277  0.251535020
##   405  0.6132192  0.240067879
##   407  0.6100676  0.234990676
##   409  0.6067731  0.228480218
##   411  0.6032711  0.222387337
##   413  0.6017467  0.219767949
##   415  0.5949192  0.206631466
##   417  0.5939078  0.204736243
##   419  0.5901447  0.198018486
##   421  0.5867905  0.191534647
##   423  0.5857840  0.189600150
##   425  0.5835624  0.185388074
##   427  0.5813464  0.181105656
##   429  0.5816083  0.181832515
##   431  0.5779725  0.175108264
##   433  0.5777516  0.174754522
##   435  0.5774876  0.174472204
##   437  0.5775169  0.174413838
##   439  0.5764556  0.172461203
##   441  0.5787992  0.177012824
##   443  0.5766241  0.172627190
##   445  0.5777213  0.174818941
##   447  0.5758063  0.170973319
##   449  0.5729832  0.165552427
##   451  0.5718373  0.163314425
##   453  0.5690177  0.158154747
##   455  0.5688158  0.157795326
##   457  0.5669029  0.153993224
##   459  0.5639167  0.148470672
##   461  0.5632898  0.147734985
##   463  0.5588622  0.139143968
##   465  0.5564634  0.135205567
##   467  0.5529918  0.129172043
##   469  0.5515010  0.127154356
##   471  0.5446769  0.114673944
##   473  0.5397877  0.106075546
##   475  0.5350399  0.097942219
##   477  0.5258287  0.081486947
##   479  0.5143830  0.061048284
##   481  0.5053382  0.044985230
##   483  0.5038235  0.042390408
##   485  0.5038223  0.042631951
##   487  0.5044770  0.044094844
##   489  0.5023319  0.039746506
##   491  0.5036087  0.042637311
##   493  0.5016835  0.038862334
##   495  0.4973749  0.030176444
##   497  0.4928223  0.021401648
##   499  0.4838271  0.003470896
##   501        NaN          NaN
##   503        NaN          NaN
## 
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was k = 55.
predicciones <- predict(modelo_knn, newdata = data_test)

mean(predicciones == data_test$PROG)
## [1] 0.6987952
confusionMatrix(predicciones, data_test$PROG, positive = "1")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 67 34
##          1 16 49
##                                           
##                Accuracy : 0.6988          
##                  95% CI : (0.6229, 0.7675)
##     No Information Rate : 0.5             
##     P-Value [Acc > NIR] : 1.605e-07       
##                                           
##                   Kappa : 0.3976          
##                                           
##  Mcnemar's Test P-Value : 0.01621         
##                                           
##             Sensitivity : 0.5904          
##             Specificity : 0.8072          
##          Pos Pred Value : 0.7538          
##          Neg Pred Value : 0.6634          
##              Prevalence : 0.5000          
##          Detection Rate : 0.2952          
##    Detection Prevalence : 0.3916          
##       Balanced Accuracy : 0.6988          
##                                           
##        'Positive' Class : 1               
## 

4.2 Modelo logit

library(readxl)
mydata  <- read_excel("Basedatos logit.xlsx")

library(tidyverse)
library(caret)
library(pROC)
library(readxl)  

mydata$PROG <- factor(mydata$PROG, levels = c("No", "Si"))


set.seed(28)
idx <- createDataPartition(y = mydata$PROG, p = 0.75, list = FALSE)
train <- mydata[idx, ]
test  <- mydata[-idx, ]

fit_logit <- glm(PROG ~ REGION + ACTIVIDAD + INSCONS + INSVERTID + VOLUTL,
                 data = train,
                 family = binomial())

summary(fit_logit)
## 
## Call:
## glm(formula = PROG ~ REGION + ACTIVIDAD + INSCONS + INSVERTID + 
##     VOLUTL, family = binomial(), data = train)
## 
## Coefficients:
##                                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                    -5.232e-01  1.127e+00  -0.464  0.64242    
## REGIONBogota                   -1.016e+00  9.077e-01  -1.119  0.26311    
## REGIONCaribe                   -9.481e-01  9.103e-01  -1.041  0.29768    
## REGIONCentral                  -1.168e+00  8.874e-01  -1.316  0.18826    
## REGIONOriental                 -7.058e-01  8.984e-01  -0.786  0.43208    
## REGIONPacifico                 -1.569e+00  9.117e-01  -1.721  0.08531 .  
## ACTIVIDADCarnes                -1.909e-01  6.874e-01  -0.278  0.78119    
## ACTIVIDADFrutas y hortalizas   -1.279e+00  8.036e-01  -1.591  0.11160    
## ACTIVIDADLacteos               -3.044e-01  6.869e-01  -0.443  0.65765    
## ACTIVIDADMolineria y almidones -3.730e-01  6.825e-01  -0.546  0.58473    
## ACTIVIDADOtros                 -3.352e-01  6.409e-01  -0.523  0.60098    
## ACTIVIDADPescados              -7.337e-01  1.185e+00  -0.619  0.53575    
## INSCONSSi                       1.636e+00  3.251e-01   5.031 4.87e-07 ***
## INSVERTIDSi                     7.211e-01  2.540e-01   2.839  0.00453 ** 
## VOLUTL                          9.377e-06  2.192e-06   4.278 1.88e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 695.91  on 501  degrees of freedom
## Residual deviance: 534.22  on 487  degrees of freedom
## AIC: 564.22
## 
## Number of Fisher Scoring iterations: 6
p_hat <- predict(fit_logit, newdata = test, type = "response")

pred_clase <- factor(ifelse(p_hat >= 0.5, "Si", "No"), levels = c("Si", "No"))

# ========= 5) Umbral óptimo con curva ROC =========
roc_o <- roc(response = test$PROG, predictor = p_hat, levels = c("No", "Si"))
thr   <- coords(roc_o, x = "best", best.method = "youden", ret = "threshold")
umbral <- as.numeric(thr)

pred_clase <- factor(ifelse(p_hat >= umbral, "Si", "No"), levels = c("Si", "No"))
confusionMatrix(pred_clase, test$PROG, positive = "Si")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction No Si
##         No 68 29
##         Si 15 54
##                                          
##                Accuracy : 0.7349         
##                  95% CI : (0.661, 0.8003)
##     No Information Rate : 0.5            
##     P-Value [Acc > NIR] : 5.659e-10      
##                                          
##                   Kappa : 0.4699         
##                                          
##  Mcnemar's Test P-Value : 0.05002        
##                                          
##             Sensitivity : 0.6506         
##             Specificity : 0.8193         
##          Pos Pred Value : 0.7826         
##          Neg Pred Value : 0.7010         
##              Prevalence : 0.5000         
##          Detection Rate : 0.3253         
##    Detection Prevalence : 0.4157         
##       Balanced Accuracy : 0.7349         
##                                          
##        'Positive' Class : Si             
## 


4.2.1 Exactitud (Accuracy)

La exactitud mide la proporción total de predicciones correctas realizadas por el modelo, reflejando su capacidad general para clasificar correctamente los establecimientos que implementan o no el PUEAA.

En este análisis, el modelo Logit obtuvo una exactitud de predicción del 73.49%, frente a el 69.88% del modelo KNN. Estos resultados indican que el modelo Logit presenta un mejor desempeño a la hora de clasificar las observaciones, logrando predecir correctamente una mayor proporción de casos en comparación con el KNN.

La diferencia, aunque es moderada, sugiere que el modelo Logit logra una representación más estable y precisa de la relación entre las variables independientes y la probabilidad de implementación de PUEAA. Sin embargo, debido a que la exactitud no distingue entre los tipos de error (falsos positivos y falsos negativos), es necesario complementar este resultado con métricas adicionales.

plot(modelo_knn)

Adicionalmente, la exactitud del modelo KNN en función del número de vecinos muestra cambios de acuerdo al número de vecinos considerados para hacer la clasificación. Se puede observar que para valores K pequeños la exactitud alcanza el nivel más alto. Luego, a medida que la cantidad de vecinos crece se estabiliza definiendo un rango óptimo en el que la exactitud se hace constante. Pero cuando el valor K se hace muy grande el nivel de exactitud disminuye.


4.2.2 Sensibilidad (Recall o Tasa de Verdaderos Positivos)

La sensibilidad mide la capacidad del modelo para detectar correctamente los casos positivos, es decir, los establecimientos que sí implementan PUEAA. Un valor alto indica que el modelo logra identificar de manera efectiva la mayoría de los casos en los que el programa está presente.

En el presente estudio, el modelo Logit obtuvo una sensibilidad del 65.06%, mientras que el modelo KNN alcanzó 59.04%. Esto significa que el modelo Logit detecta mejor los establecimientos que han implementado el PUEAA, mostrando una mayor capacidad para reconocer los casos positivos.

En términos prácticos, el modelo Logit resulta más útil cuando el objetivo es identificar correctamente a los establecimientos comprometidos con la gestión eficiente del agua, reduciendo el riesgo de pasar por alto aquellos que efectivamente aplican el programa.


4.2.3 Especificidad (Specificity o Tasa de Verdaderos Negativos)

La especificidad evalúa la capacidad del modelo para identificar correctamente los casos negativos, es decir, los establecimientos que no han implementado el PUEAA. Un valor alto refleja que el modelo clasifica de forma precisa a quienes realmente no aplican el programa, evitando falsos positivos.

En este caso, el modelo Logit obtuvo una especificidad de 81.93 %, mientras que el modelo KNN presentó un valor ligeramente menor de 80.72 %. Esto indica que ambos modelos tienen un buen desempeño en la detección de establecimientos sin el programa, aunque el Logit muestra una leve ventaja.

Así, el modelo Logit no solo logra una mejor sensibilidad, sino también una mayor precisión al identificar correctamente los casos negativos, consolidándose como el modelo con mejor capacidad discriminante en ambas direcciones.


4.2.4 Comparación de las Curvas ROC

pred_roc <- prediction(as.numeric(predicciones), as.numeric(data_test$PROG))
perf_roc <- performance(pred_roc, "tpr", "fpr")
plot(perf_roc, col = "blue", main = "Curva ROC - Modelo kNN")

# ========= 6) Curva ROC =========
auc_val <- auc(roc_o)
plot(roc_o, main = sprintf("ROC Logit | AUC=%.3f | Umbral óptimo=%.3f", auc_val, umbral))

La curva ROC permite visualizar la capacidad de los modelos para distinguir entre los establecimientos que implementan el PUEAA y aquellos que no. En el caso del modelo KNN, la curva presenta una trayectoria cercana a la diagonal, lo que indica un desempeño limitado en la discriminación de los casos positivos y negativos. Esto se refleja en un AUC cercano a 0.5, valor que sugiere un comportamiento apenas superior al azar.

Por el contrario, el modelo Logit muestra una curva ROC más alejada de la diagonal y un AUC de 0.803, lo que representa una buena capacidad de clasificación y una mayor precisión en la predicción de la implementación del programa. En otras palabras, el modelo Logit logra identificar correctamente una proporción más alta de establecimientos con PUEAA sin incrementar excesivamente los falsos positivos.

Estos resultados confirman que el modelo Logit supera al KNN tanto en su desempeño gráfico (curva ROC) como en su medida cuantitativa (AUC), consolidándose como el modelo más adecuado para este problema de clasificación.

4.3 Índice Kappa de Cohen

El índice Kappa evalúa el grado de concordancia entre las predicciones del modelo y los valores reales, corrigiendo el efecto del azar. A diferencia de la exactitud (accuracy), que puede verse afectada por un posible desbalance en las clases, el Kappa proporciona una medida más confiable del desempeño global del modelo.

En este análisis, el modelo Logit obtuvo un índice Kappa de 0.4681, mientras que el modelo KNN alcanzó un valor de 0.3976. Ambos valores representan una concordancia moderada, aunque el modelo Logit presenta una mayor consistencia en sus clasificaciones.

Esto indica que el Logit mantiene un mejor equilibrio entre los aciertos de los establecimientos que implementan y los que no implementan el PUEAA, reduciendo la influencia del azar. En consecuencia, el modelo Logit demuestra mayor fiabilidad y coherencia predictiva frente al KNN.

4.4 Exactitud Balanceada (Balanced Accuracy)

La exactitud balanceada es una métrica que promedia la sensibilidad y la especificidad del modelo, ofreciendo una medida más justa del desempeño cuando las clases no están igualmente representadas. A diferencia de la accuracy tradicional, que puede verse influenciada por el predominio de una clase, la balanced accuracy permite evaluar de manera equilibrada la capacidad del modelo para identificar correctamente tanto los casos positivos como los negativos.

En este análisis, el modelo Logit alcanzó una exactitud balanceada de 73.49 %, mientras que el modelo KNN obtuvo un valor ligeramente menor de 0.6988 (69.88 %). Estos resultados confirman que el modelo Logit mantiene un mejor equilibrio entre la detección de establecimientos que implementan el PUEAA y aquellos que no lo hacen, evitando sesgos hacia una sola categoría.

Por su parte, el modelo KNN presenta un desempeño aceptable, pero con una leve tendencia a clasificar incorrectamente algunos casos positivos, lo que reduce su balance general. En consecuencia, la mayor exactitud balanceada del modelo Logit respalda nuevamente su superior capacidad de clasificación global y su estabilidad frente a posibles desequilibrios en los datos.

4.5 Estabilidad del Modelo

La estabilidad del modelo evalúa la consistencia de su desempeño ante diferentes muestras de datos. En este estudio, ambos modelos mostraron resultados estables; sin embargo, el modelo Logit presentó mayor robustez y menor variabilidad, manteniendo un rendimiento más uniforme en la predicción del PUEAA. En contraste, el modelo KNN resultó más sensible a los cambios en la muestra y a posibles valores atípicos, lo que reduce ligeramente su estabilidad general.

En conjunto, ambos modelos muestran un rendimiento aceptable, pero el Logit se destaca por su mayor estabilidad, precisión y capacidad interpretativa, al permitir identificar los factores que influyen en la adopción del PUEAA. Por su parte, aunque el KNN obtiene resultados cercanos, su desempeño es más sensible a la estructura de los datos y carece de una interpretación directa de los predictores. Por lo tanto, se recomienda el uso del modelo Logit, ya que combina un mejor poder predictivo con la posibilidad de comprender las variables que determinan la implementación del programa.

5 Conclusiones

El análisis permitió identificar los principales factores que determinan la implementación del Programa para el Uso Eficiente y Ahorro de Agua (PUEAA) en los establecimientos manufactureros de alimentos en Colombia. A partir de los resultados obtenidos con los modelos de clasificación Logit y K-Nearest Neighbors (KNN), se concluye que variables como la región, la actividad económica, la existencia de instrumentos de medición del consumo y vertimiento, y los volúmenes de agua utilizada y tratada, influyen significativamente en la probabilidad de adopción del programa.

En términos de desempeño, Logit presentó mejores resultados que el modelo KNN en todas las métricas de evaluación, incluyendo la exactitud (73.49 %), la sensibilidad (65.06 %), la especificidad (81.93 %), el área bajo la curva ROC (0.803) y el índice Kappa (0.4681). Esto demuestra que el modelo Logit logra un equilibrio más adecuado entre la correcta identificación de los establecimientos que implementan y los que no implementan el PUEAA, además de ofrecer una interpretación más clara de la relación entre las variables predictoras y el fenómeno analizado. El modelo KNN, aunque presentó un rendimiento aceptable, mostró menor estabilidad y sensibilidad a los cambios en la muestra, por lo que se considera menos robusto para este tipo de análisis.

A la luz de los resultados obtenidos, se puede afirmar que el modelo ajustado sí logró responder al objetivo de la investigación, ya que permitió identificar de manera estadísticamente consistente los factores más relevantes que inciden en la implementación del PUEAA como la actividad económica del establecimiento, la región geográfica, la presencia de instrumentos de medición del consumo y vertimiento, y los volúmenes de agua utilizada, tratada y sin tratamiento, así como estimar la probabilidad de adopción del programa en diferentes tipos de establecimientos. Además, los hallazgos aportan una base sólida para la toma de decisiones orientadas a fortalecer las políticas públicas de gestión hídrica en el sector manufacturero de alimentos.

Entre las principales recomendaciones o estrategias derivadas de los hallazgos, se proponen las siguientes:

Fortalecer la medición y monitoreo del recurso hídrico, promoviendo el uso de instrumentos para registrar el consumo y vertimiento de agua en todos los establecimientos, ya que su presencia se asoció positivamente con la adopción del PUEAA.

Fomentar programas de capacitación y asistencia técnica en regiones con menor adopción (como la Central y Bogotá), para mejorar la gestión ambiental y la conciencia empresarial sobre la importancia del uso eficiente del agua.

Priorizar intervenciones en sectores industriales con alto consumo hídrico como carnes, aceites y grasas, orientando incentivos regulatorios o económicos que promuevan la eficiencia y el tratamiento del agua residual.

Incentivar la adopción de tecnologías limpias y de tratamiento, especialmente en regiones donde se evidenció un mayor volumen de vertimientos sin tratamiento, con el fin de reducir las brechas regionales en sostenibilidad hídrica.

En síntesis, el estudio evidencia que los modelos de clasificación, especialmente el Logit, constituyen herramientas valiosas para comprender los determinantes de la gestión eficiente del agua en la industria alimentaria. Su aplicación permite no solo identificar los factores críticos de adopción del PUEAA, sino también orientar estrategias de política pública y gestión empresarial que fortalezcan la sostenibilidad del recurso hídrico en el país.

6 Bibliografía

Departamento Administrativo Nacional de Estadística. (2022). ANONIMIZADO_CAP4_22 [Conjunto de datos]. Microdatos – DANE. https://microdatos.dane.gov.co/index.php/catalog/838/data-dictionary/F4?file_name=ANONIMIZADO_CAP4_22

Ministerio de Ambiente y Desarrollo Sostenible de la República de Colombia. (2025). Uso eficiente y ahorro del agua. https://archivo.minambiente.gov.co/index.php/gestion-integral-del-recurso-hidrico/administracion-del-recurso-hidrico/demanda/uso-eficiente-y-ahorro-de-agua