/ Proyectos / Energía / Identificación de hurto de energía
Identificación de hurto de energía: clustering y Random Forest sobre el histórico de consumo
Cómo priorizar a qué servicios mandar primero al inspector de campo, a partir del comportamiento del consumo mensual en baja tensión, sin depender de un flujo de carga completo.
Las pérdidas no técnicas, hurto de energía en sus distintas formas, son un problema conocido en redes de distribución de baja tensión en Latinoamérica, donde el porcentaje de pérdidas suele superar el promedio regional. El reto de este proyecto no era calcular cuánta energía se pierde, sino algo más operativo: con el histórico mensual de consumo de miles de servicios, ¿a cuáles mandar primero al inspector de campo?
La respuesta no estaba en el consumo absoluto de cada servicio, sino en su comportamiento en el tiempo. Se diseñó un pipeline que convierte cada historial de consumo en un puñado de características de serie de tiempo (media, mínimo, máximo, desviación estándar y tendencia), y las alimenta a dos modelos en paralelo: un K-Means no supervisado para caracterizar comportamiento, y un Random Forest supervisado con SMOTE para clasificar hurto frente a no-hurto, entrenado sobre el registro de inspecciones previas.
Mapa del casoContenido
- Diagrama de la solución. Del histórico de consumo a la lista priorizada de inspección
- Construcción de la solución. Cómo el desbalance real de clases dirigió cada decisión
- Condiciones del proyecto. Restricciones reales y opciones descartadas antes de construir
- Pasos. Qué se dejó al agente y qué criterio se aplicó en cada uno
- Proceso de iteración. Los límites reales que dejó ver la validación
- Descargables. Notebook, diagrama y repositorio del proyecto
- Lecciones importantes. La lección concreta que deja este caso
Estructura de alto nivelDiagrama de la solución
Pasa el cursor sobre cada bloque para ver qué hace ese paso.
El clustering y la clasificación corren sobre las mismas características, pero no se fusionan en una sola salida: se comparan, porque el clustering revela qué tanto del comportamiento se explica solo por el consumo, y ahí es donde aparece el primer límite real del enfoque no supervisado.
De datos a modeloConstrucción de la solución
Condiciones del proyecto
| Restricción | Dato |
|---|---|
| Etiqueta disponible | Solo para servicios con inspección previa: hurto confirmado o servicio normal verificado |
| Desbalance de clases | ~13% de los servicios etiquetados corresponden a hurto confirmado |
| Dato de entrada | Histórico mensual de consumo (kWh) por servicio, sin datos de flujo de carga ni medición inteligente |
| Objetivo operativo | Priorizar candidatos de inspección, no cuantificar la energía perdida |
| Opción | Por qué se descartó |
|---|---|
| Usar el consumo absoluto como única señal | Confunde un consumo naturalmente bajo (vivienda pequeña, negocio de temporada baja) con manipulación del medidor |
| Clustering puro sin comparar contra un modelo supervisado | Se descubrió que agrupa antes por magnitud de consumo (tarifa) que por comportamiento de hurto |
| Ingeniería de características de serie de tiempo (tendencia incluida) + Random Forest supervisado con SMOTE | Aprovecha la etiqueta real disponible y captura la caída sostenida como señal principal, no solo el nivel de consumo |
Pasos
Ingeniería de características sobre la serie de tiempo
Agente: propuso usar directamente el consumo promedio de cada servicio como entrada al modelo.
Criterio aplicado: agregar la tendencia (pendiente de una regresión lineal simple sobre el consumo mensual) como característica adicional, porque una caída sostenida es la señal más asociada a manipulación del medidor, no el nivel de consumo por sí solo.
Clustering como exploración, no como solución final
Agente: sugirió usar los clusters de K-Means directamente como la etiqueta de hurto.
Criterio aplicado: usar el clustering solo como paso exploratorio y comparar sus grupos contra la etiqueta real, ya que el algoritmo termina separando mayormente por tarifa (magnitud de consumo) y no por el patrón de caída que interesa.
Corrección del desbalance de clases
Agente: propuso solo ajustar el parámetro class_weight del clasificador.
Criterio aplicado: combinar SMOTE sobre el conjunto de entrenamiento con el ajuste de pesos de clase, aplicando SMOTE únicamente después de separar train y test, para no filtrar información sintética hacia la evaluación.
Elección de la métrica de evaluación
Agente: reportó el accuracy general como métrica principal.
Criterio aplicado: priorizar el recall de la clase hurto y el AUC-ROC, porque con 13% de positivos el accuracy es engañoso: un modelo que nunca predice hurto ya tendría accuracy alto.
Proceso de iteración
Ajuste documentado, no forzado
El Random Forest con SMOTE alcanzó un AUC-ROC de 0.86 sobre el conjunto de prueba, pero el recall de la clase hurto quedó en 0.50: la mitad de los hurtos confirmados en el set de prueba no fueron detectados. La causa más probable, confirmada al revisar los casos mal clasificados, es que existen servicios normales con caídas de consumo legítimas (cierre parcial de un negocio, cambio de hábito, mudanza) que se comportan de forma casi idéntica a un hurto en las características disponibles. Este es un límite real del enfoque basado solo en consumo: sin una variable adicional que distinga la causa de la caída, hay un techo de desempeño que ningún ajuste de hiperparámetros va a resolver por sí solo.
CierreLecciones importantes
La tendencia del consumo, no el nivel de consumo, fue la variable que más trabajo hizo en este modelo. Es una lección que se repite en detección de anomalías: casi siempre importa más cómo cambia una serie que su valor absoluto en un momento dado. La segunda lección fue de honestidad con los resultados: un recall de 0.50 en la clase de interés no es un modelo fallido, es información real sobre dónde está el techo de un enfoque que solo mira consumo, y esa información vale para decidir si conviene sumar otra fuente de datos antes de llevarlo a producción.
Si quieres ver un enfoque publicado con una idea similar, minería de datos y clasificación aplicada a la detección de pérdidas no técnicas, este trabajo es una buena referencia del nivel de la contribución: Metodología para la detección de pérdidas no técnicas en sistemas de distribución utilizando métodos de minería de datos.
Termina ya tu proyecto
¿Tienes un proyecto similar y no sabes por dónde empezar? Yo te ayudo a diseñarlo.
El 92% de los profesionales de datos desbloquea sus proyectos al ver ejemplos completos resueltos.
Sin registro. Acceso inmediato