/ 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.

10 min de lectura Python · scikit-learn · imbalanced-learn Datos: histórico mensual de consumo, red de distribución de baja tensión Aplicable a tesis y proyectos aplicados
Histórico de consumo eléctrico mensual de servicios en baja tensión, analizado con machine learning para priorizar inspecciones de hurto de energía

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


Estructura de alto nivelDiagrama de la solución

Fuente Histórico de consumo mensual por servicio Ingeniería de características Media · mínimo · máximo · desviación estándar · tendencia Mismas características Se comparan dos enfoques en paralelo K-Means Exploratorio, no supervisado Random Forest Supervisado, + SMOTE Clusters dominados por magnitud de consumo AUC-ROC 0.86 Recall hurto: 0.50 Score combinado por servicio Lista priorizada de inspecció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ónDato
Etiqueta disponibleSolo 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 entradaHistórico mensual de consumo (kWh) por servicio, sin datos de flujo de carga ni medición inteligente
Objetivo operativoPriorizar candidatos de inspección, no cuantificar la energía perdida
OpciónPor qué se descartó
Usar el consumo absoluto como única señalConfunde un consumo naturalmente bajo (vivienda pequeña, negocio de temporada baja) con manipulación del medidor
Clustering puro sin comparar contra un modelo supervisadoSe 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 SMOTEAprovecha la etiqueta real disponible y captura la caída sostenida como señal principal, no solo el nivel de consumo

Pasos

1

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.

2

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.

3

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.

4

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.

54
proyectos
8
sectores
100%
aplicado

Sin registro. Acceso inmediato