Está en la página 1de 85

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/341625563

Implementación del algoritmo de análisis de demanda eléctrica por usos finales


en las curvas de UVECASE

Research · February 2020


DOI: 10.13140/RG.2.2.27860.22405

CITATIONS READS

0 280

1 author:

Pablo Rodriguez
University of Costa Rica
3 PUBLICATIONS 0 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Proyecto Eléctrico View project

All content following this page was uploaded by Pablo Rodriguez on 25 May 2020.

The user has requested enhancement of the downloaded file.


Universidad de Costa Rica
Facultad de Ingeniería
Escuela de Ingeniería Eléctrica

IE0499 – Proyecto Eléctrico

Implementación del algoritmo de análisis de demanda


eléctrica por usos finales en las curvas de UVECASE

por

Pablo Salvador Rodríguez Gómez

Ciudad Universitaria Rodrigo Facio

Febrero de 2020
Implementación del algoritmo de análisis de demanda
eléctrica por usos finales en las curvas de UVECASE

por

Pablo Salvador Rodríguez Gómez

B45900

IE0499 – Proyecto Eléctrico


Aprobado por

Dr. Jairo Quirós Tortós


Profesor guía

Ing. Luis Fernando Victor Gallardo Ing. Jam Angulo Paniagua


Profesor lector Profesor lector

Febrero de 2020
Resumen

Implementación del algoritmo de análisis de demanda


eléctrica por usos finales en las curvas de UVECASE

por

Pablo Salvador Rodríguez Gómez

Universidad de Costa Rica


Escuela de Ingeniería Eléctrica
Profesor guía: Dr. Jairo Quirós Tortós
Febrero de 2020

Este trabajo es la continuación del desarrollo de un algoritmo implementado por el Labora-


torio de Investigación en Sistemas de Potencia y Energía Eléctrica (EPERLab), el cual determina
la potencia desagregada de una residencia a partir de mediciones de su consumo total, usando la
técnica Graphic Signal Processing (GSP). En este proyecto se programaron algoritmos que detec-
tan los eventos de potencia que suceden en una curva agregada, usados para obtener parámetros
de desempeño de las desagregaciones. Estos posteriormente se utilizaron para realizar múlti-
ples análisis de sensibilidad de las desagregaciones de potencia respecto a las diferentes entradas
que tiene, como lo son los propios parámetros del GSP, el tiempo de muestreo de las curvas, la
cantidad de muestras y la cantidad de días presentes en la información. Como consecuencia se
propone una metodología para obtener sets de parámetros optimizados, que es utilizada para
desagregar con buen desempeño las curvas de UVECASE. Finalmente se crea un código para
realizar agrupamientos jerárquicos de curvas, a partir de múltiples parámetros que las pueden
definir.
Palabras claves: Desagregación de potencia, Análisis de Sensibilidad, Muestreo Aleatorio, Estruc-
turas de datos, Data Science .

Acerca de IE0499 – Proyecto Eléctrico


El Proyecto Eléctrico es un curso semestral bajo la modalidad de trabajo individual supervisado, con el propósito de
aplicar estrategias de diseño y análisis a un problema de temática abierta de la ingeniería eléctrica. Es un requisito de
graduación para el grado de bachiller en Ingeniería Eléctrica de la Universidad de Costa Rica.
Índice general

Índice general vii

Índice de figuras viii

Índice de cuadros ix

1 Introducción 1
1.1. Alcance y justificación del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Marco Teórico 5
2.1. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1. Monitoreo No Intrusivo de Cargas Eléctricas (NILM) . . . . . . . . . . . 5
2.1.2. Métricas de Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Revisión Bibliográfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3. Diseño de la implementación del proyecto . . . . . . . . . . . . . . . . . . . . . 14
2.3.1. Implementación de métricas de comparación . . . . . . . . . . . . . . . 14
2.3.2. Análisis de sensibilidad del algoritmo GSP . . . . . . . . . . . . . . . . 15
2.3.3. Agrupamiento jerárquico de curvas . . . . . . . . . . . . . . . . . . . . . 16

3 Desarrollo e implementación del algoritmo de evaluación del desempeño de


desagregaciones 17
3.1. Detección de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1. Cambios de Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.2. Detección de eventos por umbral . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del al-
goritmo de desagregación sobre una sola curva . . . . . . . . . . . . . . . . . . . 23
3.2.1. Análisis de Sensibilidad de parámetros individuales . . . . . . . . . . . . 24

vii
3.2.2. Análisis de sensibilidad a partir de todos los parámetros . . . . . . . . . 30
3.3. Resultados del análisis de sensibilidad de parámetros sobre una sola curva . . . 36
3.4. Implementación de la evaluación de desempeño: Análisis de Sensibilidad a partir
de todas las mediciones del EPERLab . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1. Primera prueba: desempeño al usar dos sets de parámetros . . . . . . . . 38
3.4.2. Segunda Prueba: obtención de mejores parámetros para cada medición . 39
3.4.3. Resultados de la obtención de los mejores parámetros para cada medición 45
3.5. Análisis de sensibilidad ante cambios en tiempo de muestreo, número de mues-
tras, y número de días disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.1. Cambios en el tiempo de muestreo, modificando el número de muestras. 47
3.5.2. Cambios en el tiempo de muestreo, manteniendo el número de muestras. 49
3.5.3. Cambios en la cantidad de días disponibles para desagregar: longitud de
la serie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 Implementación del algoritmo de análisis de demanda eléctrica con paráme-


tros optimizados en las curvas de UVECASE 55
4.1. Obtención de parámetros optimizados para la desagregación de curvas de UVE-
CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2. Implementación de los parámetros en UVECASE . . . . . . . . . . . . . . . . . . 59

5 Agrupamiento Jerárquico de Curvas 61

6 Conclusiones y recomendaciones 67
6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Bibliografía 71

Índice de figuras

2.1. Diagrama del algoritmo de desagregación de curvas mediante GSP. . . . . . . . . . 6


2.2. Diseño de la implementación del primer objetivo del proyecto eléctrico. . . . . . . . 15
2.3. Diseño de la implementación del segundo y el cuarto objetivo del proyecto eléctrico. 15
2.4. Diseño de la implementación del tercer objetivo . . . . . . . . . . . . . . . . . . . . 16

3.1. Curva agregada de consumo de potencia de una casa . . . . . . . . . . . . . . . . . 18

viii
3.2. Suma de las curvas desagregadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3. Cambios de potencia en la curva agregada de una casa. . . . . . . . . . . . . . . . . 20
3.4. Variación en el desempeño de la desagregación al variar el parámetro 𝜎 en el rango
]38, 42[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5. Valor de los parámetros 𝜎 ,𝑇0 e instance limit para el desempeño descrito por puntua-
ción 𝐹1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6. Valor de los parámetros 𝛼 y 𝑅𝑖 para desempeño descrito por puntuación 𝐹1 . . . . . 32
3.7. Distribución de resultados de desempeño en la prueba 1. . . . . . . . . . . . . . . . 32
3.8. Valor de los parámetros 𝜎, 𝑇0 e instance limit para el desempeño descrito por pun-
tuación 𝐹1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.9. Valor de los parámetros 𝛼 y 𝑅𝑖 para desempeño descrito por puntuación 𝐹1 . . . . . . 34
3.10. Distribución de resultados de desempeño en la prueba 2. . . . . . . . . . . . . . . . 34
3.11. Desempeño obtenido en todas las mediciones de hogares usando los parámetros por
defecto, y usando parámetros optimizados desde una sola curva. . . . . . . . . . . . 38
3.12. Valor que toman Sigma, instance limit y T0 para dar diferentes desempeños F1. . . . 40
3.13. Valor que toman Alpha y Ri para dar diferentes desempeños F1. . . . . . . . . . . . 40
3.14. Distribución de los resultados de barridos de parámetros en 87 muestras. . . . . . . 41
3.15. Comparación del desempeño de las 87 curvas usando: set de parámetros por defecto,
y la mejor combinación para cada curva. . . . . . . . . . . . . . . . . . . . . . . . . 45
3.16. Comparación del desempeño de las 87 curvas usando el mejor set de parámetros por
curva, y usando un único set de parámetros obtenido de la media de los mejores. . . 46

4.1. Distribución de los resultados de desempeño de las desagregaciones de UVECASE . 59


4.2. Distribución de la cantidad de estados desagregados en las curvas de UVECASE . . 60

5.1. Dendograma ejemplo, para distancias entre 50 electrodomésticos. . . . . . . . . . . 66

Índice de cuadros

2.1. Parámetros de entrada involucrados en el Graph Signal Processing . . . . . . . . . . 7


2.2. Visión general de métricas de desempeño para desagregaciones basadas en detección
de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Métricas de desempeño derivadas de la detección de eventos . . . . . . . . . . . . . 10

3.1. Potencia agregada de una casa muestreada cada 1 minuto. . . . . . . . . . . . . . . . 19

ix
x Índice de cuadros

3.2. Conjunto de datos de potencia desagregada y luego sumada. . . . . . . . . . . . . . 20


3.3. Resultado de calcular cambios de potencia con la ecuación (3.1). . . . . . . . . . . . 21
3.4. Eventos de potencia más pequeños detectables en los electrodomésticos listados,
usando la ecuación (3.2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5. Valores que tendrán por defecto los parámetro del algoritmo GSP . . . . . . . . . . 24
3.6. Resultados de desempeño al variar 𝜎 entre 30 y 50. . . . . . . . . . . . . . . . . . . . 25
3.7. Resultados de desempeño al variar 𝑅𝑖 . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.8. Resultados de desempeño al variar 𝑇0 . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.9. Resultados de desempeño al variar 𝛼 y 𝛽. . . . . . . . . . . . . . . . . . . . . . . . . 29
3.10. Resultados de desempeño al variar instance limit. . . . . . . . . . . . . . . . . . . . . 30
3.11. Rangos de variación reducidos de los parámetros del algoritmo GSP . . . . . . . . . 30
3.12. Rangos de variación con Latin Hypercube para la prueba 1. . . . . . . . . . . . . . . 31
3.13. Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.14. Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.15. Resumen de parámetros optimizados individualmente. . . . . . . . . . . . . . . . . . 37
3.16. Rangos utilizados para iterar el set completo de 87 curvas del EPERLab . . . . . . . 39
3.17. Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 2 del análisis a todas las muestras. . . . . . . . . . . . . . . . . . . 42
3.18. Combinaciones de parámetros que generaron los mejores resultados en cada muestra. 42
3.19. Promedios de mejores valores para los parámetros del algoritmo de desagregación,
con longitud de 1 semana y 𝑇𝑠 = 1 minuto . . . . . . . . . . . . . . . . . . . . . . . . 45
3.20. Mejores combinaciones de parámetros halladas para diferentes tiempos de muestreo
(𝑇𝑠 ), según puntuación 𝐹1 y número de estados desagregados. . . . . . . . . . . . . . 47
3.21. Combinaciones de parámetros halladas para diferentes tiempos de muestreo (𝑇𝑠 ),
para obtener los mejores desempeños independiente de la cantidad de estados des-
agregados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.22. Combinaciones de parámetros halladas para diferentes tiempos de muestreo (𝑇𝑠 ),
para obtener la mayor cantidad de estados desagregados, independiente del desempeño. 48
3.23. Mejores combinaciones de parámetros halladas para diferentes tiempos de muestreo
𝑇𝑠 y número de muestras constantes, según puntuación 𝐹1 y número de estados des-
agregados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.24. Combinaciones de parámetros halladas para mejor desempeño por puntuación 𝐹1 ,
con diferente cantidad de días y cualquier numero de estados desagregados. . . . . 51
3.25. Combinaciones de parámetros halladas para mejor desempeño por puntuación 𝐹1 ,
y al menos 6 desagregaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.26. Combinaciones de parámetros que resultaron en la mayor cantidad de estados des-
agregados, sin considerar desempeño. . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1. Combinaciones de parámetros que resultaron en el mejor desempeño de todas las 87


curvas en la cantidad de días especificados, y con al menos 1 estado desagregado. . 56
Índice de cuadros xi

4.2. Combinaciones de parámetros que resultaron en el mejor desempeño de todas las 87


curvas en la cantidad de días especificados, y con al menos 6 estados desagregados. 56
4.3. Resumen de los parámetros promedio para series con 1 día. . . . . . . . . . . . . . . 56
4.4. Resumen de los parámetros promedio para series con 2 días. . . . . . . . . . . . . . 57
4.5. Resumen de los parámetros promedio para series con 3 días. . . . . . . . . . . . . . 57
4.6. Resumen de los parámetros promedio para series con 4 días. . . . . . . . . . . . . . 57
4.7. Resumen de los parámetros promedio para series con 5 días. . . . . . . . . . . . . . 58
4.8. Resumen de los parámetros promedio para series con 6 días. . . . . . . . . . . . . . 58
4.9. Resumen de los parámetros promedio para series con 7 días. . . . . . . . . . . . . . 58

5.1. Clusters jerárquicos de curvas obtenidos para cada electrodoméstico . . . . . . . . . 62


Capítulo 1

Introducción

1.1. Alcance y justificación del proyecto


Este proyecto es la continuación del trabajo desarrollado por la Escuela de Ingeniería Eléctrica
de la Universidad de Costa Rica titulado: "Metodología para la determinación de Curvas de Carga
y Consumo Eléctrico Residencial por Uso". El objetivo de este proyecto fue "elaborar un modelo
metodológico para la caracterización de las curvas de demanda de usos finales y sectores de consumo
de energía eléctrica, implementado en una plataforma informática".
Conocer la demanda eléctrica por medio por usos finales de la electricidad (e.g. refrigeración,
iluminación, calentamiento de agua, cocción, etc.), brinda insumos a los tomadores de decisión
del sector energía a diseñar mecanismos de política que mejoren la eficiencia técnica y económica
del sector. En Costa Rica, el ente encargado de dicha tarea es la Secretaría Ejecutiva del Subsector
Energía (SEPSE) del Ministerio de Ambiente y Energía (MINAE).
Durante la realización de este proyecto, se trabajará con el software desarrollado por el La-
boratorio de Investigación en Potencia y Energía (EPERLab) en base al algoritmo de análisis de
demanda eléctrica por usos finales. Se buscará principalmente mejorar sus funciones actuales pa-
ra poder ejecutar el programa sobre la base de datos de curvas que ha recolectado el UVECASE;
estas mejoras incluyen la reducción de los tiempos de ejecución, creación de una interfaz gráfica,
realización de un análisis de sensibilidad de parámetros, y clasificación de las curvas de la base
de datos del EPERLab.

1.2. Objetivos
1.2.1. Objetivo general
Implementar el algoritmo de análisis de demanda eléctrica por usos finales, basado en la meto-
dología Graphic Signal Procesing (GSP), en las curvas de UVECASE.

1.2.2. Objetivos específicos


Para el desarrollo de este proyecto se establecieron los siguientes objetivos para desarrollar a lo
largo del semestre:

1
2 1. Introducción

• Mejorar la métrica de comparación entre los estados desagregados y la base de datos de


dispositivos de uso final, y mejorar la métrica de comparación entre circuitos ramales reales
y circuitos desagregados.

• Realizar un análisis de sensibilidad del algoritmo GSP con respecto a sus parámetros, tiem-
po de muestreo de la entrada, y longitud de la serie de tiempo.

• Realizar un agrupamiento de curvas mediante el criterio de agrupamiento jerárquico, para


clasificar las curvas de la base de datos desarrollada por el EPERLab.

• Aplicar el algoritmo GSP a las curvas de UVECASE con los parámetros optimizados del
algoritmo.

1.3. Metodología
El desarrollo del trabajo incluyó los siguientes pasos y procedimientos, listados en secuencia:

1. Revisión bibliográfica de métricas implementadas para comparar estados desagregados y


dispositivos de uso final.

2. Realización de barridos de parámetros de entrada del algoritmo GSP, para analizar los re-
sultados en los indicadores de calidad del agrupamiento de curvas desagregadas.

3. Utilización de bibliotecas de código abierto en lenguaje Python, para crear una interfaz
gráfica que permita visualizar las curvas obtenidas como resultado del algoritmo GSP.

1.4. Contenido
Se comienza el cuerpo del proyecto en el capítulo 2, con el Marco Teórico. En este se detallan los
principios detrás del funcionamiento del algoritmo de desagregación, y las métricas de desempe-
ño aplicables. En la sección 2.2 se revisan varios autores que han desarrollado investigación en
el área. Posteriormente se detalla el diseño de implementación del proyecto, en la sección 2.3.
En el capítulo 3 de este proyecto se detalla el desarrollo del algoritmo de evaluación del
desempeño de desagregaciones, y su posterior implementación en 3 diferentes análisis de sen-
sibilidad. En la sección 3.1 se detalla el método usado para detectar eventos, importante para
programar las métricas de desempeño; en la sección 3.2 se describe el uso de estas métricas para
realizar el primer análisis de sensibilidad, sobre una sola curva, y en 3.3 se describen los resul-
tados. Posteriormente en la sección 3.4 se realiza el segundo análisis, sobre las 64 curvas del
EPERLab. Finalmente en la sección 3.5 se realiza el tercer análisis de sensibilidad, en donde se
varía el tiempo de muestreo y la longitud de la serie temporal.
En el capítulo 4 se explica el procedimiento de implementación del algoritmo de desagrega-
ción sobre las curvas de UVECASE, mostrando en la sección 4.1 el planteamiento de la imple-
mentación, y en la sección 4.2 el resultado final de las desagregaciones.
1.4. Contenido 3

La última parte del desarrollo de este proyecto consiste en el agrupamiento jerárquico de las
curvas del EPERLab, y se presenta en el capítulo 5.
Finalmente en el capítulo 6 se presentan las conclusiones y recomendaciones finales de este
proyecto.
Capítulo 2

Marco Teórico

2.1. Marco Teórico


Para la realización del proyecto, la base teórica del proyecto se divide en dos grandes temas:
Monitoreo no intrusivo de de cargas eléctricas (NILM) a partir del algoritmo Graphic Signal Pro-
cessing (GSP), y Métricas de Comparación de Datos Desagregados. Cada uno está fundamentado
en una publicación a partir de la cual se realiza investigación adicional e implementación de
algoritmos. Las bases de estos temas se explicarán a continuación:

2.1.1. Monitoreo No Intrusivo de Cargas Eléctricas (NILM)


El actual proyecto consiste en mejorar de varias maneras, descritas en los objetivos, el algoritmo
implementado por el EPERLab para desagregar curvas de consumo eléctrico residencial. La pu-
blicación científica en la que se basa esta investigación corresponde a On a Training-Less Solution
for Non-Intrusive Appliance Load Monitoring Using Graph Signal Processing, Zhao et al. [1].
El Monitoreo No Intrusivo de Cargas trata de un algoritmo que procesa los datos del consumo
de eléctrico total de un edificio, y logra identificar en ellos los diferentes aparatos eléctricos
y sus consumos individuales. A esto se le llama "desagregación de curvas de potencia", y su
implementación se hizo a partir del método propuesto por [1]. Este método cabe en la categoría
Trainingless, ya que puede obtener resultados sin necesidad de entrenar un modelo matemático:
procesa directamente los datos que se le introduzcan, y a partir de sus características genera un
resultado. Es además No Intrusivo porque permite obtener información de los electrodomésticos
sin necesidad de intervenir los circuitos internos de cada edificio. Este algoritmo utiliza como
método principal el Procesamiento de Señales Gráficas o Graph Signal Processing (GSP), para
realizar varias acciones clave en la desagregación de electrodomésticos.
El GSP consiste en un modo crear representaciones de un conjunto de datos a través de una
gráfica, donde acomoda cada dato en puntos llamados Nodos, y crea una matriz de adyacencia
ponderada, que refleja la autocorrelación entre cada nodo.
El algoritmo propuesto por la publicación realiza los pasos descritos en el diagrama de la
figura 2.1, donde los archivos de entrada corresponden a los datos de potencia agregada, y los de
salida son los de potencia desagregada, etiquetados por electrodoméstico.

5
6 2. Marco Teórico

Input: Datos de
Potencia agregada Pareo de características
Pareo de clusters
positivos con negativos

Detección de bordes
Detección de
Creación de gráficos por
cambios de Potencia
par de clusters sin
con un To
procesar más grande

Incluir clusters
Uso de GSP para
restantes para el
identificar pares con
siguiente pareo
cambios más óptimos

Uso de GSP para


Clustering Inicial
acumular eventos Sí
¿Quedan Clusters
sin procesar?
Generacion de nuevo
TPy TN No

Etiquetado de curvas
desagregadas

Detectar nuevos cambios de Clustering Refinado


potencia con TP y TN

Output: electrodomésticos
desagregados

Creación de nuevos Guardar los clusters,


clusters con GSP disminuir ρ

No
¿Tienen buena calidad?

Figura 2.1: Diagrama del algoritmo de desagregación de curvas mediante GSP.

El algoritmo cuenta con 4 etapas principales: Detección de cambios (Edge Detection), Cluste-
ring Inicial, Clustering Refinado y Pareo de Características. Para todos estas etapas, se requiere
una serie de parámetros que son ingresados manualmente, los cuales se encuentran descritos en
el cuadro 2.1.
En la primera etapa, Detección de bordes o edges, se realiza un análisis de los datos para hallar
eventos de potencia, en los cuales un electrodoméstico se enciende, se apaga, o cambia de estado
de operación. Para esto se necesita un valor de umbral de potencia 𝑇𝑜 : si un cambio de potencia
mayor a 𝑇𝑜 ocurre, se reconoce como evento.
2.1. Marco Teórico 7

En la segunda etapa, Clustering inicial (o ”agrupamiento inicial”), se utiliza el algoritmo GSP


para comenzar a agrupar los eventos detectados en clusters, para luego generar nuevos umbrales
llamados 𝑇 𝑃 y 𝑇 𝑁 , que permiten detectar eventos más refinados que los reconocidos con 𝑇𝑜 ,
pero que generarán dos clusters en vez de uno: uno para eventos de potencia positiva (se enciende
algo) y otro para eventos de potencia negativa (se apaga algo). Se desea detectar los eventos de
encender y apagar de cada electrodoméstico individual, por lo que se asume que habrá ambos
tipos de eventos con la misma potencia, pero con signos opuestos.

En la tercera etapa, Clustering Refinado, se reitera la etapa anterior al agrupar con GSP los
nuevos eventos detectados mediante 𝑇 𝑃 y 𝑇 𝑁 , y se utiliza el parámetro 𝜌 para variar la detección
de bordes de la señal de entrada, luego variar nuevamente los umbrales 𝑇 𝑃 y 𝑇 𝑁 , y así detectar
nuevos eventos. Tiene una etapa de verificación de la calidad de los clusters, en donde se evalúa
la autocorrelación para saber si es necesario crear más clusters.

La última etapa corresponde a un pareo de características o Feature Matching, donde se aso-


cian los conjuntos o clusters positivos y negativos que corresponden a un mismo electrodomés-
tico, lo cual se logra usando nuevamente el algoritmo GSP, pero esta vez con otro fin: asociar los
clusters extraídos anteriormente a un solo electrodoméstico.

La etapa que sigue es adicional al algoritmo, y el autor original no la implementa; corresponde


a identificar y etiquetar las curvas resultantes con electrodomésticos reales, para tener una salida
final del algoritmo presentable al usuario.

Cuadro 2.1: Parámetros de entrada involucrados en el Graph Signal Processing

Parámetro Descripción
𝜎 También llamado 𝜌 en [1], es utilizado para calcular los elementos de la
matriz de adyacencia, asignando un peso a los bordes del gráfico de GSP.
𝑅𝑖 También llamado 𝐾 en [1]. Es un valor límite para definir los clusters de baja
calidad en el refinamiento de clusters; define la desviación de potencia que
posee cada uno, cambiando la calidad y cantidad de clusters resultantes.
±𝑇0 Valor de umbral de potencia utilizado para realizar los clusters iniciales. Si
los cambios de potencia cumplen esta condición, son agregados al primer
arreglo de eventos.
𝛼 ,𝛽 Parámetros utilizados en el emparejamiento eventos ascendentes con even-
tos descendentes, son usados para asignarle peso al compromiso entre mag-
nitud y tiempo a la hora de hacer emparejamiento. Cumplen que 𝛼 + 𝛽 = 1
instance_limit Este valor define el mínimo número de veces que un electrodoméstico es
activado en el tiempo de la curva agregada, que usualmente corresponde a
1 semana.
8 2. Marco Teórico

2.1.2. Métricas de Comparación

Una parte muy importante del proyecto consiste en poder obtener un índice cualitativo y cuan-
titativo del desempeño del algoritmo, basado en comparar el resultado del algoritmo de desagre-
gación, con los datos reales de los electrodomésticos. Es decir, se espera comparar la potencia
detectada por el algoritmo para cada electrodoméstico, con el consumo real de estos, y poder
obtener una medida de la efectividad de la desagregación. Una de las aplicaciones más impor-
tantes de esto, es poder medir el efecto de cambiar los parámetros de entrada del algoritmo GSP,
enlistados en el cuadro 2.1, el cual es uno de los objetivos de este proyecto.

La métrica de comparación principal está basada en el artículo Performance evaluation in non-


intrusive load monitoring: Datasets, metrics, and tools—A review, Pereira and Nunes [2], donde se
comparan diferentes sets de datos reales de consumo, se indexan los metadatos necesarios para
los procesos de NILM, se comenta sobre algunos kits de herramientas o toolkits de libre acceso
para trabajar NILM, y lo que es de más de nuestro interés, se reúnen muchos métodos utilizados
en la literatura para medir el desempeño de métodos de desagregación.

Las métricas de desempeño reunidas en este documento son específicamente diseñadas para
métodos de NILM basados en detección de eventos, como es el caso del método usado en [1]
y utilizado en el algoritmo de desagregación implementado por el EPERLab. Algunas métricas
que se utilizan en la literatura están basadas en fracciones de Potencia correctamente asignadas,
otras en detecciones fallidas de eventos, otras en porcentaje de error en detección, entre varias
más. Investigaciones mucho más recientes, desde el año 2013 en adelante, definieron métricas de
error basadas en el reconocimiento correcto o no de eventos de potencia.

En el cuadro 2.2 se presentan los 4 parámetros más importantes para la cuantificación del
rendimiento de un algoritmo de desagregación.
2.1. Marco Teórico 9

Cuadro 2.2: Visión general de métricas de desempeño para desagregaciones basadas en detección
de eventos

Métrica Descripción
TP Un Positivo Verdadero o True Positive, sucede cuando el sistema detecta/clasifica
un evento como verdadero, y este realmente existe; por ejemplo, un evento de
potencia fue detectado y asignado al electrodoméstico A y este realmente lo causó.
TN Un Negativo Verdadero o True Negative sucede cuando el sistema detecta/clasifica
un evento como que es falso o no sucedió, y este realmente era falso; por ejemplo,
ningún evento de potencia es detectado en cierto instante, y en realidad ningún
electrodoméstico cambio su estado en ese instante.
FP Un Falso Positivo o False Positive sucede cuando el sistema detecta/clasifica un
evento como verdadero, y este realmente era falso o no existió; por ejemplo, se
etiqueta un evento de potencia para el electrodoméstico A, y en realidad fue cau-
sado por B.
FN Un Falso Negativo o False Negative sucede cuando el sistema detecta/clasifica un
evento como falso o no sucedió, y en realidad el evento sí existió o era verdadero. ;
por ejemplo, que no se detecta ningún evento de potencia en cierto instante, pero
un electrodoméstico sí había cambiado de estado en ese instante

A partir de las 4 métricas básicas se puede realizar una serie de cálculos de error, como la
precisión, la exhaustividad, porcentajes de eventos correctamente asignados, entre otros. Estos
se detallan en el siguiente cuadro:
10 2. Marco Teórico

Cuadro 2.3: Métricas de desempeño derivadas de la detección de eventos

Métrica Descripción Ecuación


𝑇𝑃
Precisión, P La medida de Precisión (también llamada valor 𝑃=
𝑇𝑃 + 𝐹𝑃
predictivo positivo, PPV) es la proporción de ins-
tancias relevantes que fueron reportadas como
tal, contra todas las instancias que fueron repor-
tadas como relevantes y no necesariamente lo
eran.
𝑇𝑃
Exhaustividad, R También llamado Sensitividad o True Positive Ra- 𝑅=
𝑇𝑃 + 𝐹𝑁
te, o más conocido en inglés como Recall, es la
proporción de instancias relevantes que sí fueron
reportados como relevantes, contra todos los da-
tos realmente relevantes.
(1 + 𝛽 2 ) × 𝑃 × 𝑅
Puntuación 𝐹𝛽 Consiste en la media armónica entre la Precisión 𝐹𝛽 =
(𝛽 2 × 𝑃) + 𝑅
y la Exhaustividad, siendo 𝛽 un factor de peso,
que da 𝛽 veces más importancia a la Exhaustivi-
dad que a la Precisión. El más común es con 𝛽 = 1,
(Puntuación 𝐹1 ), donde precisión y exhaustividad
tienen el mismo peso
𝐹𝑃
Tasa de FP, FPR Es la proporción de Falsos Positivos detectados 𝐹 𝑃𝑅 =
𝐹𝑃 + 𝑇𝑁
(FP) contra los resultados negativos reales.
𝑇𝑃
Tasa de TP, TPR Es la proporción de Positivos Verdaderos detecta- 𝑇 𝑃𝑅 =
𝑇𝑃 + 𝐹𝑁
dos (TP) contra los resultados positivos reales

2.2. Revisión Bibliográfica


Se realizó una revisión del estado del arte sobre el tema Monitoreo no intrusivo de cargas eléctricas,
utilizando como base artículos de la IEEE que hayan citado a Zhao et al. [1], la base de este
proyecto. A continuación se presentan los artículos revisados, y una descripción de sus métodos
propuestos con más relación al presente proyecto.

1. El artículo Zhao et al. [3] es creado por los mismos autores de [1], como una continuación y
una extensión en la cual se propone métodos novedosos al año 2018, donde hay aplicación
novedosa del algoritmo GSP para solucionar problemas que siempre hubo en NILM, como
susceptibilidad a ruido presente en la red eléctrica, el ruido de las cargas eléctricas de las
casa, y el ruido que genera el propio sensor. Los nuevos métodos se aplican al nivel de
señal física a través de filtrado de ruido en los datos basado en gráficos, usando un método
2.2. Revisión Bibliográfica 11

refinado y efectivo de pareo de características (feature matching) basado en un GSP semi-


supervisado.
Algunas mejoras que esta publicación ofrece al trabajo son: técnicas de mejoramiento de
identificación de bordes (edges) de la señal, para mejorar la detección de eventos de encen-
dido y apagado de electrodomésticos. Luego, basándose en clasificación de datos por GSP,
se propone un método novedoso de mejoramiento a los resultados, que permite eliminar la
confusión que puede haber entre electrodomésticos con niveles de potencia muy similares,
lo cual suele causar clasificaciones erroneas. Para esto es necesario una etapa adicional a la
desagregación sin supervisión basada en eventos: entrenamiento de modelos matemáticos.
Además indica algunas de las desventajas del algoritmo usado en [1]: es muy sensitivo a pi-
cos y fluctuaciones de potencia; aparatos de baja potencia con estados de operación de bajo
consumo y múltiples modos de funcionamiento, son comúnmente mal clasificados; el al-
goritmo tiene mal rendimiento cuando se ejecuta para desagrega cargas pequeñas de larga
duración (es decir, que se encuentran encendidas por mucho tiempo), debido a la dificultad
de detectar sus eventos y características. Explica específicamente “El artículo tiene como
objetivo abordar estos inconvenientes y proporcionar una solución de procesamiento de
señal universal adecuada para todos los métodos NILM basados en eventos”.

2. En Kumar and Chandra [4] se propone un método para desagregar curvas agregadas de un
hogar utilizando un algoritmo que cuenta con 3 etapas: 1) Detección de eventos y creación
de clusters a partir de estos; 2) Emparejamiento de eventos y extracción de características
o features; 3) Clasificación de las cargas detectadas. En la publicación [1] se trabaja las pri-
meras dos etapas de manera muy similar, y estas ya fueron implementadas por el EPERLab,
por lo que nos interesa la tercera etapa propuesta por [4]
Novedosamente utiliza características o features peculiares para detectar eventos, los cua-
les son: ON amplitude, el cambio de potencia que tiene un electrodoméstico al encenderse;
OFF amplitude, el cambio de potencia al apagarse; ON time, el tiempo que un electrodomés-
tico permanece encendido; y porción de la forma de curva de potencia, que es una cuenta de
la presencia de eventos de baja potencia. Para la clasificación de cargas, se utiliza una estra-
tegia llamada robust spectral clustering, en la cual utilizan las 4 características mencionadas
anteriormente para crear un cluster de curvas similares, y asociarlos a electrodomésticos
especificos.
Los resultados de la clasificación de curvas son muy exitosos, pero tienen el problema de
asignar correctamente el peso a cada feature utilizado, pues dependiendo de esta asigna-
ción, los resultados tendrán mejor precisión y exactitud.

3. En la publicación Nait Meziane et al. [5] se propone un nuevo método-algoritmo de detec-


ción de eventos para el NILM, el cual se basa en la detección de variaciones de la envolvente
de la señal, y permite como ventaja, una alta precisión de localización del tiempo de ini-
cio y fin de cada evento. Este método de detección de eventos trabaja con Alta Frecuencia
de Muestreo (High Sampling Frequency), lo cual dista de utilidad para el proyecto actual,
12 2. Marco Teórico

pues este utiliza frecuencias de muestreo muy bajas, de alrededor de 1 minuto. No hacen
procesamiento de las señales, para hacer todo el procesamiento más rápido.
Para medir el desempeño del algoritmo de detección de eventos, utilizan las métricas de
comparación de Precisión y Exhaustividad (Precision and Recall), en las que reportan ob-
tener hasta un 100 % de Precisión y un 97,13 % de Recall.
El algoritmo como tal, llamado High Accuracy NILM Detector (HAND), busca los eventos
como una parte de una señal que se desvía desde el anterior estado estacionario, y dura
hasta que se alcanza el siguiente estado estacionario. Entonces, se va monitoreando la va-
riación de la desviación estándar, 𝜎𝑑 (𝑡), de la envolvente de la señal, 𝑒𝑑 (𝑡), con una ventana
temporal que se va moviendo. Luego un valor de umbral separa los eventos caracteriza-
dos por una variación muy grande de 𝜎𝑑 (𝑡), de los eventos con muy poca 𝜎𝑑 (𝑡) y que son
reconocidos como un estado estacionario.
Entonces el algoritmo sigue los pasos:

a) Detecta la envolvente de la señal 𝑒𝑑 (𝑡) mediante un método propio en el que detectan


picos en cada ciclo de frecuencia de la tensión (60Hz), y se realiza una interpolación
cúbica entre todoslos picos detectados.
b) Establece el tamaño 𝐿 de la ventana temporal que se mueve (utilizaron 𝐿 = 4 mues-
tras).
c) Inicializa el valor 𝜎𝑑 (𝑡𝑘 ) para 𝑘 = 1, 2, … , 𝐿 con la desviación estándar de 𝑒𝑑 (𝑡), 𝑡 =
𝑡1 , … , 𝑡𝑙
d) Calcula iterativamente la media 𝜇𝑑 (𝑡𝑘 ) y la desviación estándar 𝜎𝑑 (𝑡𝑘 ) de 𝑒𝑑 (𝑡), 𝑘 =
𝐿 + 1, … , 𝑁 .
e) Se escoge el valor umbral 𝛾 , el cual debe ser igual a la deviación estándar del ruido
en la corriente, y se halla el momento inicial y final de cada evento, caracterizados
𝑑𝜎𝑑
por 𝜎𝑑 (𝑡) > 𝛾 , ≠ 0.
𝑑𝑡
f) Se realiza un post-procesamiento, en el que se debe evaluar si los eventos detectados
son correctos, primero si las señales detectadas a penas exceden el umbral 𝛾 , y se-
gundo si la creación de ventanas 𝐿 interfiere con la detección del momento en que
un evento termina.

4. En la publicación Kumar et al. [6] se desarrolla un algoritmo de desagregación eléctrica


basado en un método de Stankovic et al. [7], donde se utiliza GSP en una combinación de
metodologías de eventos y estados, para realizar identificación de cargas, y estimación de
consumo. La desagregación mediante GSP es parecida a la de la publicación base de pro-
yecto, excepto en el uso de clustering, ya que usa métodos de reconocimiento de smoothnes
de los datos, para detectar una carga específica en las curvas agregadas. Los datos usados
en el algoritmo desarrollado se encuentran muestrados cada 10s y cada 1m; es el segundo
caso el que puede aplicar directamente sobre la base de datos del EPER. La desagregación
2.2. Revisión Bibliográfica 13

se realiza en 3 etapas: 1) Pre-procesamiento de la información. 2) Desagregación de cargas


usando GSP. 3) Post-procesamiento de los datos desagregados para una estimación final.
En la primera etapa, se toman los datos medidos originalmente de potencia agregada y se
remueven tanto transientes como picos falsos de potencia. Como es posible que en los datos
se encuentren cargas que cambian de estado Encendido y Apagado durante varios tiempos
de muestreo, se detectan y reacondicionan estos eventos para que sean reconocidos como
eventos de un solo instante. A continuación se detecta la envolvente base de la potencia,
que son electrodomésticos de bajo consumo, y se elimina; esto se hace al establecer un
umbral donde los datos que no lo superan se detectan como potencia base.
La segunda etapa se lleva a cargo de manera supervisada, como en [7], pero añaden dos
modificaciones: una es en cómo se definen los cambios de potencia en los vértices del GSP,
y la otra en la evaluación de la matriz de adyacencia ponderada, en la cual tratan el problema
de asignación de los pesos como una optimización. Esto permite al final, reconstruir más
precisamente la forma de las cargas individuales, y estimar mejor su consumo.
La tercera etapa trata del refinamiento de los resultados obtenidos del algoritmo de des-
agregación; esto se puede lograr al iterar sobre el algoritmo de desagregación nuevamente,
al tomar en cuenta el conocimiento del dominio a través de una base de reglas adecuadas, o
al tener el conocimiento de secuencia de operación de varios electrodomésticos. Los resul-
tados del algoritmo propuesto son mucho más precisos que los algoritmos similares, pero
es difícil de comparar con los resultados del algoritmo utilzado en [1], pues difiere mucho.

5. La publicación Welikala et al. [8] trata sobre la propuesta de un nuevo método para incor-
porar patrones de uso de electrodomésticos (appliance usage patterns) (AUPs) para mejorar
el desempeño de la identificación de cargas; también trata de pronóstico de cargas. En la
primera etapa se aprende el AUP de una residencia usando un algoritmo de NILM; luego
ese AUP aprendido se usa para sesgar las probabilidades de las appliances a través de un
“specifically constructed fuzzy system”. El AUP contiene medidas de probabilidad de que
cada electrodoméstico esté encendido en el momento presente, basado en la actividad/inac-
tividad reciente del mismo, y la hora del día. Por lo tanto, las probabilidades determinadas
con el AUP aumentan la precisión de identificación de las cargas del algoritmo de NILM
Ventaja: mejora la estimación de carga activa cuando se aumentan la cantidad de lecturas
del Medidor Inteligente, con las tendencias de comportamiento obtenidas de AUPs. Usan
el método basado en AUP para hacer pronósticos exitosos de 5 minutos en el futuro.
Metodología: El algoritmo usado para NILM: 1) Extacción de características de cada elec-
trodoméstico; 2) Creación de una base de datos del consumo de potencia de los electrodo-
mesticos; 3) Se identifican combinaciones de electrodomésticos encendidos, usando NILM.
4) Se crean patrones de uso de los electrodomésticos a partir de los datos iniciales; 5) Se
evalua el método de NILM con sesgo, usando una técnica de sesgo basada en AUP; 6) Se
usan los patrones resultados del NILM para hacer pronósticos.
14 2. Marco Teórico

6. En Liao et al. [9] se proponen dos algoritmos para desagregar potencia de datos tomados en
medidores de baja frecuencia, lo cual es de nuestro interés ya que tanto la base de datos del
EPERLab y la de UVECASE fueron tomadas con datos a baja frecuencia de muestreo. Uno
de los algoritmos propuestos es un método supervisado basado en Árboles de Decisiones
(Decision Trees) , y el otro corresponde a un método no supervisado basado en el algoritmo
de comparación Dynamic Time Warping (DTW), mismo método que es utilizado también
por el EPERLab en su algoritmo de desagregación de potencia.

El método que interesa revisar de esta publicación es el segundo, el basado en DWT. Éste
es no-supervisado y utiliza modelos matemáticos para hallar una firma específica para
cada electrodoméstico a detectar, y posteriormente hallar coincidencias en los datos de
potencia agregada, y clasificar las cargas. Por esto, debe haber una etapa de entrenamiento
de los modelos de cada aparato, los cuales después se almacenan en una biblioteca. Posee
la característica de ser escalable, es decir, una vez se realiza un entrenamiento para cierta
cantidad de electrodomésticos, se pueden añadir más de éstos sin necesidad de volver a
realizar un entrenamiento con todos los datos.

Para aplicar el DTW en la clasificación de eventos, se buscan coincidencias de patrones


(pattern matching) entre la potencia agregada, y los modelos de electrodomésticos; se com-
para cada evento detectado con cada modelo de la biblioteca usando algoritmo DTW, ha-
llando la distancia mínima entre el evento y el mejor modelo encontrado, y se itera este
procedimiento múltiples veces. En cada iteración se cambia un umbral que inicialmente se
utiliza para detectar electrodomésticos con cambios 𝛿𝑃 muy grandes, y los remueve de la
curva agregada. Luego en las siguientes iteraciones se disminuye el umbral, y se detectan
cargas menores. De esta manera se van obteniendo las cargas desagregadas.

2.3. Diseño de la implementación del proyecto

2.3.1. Implementación de métricas de comparación

La realización del primer objetivo del proyecto, mejoramiento de la métrica de comparación entre
estados desagregados y agregados, se resumen en el diagrama que se presentan en la figura 2.2.
Según se muestra, se utilizarán mediciones reales de potencia agregada, la llamada ”curva
agregada", y se detectarán los eventos en ella mediante un algoritmo a implementar. Luego se
detectarán eventos en las curvas desagregadas por el GSP, y a partir de ambas detecciones rea-
lizadas se calcula la Precisión y Exhaustividad (o como se les llama en inglés, Precision & Recall),
como métricas del desempeño, a partir de otro algoritmo a implementar. Se utilizará también la
puntuación 𝐹1 , llamada en inglés 𝐹1 score, para obtener un único parámetro que mida el desem-
peño.
2.3. Diseño de la implementación del proyecto 15

Medición n

Curva total GSP Desagregaciones

Detección de Detección de
Curva desagregada
eventos eventos

Comparación, obtención de métricas


FN FP TN TP

Cálcular métricas
(Precision & Recall)

Figura 2.2: Diseño de la implementación del primer objetivo del proyecto eléctrico.

2.3.2. Análisis de sensibilidad del algoritmo GSP


El segundo objetivo del proyecto se implementará según el diseño la figura 2.3, y depende direc-
tamente del objetivo anterior. Este explica que a partir de 3 bases de datos ya existentes, la de
curvas agregadas de uso residencial tomadas por el UVECASE, y las dos de curvas de tomadas por
el EPERLab, se implementará el algoritmo de evaluación de desempeño para realizar un análisis
de sensibilidad del GSP (”algoritmo de comparación”), y poder mejorar su desempeño general.
El cuarto objetivo del proyecto, aplicar el algoritmo GSP a las curvas de UVECASE, toma como
base este diseño y el análisis realizado durante el segundo objetivo.

Curvas agregadas Submediciones


Curvas UVECASE EPERLAB curvas EPERLAB

Análisis de
Algoritmo de Desempeño
Comparación

Parámetros
Algoritmo
de entrada
GSP
GSP

Figura 2.3: Diseño de la implementación del segundo y el cuarto objetivo del proyecto eléctrico.

Se analizará entonces el desempeño al variar los 7 parámetros de entrada del GSP; al variar
16 2. Marco Teórico

la longitud de la serie temporal reduciendo la cantidad de horas y días en los datos; y al variar la
cantidad de muestras que tienen las curvas.
Se espera entonces hallar una combinación de parámetros que sea óptima para las desagre-
gaciones de datos de 7 días. Se espera cuantificar el efecto de reducir la cantidad de días de las
desagregaciones. Se espera cuantificar el efecto de reducir o aumentar el número de muestras,
tratando de mantener la misma información original.

2.3.3. Agrupamiento jerárquico de curvas


El tercer objetivo del proyecto consiste en crear clusters o grupos de curvas de electrodomés-
ticos a partir de la base de datos de dispositivos de uso final del EPERLab. Esta base de datos
consiste en mediciones de circuitos ramales de casas, con los aparatos eléctricos conectados bien
identificados. Por esto se tiene información específica de los aparatos de manera individual y
combinada.
El agrupamiento se realiza en base a métricas que caracterizan el comportamiento individual
de cada aparato, y junta a aquellos que tienen la mayor ”proximidad” entre las métricas. Es decir,
se junta a los aparatos que más se parecen, por que sus métricas dieron números cercanos. El
algoritmo a implementar seguirá el esquema planteado en la figura 2.4

Enlistar aparatos
Cálculo de
Datos: consumo de eléctricos y
distancias
aparatos eléctricos distancias

Creación y
Creación del
almacenamiento
dendograma
de los clusters

Figura 2.4: Diseño de la implementación del tercer objetivo

Para este algoritmo se planea utilizar como métrica del comportamiento de cada aparato, la
implementada por el EPERLab para crear su primera base de datos. Esta consiste en combinar
otras 4 métricas distintas, y obtener una sola al atribuirle ciertos pesos. Estas 4 métricas son:
distancia por Dynamic Time Warping (DTW), Máxima Potencia Consumida, Energía Consumida,
y Potencia Promedio mayor a 5 W.
Parte importante de la creación de grupos o clusters jerárquicos de cualquier dato, en nuestro
caso aparatos electrodomésticos, es la creación de un Dendograma, el cual es una representación
gráfica de los aparatos que más se parecen y las distancias que los unen.
Capítulo 3

Desarrollo e implementación del


algoritmo de evaluación del desempeño de
desagregaciones

Esta sección consiste en la descripción del desarrollo del primer objetivo específico del proyecto.
Éste consistía en la creación de un código que permitiera evaluar el desempeño del algoritmo
de desagregación desarrollado por el EPERLab, comparando los estados desagregados con los
estados reales medidos. Esto permitiría poder desarrollar el siguiente objetivo del proyecto, que
trata de poder mejorar el desempeño del algoritmo de desagregación al variar sus parámetros de
entrada, contando ya con una herramienta que permite evaluar este desempeño.
El algoritmo desarrollado debe ser capaz de medir las variables descritas en el cuadro 2.2,
necesarias para obtener las métricas del cuadro 2.3. De estas se utilizarán más específicamente
la Precisión, la Exhaustividad, y la Puntuación 𝐹1 para medir el desempeño del algoritmo.
Cabe destacar que, a partir de la investigación bibliográfica en el tema de Evaluación de
Desempeño de desagregaciones de potencia, se halló que el autor [10] desarrolló en lenguaje
Python, un kit de herramientas de código abierto para trabajar y evaluar cualquier tipo de algo-
ritmo utilizado para desagregar curvas de potencia. Este es llamado Non-Intrusive Load Monito-
ring Toolkit o NILMTK, y tiene un procedimiento de instalación en el cual se debe utilizar como
base, la distribución de Python llamada Anaconda, especializada en análisis de datos científicos.
En el NILMTK se hallaron las funciones para obtener métricas de precisión de desagregacio-
nes de potencia, la mayoría descritas por [2], por lo que se utilizó como referencia el código en
el kit, y se implementaron algunas de las más importantes que hacían falta.

3.1. Detección de eventos


Primeramente, para poder comparar los eventos correctamente clasificados, se creó un código
que indica tanto para los datos agregados como para los desagregados, qué cambios de potencia
en el hogar corresponden a eventos de encendido y apagado de un electrodoméstico. No importa
reconocer qué electrodoméstico se encendió, cuánta potencia tuvo este evento o en qué circuito

17
18 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

ramal de la casa sucedió el cambio, sino que se busca dar una medida de la detección de eventos
que se realiza en la desagregación.
Por lo tanto, los conjuntos de datos a procesar corresponden a: la potencia agregada mues-
treada de una casa; y la suma de la todas las potencias desagregadas por el algoritmo del EPERLab,
conjunto que corresponde a una estimación de la potencia agregada original.
Debido a estas características, el algoritmo de reconocimiento de eventos a implementar de-
be ser mejor que el algoritmo de reconocimiento de eventos utilizado para desagregar; de esta
manera se tiene un punto de referencia firme y confiable.
Para reconocer los eventos, estos fueron definidos en código como cualquier cambio de po-
tencia que sea mayor a un número umbral, por ejemplo 30W. Este umbral es definido a partir del
evento de potencia más pequeño, el cual corresponde a un electrodoméstico, hallado en la base
de datos del EPERLab.

3.1.1. Cambios de Potencia


Los cambios de potencia se calcularán como la diferencia de consumo de potencia que hay de un
instante de muestreo al siguiente, siguiendo el esquema de la siguiente ecuación:

Δ𝑃(𝑘) = 𝑃(𝑘) − 𝑃(𝑘 − 1) (3.1)


Donde Δ𝑃(𝑘) representa el cambio de potencia en el instante presente de muestreo, 𝑃(𝑘)
representa el valor discreto actual de consumo de potencia, y 𝑃(𝑘 − 1) es el valor de potencia
discreta que había en el instante de muestreo anterior.
La potencia agregada de una casa, graficada contra el tiempo, se ve típicamente como en la
figura 3.1, con algunos valores del conjunto presentados en el cuadro 3.1.

Figura 3.1: Curva agregada de consumo de potencia de una casa


3.1. Detección de eventos 19

Cuadro 3.1: Potencia agregada de una casa muestreada cada 1 minuto.

Fecha y hora Potencia Agregada [W]


⋮ ⋮
2018-11-10 07:12:00 185.2
2018-11-10 07:13:00 185.0
2018-11-10 07:14:00 3455.5
2018-11-10 07:15:00 5219.0
2018-11-10 07:16:00 5215.1
2018-11-10 07:17:00 5208.6
2018-11-10 07:18:00 4120.0
2018-11-10 07:19:00 184.0
2018-11-10 07:20:00 183.9
2018-11-10 07:21:00 183.7
2018-11-10 07:22:00 50.5
⋮ ⋮

Al introducir la potencia agregada de una semana al algoritmo de desagregación, se consi-


guen curvas de múltiples electrodomésticos, que al ser todos sumados se obtiene la curva de la
figura 3.2, con algunos valores presentados en el cuadro 3.2. Dependiendo del desempeño de la
desagregación, la curva 3.1 debería ser igual a la curva 3.2.

Figura 3.2: Suma de las curvas desagregadas.


20 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.2: Conjunto de datos de potencia desagregada y luego sumada.

Fecha y hora Potencia Desagregada Sumada[W]


⋮ ⋮
2018-11-10 07:12:00 150.0
2018-11-10 07:13:00 148.0
2018-11-10 07:14:00 1910.0
2018-11-10 07:15:00 1683.0
2018-11-10 07:16:00 1456.0
2018-11-10 07:17:00 1230.0
2018-11-10 07:18:00 139.0
2018-11-10 07:19:00 137.0
2018-11-10 07:20:00 135.0
2018-11-10 07:21:00 133.0
2018-11-10 07:22:00 0.0
⋮ ⋮

Al implementar la ecuación (3.1) en el conjunto de datos de potencia agregada, como los de


el cuadro 3.1, se obtiene un nuevo conjunto, con valores tanto negativos como positivos. Esto se
puede ver en la figura 3.3, con algunos datos mostrados en el cuadro 3.3.

Figura 3.3: Cambios de potencia en la curva agregada de una casa.


3.1. Detección de eventos 21

Cuadro 3.3: Resultado de calcular cambios de potencia con la ecuación (3.1).

Fecha y hora Cambios de Potencia [W]


⋮ ⋮
2018-11-10 07:12:00 -0.3
2018-11-10 07:13:00 -0.2
2018-11-10 07:14:00 3270.5
2018-11-10 07:15:00 1763.5
2018-11-10 07:16:00 -3.9
2018-11-10 07:17:00 -6.5
2018-11-10 07:18:00 -1088.6
2018-11-10 07:19:00 -3936.0
2018-11-10 07:20:00 -0.1
2018-11-10 07:21:00 -0.2
2018-11-10 07:22:00 -133.2
⋮ ⋮

3.1.2. Detección de eventos por umbral


El método propuesto para detectar eventos y obtener medidas del desempeño de la desagrega-
ción, consiste en fijar un umbral de potencia, con el cual se revisan datos como los del cuadro
3.3 instante por instante, y en cada momento que el cambio de potencia registrado supera el
umbral, se establece y registra que un evento sucedió.
Este método para hallar y registrar eventos de potencia es muy simple, y es la vez muy efec-
tivo, pues realmente detecta cualquier cambio importante en el estado del consumo eléctrico en
una casa. Ahora, el mayor reto a la hora de implementarlo es poder definir un buen umbral que
permita detectar correctamente hasta el último electrodoméstico que está cambiando de estado,
pero también permita rechazar cambios de potencia que realmente no corresponden a eventos,
como el ruido en la red, el ruido de los medidores de potencia, y los cambios de potencia en elec-
trodomésticos que son insignificantes como eventos.

Un método de detección de eventos alternativo es el propuesto por [5], y descrito en la sección 2.2
de este documento. Este se basa en funciones estadísticas simples y moving windows, o ventanas
temporales ajustables, para hallar los pequeños instantes de tiempo donde el consumo de poten-
cia cambia de manera suficientemente drástica, como para que se pueda afirmar que sucedió un
evento. El problema con su implementación es que requiere frecuencias de muestreo muy altas,
desde cientos hasta millones de muestras por segundo. Además utiliza múltiples algoritmos de
alta complejidad que requieren buena capacidad de procesamiento, ya que su implementación
es diseñada principalmente para desagregar potencia, no para evaluar calidad de desagregacio-
nes, pero consigue muy alta precisión. Por estas razones se descarta la implementación de este
22 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

método.
Para la implementación del método de detección de eventos por umbral de potencia, se deci-
dió hallar un valor apropiado para umbral y que será utilizado en todas las detecciones de eventos
en el resto del proyecto. Esto se realizó mediante la implementación de un algoritmo del que se
obtiene una lista de cambios de potencia típicos de varios electrodomésticos. Así se espera hallar
diferentes umbrales que permitan reconocer electrodomésticos con consumo más bajo. Esto se
explica a continuación:

Algoritmo para reconocer valores típicos de eventos de un electrodoméstico

El algoritmo propuesto, se debe aplicar sobre la serie temporal de potencia de un sólo electrodo-
méstico, pues sino se mezcla con la información de otros electrodomésticos, y el algoritmo no es
lo suficientemente robusto para separarlos.
Lo que se hace es tomar esta serie temporal y ”detectar” en ella los cambios de potencia Δ𝑃𝑖
más típicos, al calcular la media 𝜇 y la desviación estándar 𝜎 de todos los cambios . Luego se
calcula cuáles son los cambios de potencia que se alejan de los típicos, como se ve en la ecuación
(3.2). Este método es común para detectar outliers o valores atípicos en mediciones, pero se utiliza
aquí debido a la gran cantidad de valores que se encuentran en estado estacionario (cambios de
potencia Δ𝑃𝑖 = 0). Finalmente los eventos detectados por esta ecuación se representan con un
vector 𝑥.

eventos = 𝑥 = Δ𝑃𝑖 > (𝜇 + 𝜎) (3.2)

Como los eventos más pequeños detectados por este algoritmo corresponden simplemente
a la suma de la media y la desviación estándar (𝜇 + 𝜎 ), se puede utilizar sólo esta suma para
establecer cuál es el evento más pequeño que tiene un electrodoméstico.
Debido a que existen tanto cambios positivos como negativos, se debe hacer una corrección
al algoritmo, para que el promedio y la desviación estándar no salgan alterados por los cambios
de signo: se pueden calcular sobre los datos positivos y por aparte a los datos negativos o se
pueden calcular sobre el valor absoluto de todos los cambios.
En la base de datos del EPERLab se encuentran datos de potencia agregada de circuitos ra-
males individuales medidos en varios hogares, con los electrodomésticos conectados a estos bien
identificados. Por esto se tiene disponible información del comportamiento de varios electrodo-
mésticos, tanto individuales como combinados con otros. Por esto, se aplica el método descrito
en la ecuación (3.2) en 10 de las series temporales, y se obtiene un promedio de estas, que es el
presentado en el cuadro 3.4.
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 23
Cuadro 3.4: Eventos de potencia más pequeños detectables en los electrodomésticos listados,
usando la ecuación (3.2).

Electrodoméstico Promedio del evento más pequeño [W]


Celular 32,4
Computadora 18,8
Laptop 24,2
Router 25, 2
Consolas 70,0
Equipo de sonido 37,5
Televisor 23,9
Lavadora 37,9
Secadora 545,8
Iluminación 16.6
Calentamiento de agua 429,5
Ducha termoeléctrica 45,2
Refrigeradora 28,4
Coffee maker 82,4
Olla de cocimiento lento 47,2

A partir de estos datos se concluye que se utilizará un umbral Δ𝑃 de 20 W, ya que es


suficiente para detectar los eventos más relevantes. Si existen eventos debajo de este umbral,
quedarán sin detectar tanto para la curva agregada como para la desagregada, por lo que no
interferirá en las métricas de desempeño.

3.2. Implementación de la evaluación de desempeño: Análisis de


sensibilidad del algoritmo de desagregación sobre una sola
curva
Para realizar un análisis de la sensibilidad del algoritmo respecto a sus 7 parámetros de entrada,
descritos en el cuadro 2.1, se realizaron barridos de estos con sus diferentes combinaciones, donde
se evaluó el desempeño de la desagregación al introducirlos en el algoritmo. Para evaluar este
desempeño, se utilizaron las métricas descritas por [2], que fueron implementadas en el código
creado para el primer objetivo del proyecto.
Para seleccionar los valores a utilizar en el barrido, se utilizó un método de muestreo aleatorio,
que permite utilizar una reducida cantidad de valores del espectro de un parámetro, que son
estadísticamente representativos. El algoritmo de muestreo aleatorio escogido es el llamado Latin
Hypercube o ”Hipercubo latino”, el cual crea un número definido de valores para iterar, con igual
distribución de probabilidad entre ellos, y bien separados espacialmente, escogidos tomando en
24 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

consideración la posición de los demás puntos de cada dimensión. Se utilizó la biblioteca de


Python descrita en [11] .
La implementación de las pruebas se realiza con lógica combinacional de todas las muestras
en cada dimensión del hipercubo. Si 𝑀 representa el número de muestras por dimensión, 𝑘 repre-
senta el número de parámetros y por tanto dimensiones del hipercubo y 𝑁 representa el número
total de iteraciones a realizar, entonces de la ecuación (3.3) se obtiene el número de iteraciones N.
Este número crece enormemente al aumentar la cantidad de dimensiones a probar, y al aumentar
el número de muestras por dimensión, lo que causa que el procesamiento computacional puede
tardar una enorme cantidad de tiempo.

𝑁 = 𝑀 × 𝑀 × ⋯ × 𝑀 = 𝑀𝑘 (3.3)

Por ejemplo, si se tienen 5 parámetros, y cada para cada uno se prueban 5 valores, se necesitan
55 = 3125 iteraciones para realizar un análisis de desempeño. Si en cada iteración se ejecuta el
algoritmo GSP, el algoritmo para detectar eventos y el algoritmo de evaluación del desempeño,
lo cual puede tomar hasta 1 minuto, la prueba podría durar hasta 3125 minutos, lo que equivale
a aproximadamente 2 días.
El valor por defecto de los 7 parámetros se describe en el cuadro 3.5, y fueron establecidos
inicialmente en el algoritmo de desagregación del EPERLab. Se utilizarán como valores de re-
ferencia y serán centrales para establecer sus rangos de variación en el análisis de sensibilidad.
También se utilizarán en el análisis de sensibilidad de parámetros individuales de la siguiente
sección.

Cuadro 3.5: Valores que tendrán por defecto los parámetro del algoritmo GSP

Parámetro Valor por defecto


𝜎 40
𝑅𝑖 0,1
+𝑇0 12
−𝑇0 -12
𝛼 0,5
𝛽 0,5
instance limit 7

3.2.1. Análisis de Sensibilidad de parámetros individuales


Antes de realizar un barrido de todas las posibles combinaciones de valores en todas las dimen-
siones, se establecieron rangos de variación para cada parámetro individual, mediante los cuales
se puede apreciar la dirección de la optimización. Esto porque un barrido puede durar mucho
si no se establece un número bajo de muestras, y un rango muy amplio de valores a variar no
resulta en un mapeo detallado de las combinaciones.
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 25
Variación de 𝜎

El primer resultado se dio al muestrear el parámetro 𝜎 en 20 valores en el rango ]30, 50[, para bus-
car una tendencia de la dirección del mejor desempeño. Esto se muestra en el cuadro 3.6, donde
se aprecia un pequeño rango donde la puntuación F1 es mejor que las demás, entre 39.50 y 41.9.
Entre los valores 𝜎 = 33,1 y 𝜎 = 35,3 hay otra zona con buen desempeño, pero no es tan bueno
como en la primera zona descrita; y por debajo de 𝜎 = 33, el desempeño sigue disminuyendo.
Después de 𝜎 = 41,9, el desempeño cae mucho, por lo que este será un límite del barrido.

Cuadro 3.6: Resultados de desempeño al variar 𝜎 entre 30 y 50.

𝜎 Precisión Exhaustividad Puntuación 𝐹1


30.573 0.700 0.338 0.456
31.103 0.704 0.347 0.465
32.389 0.710 0.361 0.479
33.091 0.687 0.438 0.535
34.319 0.685 0.435 0.532
35.320 0.713 0.375 0.491
36.950 0.711 0.258 0.379
37.673 0.717 0.383 0.499
38.329 0.702 0.185 0.293
39.505 0.686 0.469 0.558
40.011 0.695 0.477 0.566
41.903 0.730 0.322 0.446
42.752 0.702 0.150 0.247
43.896 0.705 0.154 0.252
44.448 0.703 0.151 0.248
45.905 0.695 0.152 0.249
46.293 0.692 0.151 0.248
47.826 0.678 0.156 0.254
48.632 0.678 0.156 0.254
49.951 0.689 0.154 0.251

A partir de este resultado se varía 𝜎 con 30 valores en el rango ]38, 42[, esto para para hallar
una mejor zona de iteración, aún más específica que la anterior, lo que permitirá mejorar los
tiempos de ejecución. Los resultados se encuentran sintetizados en la figura 3.4, donde se aprecia
que se obtienen los mejores desempeños entre 𝜎 = 39,4 y 𝜎 = 41,6, por lo que esta será la zona
de iteración para el análisis de sensibilidad.
26 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Figura 3.4: Variación en el desempeño de la desagregación al variar el parámetro 𝜎 en el rango


]38, 42[

Variación de 𝑅𝑖

La siguiente prueba fue variar el parámetro 𝑅𝑖 , que originalmente se estableció como 0.1; se
realizaron 20 muestras en el rango entre ]0.05 a 0.2[, obteniendo el resultado de el cuadro 3.7. En
esta se aprecia que la puntación 𝐹1 baja sustancialmente cuando 𝑅𝑖 es menor a 0.081. Cuando 𝑅𝑖
es mayor 0.190, la puntuación tiende a un valor constante de 0.569, el cual es el más alto de todo
el rango probado. Por esto se concluye que el rango para iterar 𝑅𝑖 será entre ]0,08, 0,3[.
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 27
Cuadro 3.7: Resultados de desempeño al variar 𝑅𝑖

Ri Precisión Exhaustividad puntuación 𝐹1


0.053 0.702 0.153 0.251
0.060 0.692 0.143 0.237
0.066 0.690 0.141 0.234
0.073 0.677 0.132 0.220
0.081 0.688 0.469 0.557
0.093 0.688 0.469 0.557
0.099 0.688 0.469 0.557
0.103 0.688 0.469 0.557
0.110 0.688 0.469 0.557
0.123 0.688 0.469 0.557
0.126 0.688 0.469 0.557
0.138 0.640 0.492 0.556
0.141 0.640 0.492 0.556
0.153 0.723 0.411 0.524
0.160 0.723 0.411 0.524
0.169 0.723 0.411 0.524
0.177 0.723 0.411 0.524
0.181 0.723 0.411 0.524
0.190 0.676 0.491 0.569
0.194 0.676 0.491 0.569
⋮ ⋮ ⋮ ⋮
0.337 0.676 0.491 0.569
0.341 0.676 0.491 0.569

Variación de 𝑇0

Este valor es un umbral de potencia para detectar eventos de potencia , y está muy relacionado al
análisis realizado en la sección anterior de este proyecto, sobre la determinación de los cambios de
potencia típicos de los electrodomésticos. Por los resultados obtenidos en el cuadro 3.4, se decide
realizar un barrido de 𝑇0 en el rango ]10, 30[. El resultado de esta iteración, sintetizado en el
cuadro 3.8, muestra que por debajo de 𝑇0 = 12 el desempeño cae mucho; la precisión se mantiene
siempre alrededor de 0.7, y la Exhaustividad varía alrededor de 0.46. El mejor desempeño se da
cuando 𝑇0 = 22 Por esto se decide que la variación del parámetro para el análisis se hará en el
rango ]12, 22[
28 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.8: Resultados de desempeño al variar 𝑇0

𝑇0 Precisión Exhaustividad puntuación 𝐹1


10.050 0.716 0.146 0.242
11.116 0.695 0.126 0.214
12.205 0.700 0.469 0.562
13.119 0.695 0.472 0.562
14.295 0.695 0.469 0.560
15.326 0.701 0.467 0.561
16.147 0.707 0.462 0.559
17.446 0.705 0.467 0.562
18.211 0.704 0.469 0.563
19.052 0.707 0.474 0.567
20.292 0.711 0.472 0.567
21.334 0.713 0.477 0.572
22.010 0.715 0.477 0.572
23.474 0.716 0.469 0.567
24.312 0.717 0.470 0.568
25.102 0.716 0.469 0.567
26.190 0.722 0.460 0.562
27.134 0.720 0.459 0.560
28.382 0.720 0.457 0.559
29.089 0.719 0.455 0.557

Variación de 𝛼 y 𝛽

Estos parámetros definen la asignación de pesos a la magnitud y al tiempo en el problema de opti-


mización que propone el hecho de emparejar eventos negativos con eventos positivos. Se realiza
una variación de 40 valores entre todo el rango posible de valores, ]0, 1[, para hallar zonas donde
se obtiene el mejor desempeño. El resultado se presenta en el cuadro 3.9; no se encuentran zonas
específicas donde la optimización sea clara, pues en todo el barrido se obtuvieron Precisiones,
Exhaustividades y puntuaciones 𝐹1 similares. Entonces el rango para iterar 𝛼 y 𝛽 será ]0, 1[
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 29
Cuadro 3.9: Resultados de desempeño al variar 𝛼 y 𝛽.

𝛼 𝛽 Precisión Exhaustividad puntuación 𝐹1


0.0064 0.9936 0.6872 0.4708 0.5588
0.0285 0.9715 0.6876 0.4701 0.5584
0.0872 0.9128 0.6863 0.4656 0.5548
0.1346 0.8654 0.6863 0.4656 0.5548
0.1779 0.8221 0.6866 0.4664 0.5555
0.2467 0.7533 0.6870 0.4671 0.5561
0.2959 0.7041 0.6873 0.4678 0.5567
0.3317 0.6683 0.6873 0.4678 0.5567
0.3957 0.6043 0.6873 0.4678 0.5567
0.4408 0.5592 0.6873 0.4678 0.5567
0.4792 0.5208 0.6876 0.4686 0.5574
0.5468 0.4532 0.6876 0.4686 0.5574
0.5974 0.4026 0.6876 0.4686 0.5574
0.6294 0.3706 0.6876 0.4686 0.5574
0.6753 0.3247 0.6876 0.4686 0.5574
0.7394 0.2606 0.6876 0.4686 0.5574
0.7881 0.2119 0.6876 0.4686 0.5574
0.8284 0.1716 0.6876 0.4686 0.5574
0.8916 0.1084 0.6876 0.4686 0.5574
0.9639 0.0361 0.6876 0.4686 0.5574
0.9762 0.0238 0.6876 0.4686 0.5574

Variación de ”instance limit”

El último parámetro por variar corresponde a instance limit, el cual representa el número mínimo
de veces que se enciende cada electrodoméstico a la semana. El valor en el que usualmente se
utilizaba era 7. Al probar un rango entre 3 y 39, se obtuvieron los resultados sintetizados en el
cuadro 3.10. En estos se aprecia que los valores mayores a 16 tienen un mal desempeño, y en
general los valores mayores a 11 y menores a 7 tienen un peor desempeño que los valores en el
rango ]7, 11[. Por esto, se escogerá este rango de 5 valores para el análisis de sensibilidad.
30 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.10: Resultados de desempeño al variar instance limit.

instance limit Precisión Exhaustividad puntuación 𝐹1


3.0 0.692 0.093 0.164
4.0 0.688 0.095 0.166
5.0 0.664 0.060 0.110
6.0 0.719 0.296 0.420
7.0 0.688 0.469 0.557
8.0 0.686 0.482 0.566
9.0 0.695 0.501 0.582
10.0 0.690 0.529 0.599
11.0 0.690 0.529 0.599
12.0 0.619 0.394 0.481
13.0 0.619 0.394 0.481
14.0 0.619 0.394 0.481
15.0 0.648 0.550 0.595
16.0 0.647 0.548 0.594
17.0 0.572 0.305 0.397
18.0 0.572 0.305 0.397
⋮ ⋮ ⋮ ⋮
38.0 0.569 0.284 0.379
39.0 0.569 0.284 0.379

3.2.2. Análisis de sensibilidad a partir de todos los parámetros


Ahora, se realiza un análisis de cómo se comporta el desempeño de la desagregación de una
sola curva, al variar simultáneamente todos los parámetros. Los rangos de estos para realizar el
análisis de sensibilidad corresponden a los siguientes:

Cuadro 3.11: Rangos de variación reducidos de los parámetros del algoritmo GSP

Parámetro Rango de variación


𝜎 39,5 - 41,9
𝑅𝑖 0,08 - 0,3
±𝑇0 12 - 22
𝛼, 𝛽 0-1
instance limit 7 - 11
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 31
Primera Prueba

A los parámetros del cuadro 3.11 se le aplica el algoritmo de muestreo aleatorio del Latin Hyper-
cube para obtener 4 muestras por parámetro; estos valores se presentan en el cuadro 3.12.

Cuadro 3.12: Rangos de variación con Latin Hypercube para la prueba 1.

Parámetro Valores a iterar


𝜎 {41.21 , 39.87 , 40.30 , 41.34}
𝑅𝑖 {0.152 , 0.263 , 0.120 , 0.225}
±𝑇0 {16.72 , 13.18 , 19.80 , 18.78}
𝛼 {0.940 , 0.140 , 0.692 , 0.373}
instance limit { 5 , 6 , 7 , 8 , 9 , 10 , 11 }

Entonces se realiza el análisis de sensibilidad, dándole estas 4 muestras a cada dimensión, y


5 a la dimensión de instance limit; según la ecuación (3.3), se tienen 44 ∗ 5 = 1280 combinaciones
de parámetros. Al realizar estas combinaciones e introducirlas una a una al algoritmo GSP, se
aplica el algoritmo de detección de eventos, y luego se aplica el algoritmo de evaluación de la
desagregación. Cada vez se guarda el resultado de la evaluación junto al valor de los parámetros,
obteniendo el resultado de las figuras 3.5 y 3.6, el cuadro 3.13, y la figura 3.7.

Figura 3.5: Valor de los parámetros 𝜎 ,𝑇0 e instance limit para el desempeño descrito por puntua-
ción 𝐹1
32 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Figura 3.6: Valor de los parámetros 𝛼 y 𝑅𝑖 para desempeño descrito por puntuación 𝐹1

Figura 3.7: Distribución de resultados de desempeño en la prueba 1.

Segunda Prueba
En esta segunda prueba, nuevamente se utilizan los rangos del cuadro 3.11, pero esta vez el al-
goritmo de muestreo aleatorio Latin Hypercube se usó para generar 1000 puntos con diferentes
combinaciones, cuya distribución permite que sean representativos de las 5 dimensiones esco-
gidas. Este método, a diferencia del utilizado en la primera prueba, no realiza iteraciones sobre
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 33
unas pocas muestras por dimensión: más bien se encarga de crear 1000 puntos bien distribuidos,
los cuales tendrán 1000 posiciones en cada dimensión.

Problemas que se hallaron durante la ejecución de este método fue que la creación del hiper-
cubo demora alrededor de 15 horas de procesamiento, lo cual añade mucho tiempo al proceso;
además algunas combinaciones causaban que algoritmo de desagregación GSP no convergiera.
Los resultados se presentan en el cuadro 3.14 y en las siguientes figuras:

Figura 3.8: Valor de los parámetros 𝜎, 𝑇0 e instance limit para el desempeño descrito por puntua-
ción 𝐹1 .
34 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Figura 3.9: Valor de los parámetros 𝛼 y 𝑅𝑖 para desempeño descrito por puntuación 𝐹1 .

Figura 3.10: Distribución de resultados de desempeño en la prueba 2.

Comparación de parámetros iniciales utilizados y sus rangos estudiados

El desempeño que se obtiene con los parámetros escogidos por defecto, descritos en el cuadro
3.5 fue de: Precisión= 68,8 % y Exhaustividad = 46,8 %, obteniendo una puntuación 𝐹1 =55,7 %. El
mejor desempeño que se obtuvo en el Análisis de Sensibilidad, y expuesto en las figuras 3.8 y
3.9 fue de: Precisión= 72,0 % y Exhaustividad = 54,5 %, obteniendo una puntuación 𝐹1 =62.1 %. Es
decir, tras el análisis de sensibilidad se obtuvieron mejoras de hasta un 6,4 % en la puntuación 𝐹1 .
3.2. Implementación de la evaluación de desempeño: Análisis de sensibilidad del algoritmo de
desagregación sobre una sola curva 35
Las combinaciones de parámetros para las que se obtuvieron los mejores y peores resultados
se presentan en los siguientes cuadros:

Cuadro 3.13: Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 1.

puntuación 𝐹1 𝜎 𝑅𝑖 ±𝑇0 𝛼 instance limit


61,16 % 39,874 0,1521 16,72 0,1403 11
61,16 % 40,298 0,1521 16,72 0,1403 11
61,16 % 40,298 0,2628 16,72 0,1403 11
61,16 % 40,298 0,2251 16,72 0,1403 11
61,10 % 39,874 0,1521 16,72 0,1403 11
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
39,70 % 40.298 0,2628 18,78 0.6927 7
39,70 % 40.298 0,2628 18,78 0.3734 7
39,70 % 40.298 0,2251 18,78 0.9401 7
39,70 % 40.298 0,2251 18,78 0.6927 7
39,70 % 40.298 0,2251 18,78 0.3734 7

Cuadro 3.14: Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 2.

puntuación 𝐹1 𝜎 𝑅𝑖 ±𝑇0 𝛼 instance limit


62,07 % 39,926 0,253 21,333 0,309 9
61,80 % 41,259 0,139 21,327 0,804 10
61,71 % 41,196 0,145 20,696 0,172 10
61,56 % 41,025 0,292 20,519 0,048 11
61,09 % 40,850 0,267 16,682 0,107 9
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
39,89 % 41,454 0,300 18,944 0,820 8
39,89 % 41,874 0,234 18,718 0,661 8
39,76 % 40,013 0,176 18,909 0,164 9
39,74 % 40,019 0,210 19,431 0,809 9
39,72 % 39,612 0,158 19,275 0,238 9

En las dos figuras que presentan distribuciones de los resultados de desempeño, las figuras
3.7 y 3.10, se aprecia que existe gran concentración de resultados entre 𝐹1 =0,55 y 𝐹1 =0,62; que
36 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

hay una gran brecha de resultados entre 0,5 y 0,55; el resto de resultados se acumula entre 0,4 y
0,5. Esto sucede por igual para las pruebas 1 y 2, por lo que se concluye que el algoritmo GSP
es poco sensible al método de muestreo usado para realizar el análisis de sensibilidad.

3.3. Resultados del análisis de sensibilidad de parámetros sobre


una sola curva
A partir del análisis de sensibilidad realizado, se puede llegar a varias conclusiones.
En la primera prueba, la optimización de parámetros a partir de una sola curva, se esperaba
que la mejora lograda con el desempeño fuera de al menos un 10 %, pero esta fue de tan solo 6,4 %,
lo cual es considerablemente menor. Esto es destacable, pues varias combinaciones de parámetros
resultaban con desempeños por debajo de 𝐹1 = 10 %; esto arrojaba la idea de poder optimizar aún
más el estado inicial del algoritmo.
Ahora, en los gráficos de distribución 3.7 y 3.10, se observa que para el GSP es altamente
probable caer en desempeños entre 55 % y 60 %, por lo que no es de extrañar que los parámetros
iniciales hayan tenido buen resultado.
Esto implica que los parámetros establecidos por defecto, cuando se programó el algoritmo
de desagregación del EPERLab, a pesar de no ser óptimos, tampoco eran inapropiados, causando
que los logros de esta optimización fueran menos sustanciales.
Al comparar los parámetros óptimos para el desempeño, listados en los cuadros 3.13 y 3.14,
con los rangos de parámetros del cuadro 3.11, se concluye:

• Los mejores resultados de 𝜎 corresponden a los más centrales del rango, cerca de 40; el
promedio de los mejores 10 resultados corresponde a 40,17. Esto también se aprecia en
ambas gráficas 3.5. y 3.8.
Cabe destacar que el valor inicial de 𝜎 correspondía a 40, y se recomienda seguir utilizán-
dolo.

• Los mejores resultados de 𝑅𝑖 se hallan en su mayoría mayores a 0,15; el promedio de los


mejores 10 resultados corresponde a 0, 192. La tendencia según el cuadro 3.7 es que al
aumentar 𝑅𝑖 aumenta el desempeño, por esto se recomienda utilizar valores de al menos
𝑅𝑖 = 0, 15, pero menores a 𝑅𝑖 = 0, 25, ya que valores altos también resultaron en malos
desempeños. Por esto, se recomienda 𝑅𝑖 = 0, 20.

• Todos los mejores resultados de las pruebas 1 y 2 se dieron entre 𝑇0 = 16, 718 y 𝑇0 = 16, 718
por lo que se pueden hacer iteraciones con el umbral de potencia centrado en este valor.
Según el análisis de la sección 3.1.2, el valor más básico para comenzar a separar eventos de
potencia es 17 W ; y según el cuadro 3.8, valores entre 13 W y 22 W obtienen desempeños
similares. Por esto se recomienda 𝑇0 = 16.

• Los valores de 𝛼 y 𝛽 varían mucho entre 0 y 1 sin hallar una tendencia clara a valores
que optimicen el desempeño. Esto concuerda con el resultado del cuadro 3.9. Por tanto
3.3. Resultados del análisis de sensibilidad de parámetros sobre una sola curva 37

se concluye que estos dos parámetros se pueden dejar fuera de la optimización, pues no
afectan sustancialmente al desempeño.

El promedio de los mejores 10 valores de 𝛼 dio 0,546, bastante cercano a su valor por
defecto. Se recomienda dejar 𝛼 = 𝛽 = 0, 50

• Los mejores resultados de las pruebas 1 y 2 se dieron con valores de instance limit entre 9
y 11, casi indiferentemente. Los peores valores se dieron con instance limit alrededor de 9
y 7. Al comparar esta situación con la vista en el cuadro 3.10, se aprecia nuevamente que
con valores entre 9 y 11 el resultado es muy similar, por lo que se concluye que cualquier
de estos valores no crean un cambio sustancial en el desempeño. Se recomienda utilizar
instance limit = 9.

A continuación se presenta un cuadro que resume estas conclusiones:

Cuadro 3.15: Resumen de parámetros optimizados individualmente.

Parámetro Valor recomendado


𝜎 40,0
𝑅𝑖 0,20
±𝑇0 16,0
𝛼, 𝛽 0,5
instance limit 9

Se tiene que los peores resultados de puntuación 𝐹1 coincide con muchos de los mejores
resultados de precisión obtenidos, alrededor de Precisión = 74 %, pero que son compensados ne-
gativamente por el valor de Exhaustividad, que sí corresponden a los peores conseguidos en
el algoritmo, alrededor de 27 %. Por esto se podría llegar a pensar en utilizar otros criterios de
desempeño para evaluar el comportamiento global del algoritmo, como la precisión, la exhaus-
tividad, puntuaciones 𝐹𝛽 distintas como 𝐹2 , que le da el doble de importancia a la precisión que
a la exhaustividad, las tasas de Falsos Positivos o Positivos Verdaderos, etc. Para todas estas ya
se halla implementado un código en Python que permite fácilmente obtener el parámetro que se
desee.
Esto permitió dar un diagnóstico de los parámetros escogidos por defecto, y da la posibili-
dad de escoger parámetros que optimicen mucho más las desagregaciones, ya que el algoritmo
desarrollado se puede ejecutar nuevamente en nuevas condiciones.
38 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

3.4. Implementación de la evaluación de desempeño: Análisis de


Sensibilidad a partir de todas las mediciones del EPERLab
El siguiente análisis consiste en un caso más amplio de las pruebas 1 y 2 realizadas en la sección
3.2. Esta vez se comparan los resultados de desagregación en todas las mediciones de cada
casa de la base de datos del EPERLab, que corresponden a 87. Las pruebas anteriores fueron sólo
realizadas en una medición (la número 3).

3.4.1. Primera prueba: desempeño al usar dos sets de parámetros


La primera prueba a realizar, consiste en medir el desempeño de la desagregación en todas las
casas usando los parámetros por defecto del cuadro 3.5, y luego medir el desempeño al usar los
parámetros que se concluyeron óptimos, del cuadro 3.15. Ambos resultados se comparan para
evaluar la mejora del desempeño de la desagregación.
Los resultados se presentan en la figura 3.11, en la que se compara en colores diferentes el
desempeño por puntuación 𝐹1 obtenido con ambos conjuntos de parámetros.

Figura 3.11: Desempeño obtenido en todas las mediciones de hogares usando los parámetros por
defecto, y usando parámetros optimizados desde una sola curva.

Resultados
Para los parámetros por defecto: la media de la precisión obtenida a lo largo de las 87 muestras
fue de 74,99 %, de la exhaustividad 33,72 %, de la puntuación F1 fue 45,42 %. Para las desagregacio-
nes usando los parámetros optimizados: la media de la precisión fue 74,19 %, de la exhaustividad
36,73 %, de la puntuación F1 fue 48,27 %.
3.4. Implementación de la evaluación de desempeño: Análisis de Sensibilidad a partir de todas las
mediciones del EPERLab 39
Con los parámetros por defecto: el peor desempeño se obtuvo en la muestra 14, con un F1 de
17,75 %. El mejor desempeño fue en la medición 38, con un F1= 62,57 %. Para los parámetros op-
timizados: el peor desempeño se obtuvo en la muestra 47, con un F1 de 19,35 % . La muestra 14
mejoró de 17,75 % a 58,48 %. El mejor desempeño fue en la medición 2, con un F1= 66,56 %, que
antes valía 61,88 % La medición 38 mejoró de 62,57 % a 65,84 %

Se concluye entonces que el resultado de la desagregación utilizando los parámetros optimi-


zados para una sola muestra es levemente mejor que el obtenido con los parámetros por defecto.
Hay una cantidad considerable de muestras en las que los parámetros optimizados empeoraron
el desempeño.

3.4.2. Segunda Prueba: obtención de mejores parámetros para cada medición


La segunda prueba consiste en realizar un barrido muy amplio de combinaciones de parámetros,
similar al realizado en la sección 3.2, donde se realizó sobre sólo una curva, pero en este caso se
analizarán todas las curvas de la base de datos del EPERLab.
Este análisis se realizó usando el muestreo aleatorio latin hypercube, obteniendo 30 combi-
naciones de los 5 parámetros del GSP, que se utilizaron para las 87 muestras. Esto nos da un total
de 2610 iteraciones, las cuales se completaron en alrededor de 37 horas.
En el siguiente cuadro se presenta los rangos utilizados para cada parámetro:

Cuadro 3.16: Rangos utilizados para iterar el set completo de 87 curvas del EPERLab

Parámetro Rango utilizado


𝜎 10-310
𝑅𝑖 0-1
±𝑇0 12-22
𝛼, 𝛽 0-1
instance limit 1-14

Los resultados son 4, y corresponden a:

1. Las curvas que consiguen las mejores desagregaciones.

2. El set de parámetros que obtiene el mejor desempeño para cada muestra individual.

3. El set de parámetros que optimizan a la mayor cantidad de muestras.

4. Grupos de curvas que comparten parámetros muy similares para el mejor desempeño.

A continuación se muestra el valor que toman los parámetros para obtener los desempeños que
van desde 10 % hasta 75 %, de todas las pruebas.
40 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Figura 3.12: Valor que toman Sigma, instance limit y T0 para dar diferentes desempeños F1.

Figura 3.13: Valor que toman Alpha y Ri para dar diferentes desempeños F1.
3.4. Implementación de la evaluación de desempeño: Análisis de Sensibilidad a partir de todas las
mediciones del EPERLab 41

Figura 3.14: Distribución de los resultados de barridos de parámetros en 87 muestras.


42 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.17: Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 2 del análisis a todas las muestras.

puntuación 𝐹1 Muestra 𝜎 𝑅𝑖 ±𝑇0 𝛼 instance limit # estados


0.722 76.0 297.22 0.664 20.45 0.2727 15.0 3.0
0.6997 38.0 82.29 0.1311 17.97 0.8051 13.0 3.0
0.6991 38.0 131.10 0.8569 20.74 0.05918 12.0 2.0
0.6976 74.0 267.97 0.01413 16.49 0.7133 14.0 3.0
0.6976 24.0 267.97 0.01413 16.49 0.7133 14.0 3
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
0.05857 2.0 57.20 0.6150 14.86 0.3953 8.0 1.0
0.05598 16.0 205.6 0.7957 19.63 0.6063 2.0 8.0
0.04673 48.0 141.2 0.3192 17.04 0.7841 2.0 11.0
0.04230 38.0 273.1 0.7195 21.66 0.4583 2.0 6.0
0.02097 38.0 297.22 0.6641 20.45 0.2727 15.0 1.0

Cuadro 3.18: Combinaciones de parámetros que generaron los mejores resultados en cada mues-
tra.

Muestra 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. limit 𝐹1 # estados


1.0 167.439 0.587 18.466 0.197 8.0 0.578 4.0
2.0 257.625 0.931 20.115 0.201 4.0 0.686 5.0
3.0 47.94 0.197 19.84 0.647 11.0 0.599 4.0
4.0 257.625 0.931 20.115 0.201 4.0 0.513 4.0
5.0 297.223 0.664 20.454 0.273 15.0 0.658 4.0
6.0 218.465 0.672 18.151 0.015 13.0 0.667 6.0
7.0 82.293 0.131 17.972 0.805 13.0 0.642 6.0
8.0 267.973 0.014 16.499 0.713 14.0 0.662 9.0
9.0 303.349 0.878 13.64 0.532 3.0 0.585 5.0
10.0 297.223 0.664 20.454 0.273 15.0 0.629 4.0
11.0 181.393 0.206 12.29 0.905 7.0 0.609 5.0
12.0 218.465 0.672 18.151 0.015 13.0 0.677 4.0
13.0 172.485 0.484 15.444 0.107 10.0 0.535 5.0
3.4. Implementación de la evaluación de desempeño: Análisis de Sensibilidad a partir de todas las
mediciones del EPERLab 43

14.0 96.277 0.942 16.708 0.306 6.0 0.627 4.0


16.0 113.421 0.99 14.579 0.152 5.0 0.645 6.0
19.0 141.275 0.319 17.047 0.784 2.0 0.533 7.0
20.0 257.625 0.931 20.115 0.201 4.0 0.599 5.0
21.0 235.335 0.08 21.466 0.267 6.0 0.6 4.0
22.0 221.499 0.758 14.14 0.852 12.0 0.682 6.0
23.0 297.223 0.664 20.454 0.273 15.0 0.623 5.0
24.0 218.465 0.672 18.151 0.015 13.0 0.658 6.0
25.0 221.499 0.758 14.14 0.852 12.0 0.693 5.0
26.0 221.499 0.758 14.14 0.852 12.0 0.672 7.0
27.0 131.106 0.857 20.742 0.059 12.0 0.538 4.0
30.0 235.335 0.08 21.466 0.267 6.0 0.565 4.0
31.0 181.393 0.206 12.29 0.905 7.0 0.558 6.0
32.0 131.106 0.857 20.742 0.059 12.0 0.62 6.0
33.0 297.223 0.664 20.454 0.273 15.0 0.643 4.0
34.0 199.398 0.251 13.28 0.689 6.0 0.623 7.0
35.0 221.499 0.758 14.14 0.852 12.0 0.659 4.0
36.0 199.398 0.251 13.28 0.689 6.0 0.509 5.0
37.0 273.117 0.72 21.668 0.458 2.0 0.523 5.0
38.0 172.485 0.484 15.444 0.107 10.0 0.695 4.0
39.0 131.106 0.857 20.742 0.059 12.0 0.597 5.0
40.0 205.699 0.796 19.64 0.606 2.0 0.566 6.0
41.0 199.398 0.251 13.28 0.689 6.0 0.567 4.0
44.0 199.398 0.251 13.28 0.689 6.0 0.562 4.0
45.0 96.277 0.942 16.708 0.306 6.0 0.654 4.0
47.0 156.201 0.386 12.53 0.936 5.0 0.568 5.0
48.0 181.393 0.206 12.29 0.905 7.0 0.581 4.0
49.0 273.117 0.72 21.668 0.458 2.0 0.587 4.0
50.0 218.465 0.672 18.151 0.015 13.0 0.591 6.0
51.0 297.223 0.664 20.454 0.273 15.0 0.603 5.0
53.0 96.277 0.942 16.708 0.306 6.0 0.579 5.0
54.0 113.421 0.99 14.579 0.152 5.0 0.59 7.0
55.0 113.421 0.99 14.579 0.152 5.0 0.59 7.0
56.0 131.106 0.857 20.742 0.059 12.0 0.616 4.0
57.0 257.625 0.931 20.115 0.201 4.0 0.586 4.0
59.0 101.517 0.138 16.268 0.469 9.0 0.578 5.0
60.0 113.421 0.99 14.579 0.152 5.0 0.577 5.0
61.0 221.499 0.758 14.14 0.852 12.0 0.631 5.0
62.0 218.465 0.672 18.151 0.015 13.0 0.635 5.0
44 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

63.0 131.106 0.857 20.742 0.059 12.0 0.631 7.0


64.0 131.106 0.857 20.742 0.059 12.0 0.655 6.0
65.0 297.223 0.664 20.454 0.273 15.0 0.651 4.0
66.0 156.201 0.386 12.53 0.936 5.0 0.568 5.0
67.0 82.293 0.131 17.972 0.805 13.0 0.583 5.0
68.0 205.699 0.796 19.64 0.606 2.0 0.588 4.0
69.0 235.335 0.08 21.466 0.267 6.0 0.549 4.0
72.0 205.699 0.796 19.64 0.606 2.0 0.632 5.0
73.0 218.465 0.672 18.151 0.015 13.0 0.674 4.0
74.0 218.465 0.672 18.151 0.015 13.0 0.658 6.0
75.0 221.499 0.758 14.14 0.852 12.0 0.685 4.0
76.0 288.213 0.064 19.151 0.736 9.0 0.677 6.0
77.0 10.335 0.801 13.846 0.407 14.0 0.66 4.0
78.0 297.223 0.664 20.454 0.273 15.0 0.627 5.0
79.0 199.398 0.251 13.28 0.689 6.0 0.607 8.0
80.0 96.277 0.942 16.708 0.306 6.0 0.609 7.0
81.0 218.465 0.672 18.151 0.015 13.0 0.611 5.0
83.0 113.421 0.99 14.579 0.152 5.0 0.501 7.0
84.0 267.973 0.014 16.499 0.713 14.0 0.622 5.0
85.0 221.499 0.758 14.14 0.852 12.0 0.641 5.0
86.0 235.335 0.08 21.466 0.267 6.0 0.573 5.0
87.0 218.465 0.672 18.151 0.015 13.0 0.598 4.0
3.4. Implementación de la evaluación de desempeño: Análisis de Sensibilidad a partir de todas las
mediciones del EPERLab 45

Figura 3.15: Comparación del desempeño de las 87 curvas usando: set de parámetros por defecto,
y la mejor combinación para cada curva.

3.4.3. Resultados de la obtención de los mejores parámetros para cada medi-


ción
El resultado de la prueba recién descrita son los parámetros que obtenían los mejores desempe-
ños. Esto se presenta en el cuadro 3.18 y figura 3.15.
Los valores de los 7 parámetros cubren todo el rango de variación asignado, y no hay una
tendencia clara a valores óptimos. Por tanto, para hallar un set unificado que se aplique a cual-
quier curva y asegure un buen desempeño, se obtendrá la media y la desviación estándar de
los parámetros del cuadro 3.18.

Cuadro 3.19: Promedios de mejores valores para los parámetros del algoritmo de desagregación,
con longitud de 1 semana y 𝑇𝑠 = 1 minuto

Parámetro Valor medio Desviación Estándar


𝜎 195,00 68,65
𝑅𝑖 0,60295 0,3032
±𝑇0 17,36 3,00
𝛼 -𝛽 0,4055 - 0,5945 0,3122
instance limit 9,027 4,217
Precisión 73,33 % 5,645 %
Exhaustividad 52,386 % 4,773 %
Puntuacion F1 61,025 % 4,736 %
46 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Se prueban estos nuevos parámetros sobre las 87 curvas y se compara con el desempeño de
los mejores parámetros individuales de cada curva, de la tabla 3.18. El resultado se muestra en
la figura 3.16, y es muy bueno, ya que la gran mayoría de las curvas consigue un desempeño
cercano al mejor posible. Por esto se concluye que este método es adecuado para que el
resultado esté optimizado.

Figura 3.16: Comparación del desempeño de las 87 curvas usando el mejor set de parámetros por
curva, y usando un único set de parámetros obtenido de la media de los mejores.

3.5. Análisis de sensibilidad ante cambios en tiempo de mues-


treo, número de muestras, y número de días disponibles
El análisis de sensibilidad ante cambios del tiempo de muestreo se implementa de dos formas
diferentes:

• En la primera se cambia el tiempo de muestreo al eliminar algunas de las muestras cada


cierto intervalo. Esto aumenta el tiempo de muestreo, pero también varía la cantidad total
de muestras de la serie de tiempo, lo cual afecta al resultado de la desagregación por GSP.
Por esto se implementa un segundo método para cambiar el tiempo de muestreo.

• Este segundo método permite variar el tiempo de muestreo sin eliminar muestras, utili-
zando una técnica de interpolación de datos basada en el Zero Order Holder o Retención de
Orden Cero (ZOH): todas las muestras que hay entre cada tiempo de muestreo, tendrán el
valor de la última medición. Para realizar esto, se sobre-escribe el valor de varias muestras
originales, al valor de una muestra anterior.
3.5. Análisis de sensibilidad ante cambios en tiempo de muestreo, número de muestras, y número
de días disponibles 47
Se implementan ambos métodos sobre la misma curva que se utilizó en los análisis de la
sección 3.2, variando los tiempos de muestreo de 1 minuto a 2, 5, 10, 15 y 30 minutos, y probando
diferentes combinaciones de parámetros para medir el cambio en desempeño. Esto se apreciará
en las secciones 3.5.1 y 3.5.2.

Además se realiza un tercer análisis de sensibilidad, para estudiar la variación del resultado de
las desagregaciones al tener menos días disponibles en la serie temporal. Para esto se escribe un
programa que elimina la cantidad de días de la semana que uno desee, realizando así iteraciones
sobre la misma serie temporal con diferente cantidad de días. Esto se realiza en la sección 3.5.3

Los rangos utilizados para el estudio de cada parámetro son los mismos del cuadro 3.16.

3.5.1. Cambios en el tiempo de muestreo, modificando el número de muestras.

En este análisis se cambia el tiempo de muestreo de la serie temporal y se procede a desagregar


con 50 combinaciones de parámetros. El resultado son los mejores parámetros, con al menos 4
desagregaciones reconocidas, para 1, 2, 5, 10, 15 minutos. Esto se muestra en el cuadro 3.20.

La serie temporal sigue siendo de una semana completa, por lo que se espera que los re-
sultados de los mejores parámetros no sea demasiado diferente que los obtenidos en la sección
3.3

Cuadro 3.20: Mejores combinaciones de parámetros halladas para diferentes tiempos de muestreo
(𝑇𝑠 ), según puntuación 𝐹1 y número de estados desagregados.

𝑇𝑠 [mins] 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 172.485 0.484 15.444 0.107 10 0.84 0.591 0.694 4
2 172.485 0.484 15.444 0.107 10 0.805 0.609 0.694 4
5 257.625 0.931 20.115 0.201 4 0.85 0.708 0.772 4
10 54.375 0.105 12.248 0.559 9 0.736 0.433 0.545 4
15 303.349 0.878 13.64 0.532 3 0.926 0.777 0.845 4
20 273.117 0.72 21.668 0.458 2 0.934 0.783 0.852 4
30 273.117 0.72 21.668 0.458 2 0.949 0.774 0.852 4
48 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.21: Combinaciones de parámetros halladas para diferentes tiempos de muestreo (𝑇𝑠 ),
para obtener los mejores desempeños independiente de la cantidad de estados desagregados.

𝑇𝑠 [mins] 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 297.223 0.664 20.454 0.273 15 0.835 0.636 0.722 3
2 267.973 0.014 16.499 0.713 14 0.725 0.687 0.706 3
5 288.213 0.064 19.151 0.736 9 0.868 0.721 0.787 2
15 57.2 0.615 14.86 0.395 8 0.924 0.8 0.857 3
20 218.465 0.672 18.151 0.015 13 0.939 0.812 0.871 2
30 235.335 0.08 21.466 0.267 6 0.942 0.821 0.878 2

Cuadro 3.22: Combinaciones de parámetros halladas para diferentes tiempos de muestreo (𝑇𝑠 ),
para obtener la mayor cantidad de estados desagregados, independiente del desempeño.

𝑇𝑠 [mins] 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 181.392 0.206 12.289 0.905 7 0.8123 0.3333 0.473 19
2 247.88 0.4316 12.78 0.886 1 0.724 0.4751 0.574 20
5 247.885 0.4315 12.778 0.886 1 0.763 0.528 0.625 21
15 141.27 0.319 17.05 0.7841 2 0.7817 0.5342 0.634 16
20 247.88 0.4315 12.778 0.886 1 0.8210 0.555 0.662 11
30 247.88 0.4316 12.78 0.886 1 0.957 0.503 0.660 12

Resultados
Los resultados obtenidos de este análisis son:
• Con tiempo de muestreo de 30 minutos, se llegaron a reconocer hasta una cantidad de
6 estados desagregados con buen desempeño; para 20 minutos se llegaron a reconocer
hasta 8 estados desagregados con buen desempeño; con 15 minutos se reconocieron hasta
14 de estos. Con tiempos de 1, 2, 5 y 10 se reconocieron hasta 20 estados desagregados.
Se concluye que con menor tiempo de muestreo se logran desagregar más estados, aunque
no necesariamente con buen desempeño.
• Para tiempos de muestreo de 15 minutos para arriba, se hallaron combinaciones de pará-
metros que generaban mejores precisión y exhaustividad; es un mejor desempeño que con
todos los tiempos de muestreo más pequeños, lo cual no se esperaba.
• Fue para los tiempos de muestreo de 15 y 20 minutos que se obtuvieron los mejores resul-
tados de puntuación F1, pero con baja cantidad de estados desagregados. Con los tiempos
3.5. Análisis de sensibilidad ante cambios en tiempo de muestreo, número de muestras, y número
de días disponibles 49
de 1, 2 y 5 minutos se hallaron bastantes estados desagregados, pero con bajo desempeño
(alrededor del 65 %).

Se concluye que el efecto más importante al reducir el tiempo de muestreo, es el número


de estados desagregados obtenidos, pues el resultado de la puntuación F1 es buena inclusive
en tiempos de muestreo grandes.

• Respecto a la cantidad de estados desagregados, se obtuvo:

– El valor de 𝜎 (sigma) no parece interferir en la cantidad de estados desagregados.


– Para todo tiempo de muestreo, los valores de instance limit superiores a 7 tienen una
tendencia a los mejores desempeños y menor cantidad de estados; y al contrario,
valores pequeños logran más estados desagregados.
– Los valores de Ri muy bajos, cercanos a 0,1, fueron los que obtuvieron menos des-
agregaciones. Los entre 0,1 y 1 lograron obtener más desagregaciones.
– Se presenta una ligera tendencia a que valores altos de 𝛼, cercanos a 1, consiguen
desagregaciones con más estados; en general no hay una relación definida entre 𝛼 y
el resultado de variar el tiempo de muestreo.
– La variación de 𝑇0 no parece tener relación con el resultado de variar el tiempo de
muestreo.
– Para todos los tiempos de muestreo, más cantidad de estados desagregados obtienen
menor desempeño de Precisión y Exhaustividad. Específicamente, a partir de más
de 7 estados reconocidos, es seguro que la desagregación tendrá bajo desempeño
(puntuación F1 debajo del 70 %) para cualquier tiempo de muestreo.
Pocos estados desagregados tienen buen desempeño, pero no se asemejan a resulta-
dos de la vida real.

3.5.2. Cambios en el tiempo de muestreo, manteniendo el número de mues-


tras.
En este análisis nuevamente se cambia el tiempo de muestro 𝑇𝑠 de la serie temporal de 1 mi-
nuto a 2, 5, 10, 15, 20 y 30 minutos, procediendo a realizar desagregaciones de estas series con
50 combinaciones de parámetros. El resultado son los parámetros que dan a lugar los mejores
desempeños, con al menos 4 estados desagregados reconocidos por el GSP, e igual que con el
caso anterior, 2 estados para los tiempos de 20 y 30 minutos. Esto se muestra en el cuadro 3.23.
Como en el caso anterior, las series temporales re-muestradas siguen siendo de una semana
completa, por lo que se espera que los parámetros obtenidos sean similares a los de la sección
3.3.
50 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.23: Mejores combinaciones de parámetros halladas para diferentes tiempos de muestreo
𝑇𝑠 y número de muestras constantes, según puntuación 𝐹1 y número de estados desagregados.

𝑇𝑠 [mins] 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 172.48 0.484 15.444 0.107 10 0.84 0.591 0.694 4
2 297.2 0.664 20.4 0.272 15 0.476 0.4808 0.478 4
5 167.4 0.587 18.5 0.196 8 0.411 0.470 0.438 4
10 54.375 0.105 12.248 0.559 9 0.371 0.358 0.364 4
15 35.982 0.259 18.323 0.019 9 0.303 0.343 0.322 4
20 35.982 0.259 18.323 0.019 9 0.421 0.370 0.393 3
30 273.1 0.719 21.67 0.4583 2 0.500 0.441 0.4685 4

Resultados
De este análisis se obtienen los siguientes resultados:

• Se observa una clara tendencia a que, con tiempos de muestreo de 20 y 30 minutos, las
desagregaciones presentan menos estados reconocidos y con menor de desempeño, que
con tiempos de 1 y 2 minutos. Esto es completamente diferente a lo obtenido en el
experimento anterior

• Se observa que reconocer más estados desagregados siempre disminuye el desem-


peño de la desagregación, aunque aumentar el tiempo de muestreo empeora considera-
blemente ambos parámetros.

• Parámetros que variaron al aumentar el tiempo de muestreo:

– Al aumentar el valor de 𝛼, hay una tendencia a obtener mayor cantidad de estados


desagregados; esto es más notorio en los tiempos de muestreo bajos, aunque se puede
observar ligeramente en los tiempos de muestreo más altos.
– Los valores bajos de instance limit permiten obtener más estados desagregados para
cualquier tiempo de muestreo. Esto también causa que las desagregaciones tengan
menor desempeño.
Cuando este parámetro toma valores altos (por arriba de 7) en tiempos de muestreo
alto, se obtienen muy malos desempeños (debajo de puntuaciones F1 de 40 %) y muy
baja cantidad de estados desagregados (alrededor de 1).
– Los valores muy bajos de 𝜎 , alrededor de 10, obtienen más bajo desempeño que los
valores altos del mismo, alrededor de 200. Esto para la misma cantidad de estados
desagregados, alrededor de 6.
3.5. Análisis de sensibilidad ante cambios en tiempo de muestreo, número de muestras, y número
de días disponibles 51
Esto es notorio para todo tiempo de muestreo, pero es muy influyente en los tiem-
pos de muestreo alto, ya para ambos tiempos se tienen pocos estados desagregados
(debajo de 3), pero cuando 𝜎 es alto, se tiene un desempeño hasta 10 % mayor.

• Parámetros que no se ven afectados por el cambio en tiempo de muestreo:

– Los valores de Ri no tienen una influencia clara en conseguir mejor desempeño o


mejor cantidad de estados desagregados; sus valores siempre se encuentran entre 0
y 1 cuando se logran estas dos condiciones .
– Los valores de 𝑇0 no tienen una tendencia clara en su variación, tanto en desempeño
como en número de estados obtenidos. Simplemente el rango estudiado para estos
no parece afectar.

3.5.3. Cambios en la cantidad de días disponibles para desagregar: longitud


de la serie.
Como se explicó al inicio de esta sección, en este análisis se pretende observar cómo se comporta
el algoritmo GSP y sus parámetros ante variaciones en la cantidad de días disponibles en la serie
temporal, manteniendo un tiempo de muestreo de 1 minuto.
El rango de parámetros utilizado para realizar el análisis corresponde al de la tabla 3.16.
Se utilizó el muestreo aleatorio de latin hypercube para realizar 100 combinaciones de los
parámetros, en 7 cantidades diferentes de días.
Los resultados de este análisis se presentan en los cuadros 3.24, y 3.26, donde se sintetizan
los mejores desempeños para la cantidad de estados reconocidos. De esta manera se aprecia que
los mejores desempeños fueron obtenidos con las series temporales que contenían 5 y 6 días,
obteniendo entre 1 y 7 desagregaciones con desempeños de hasta 80 %.

Cuadro 3.24: Combinaciones de parámetros halladas para mejor desempeño por puntuación 𝐹1 ,
con diferente cantidad de días y cualquier numero de estados desagregados.

Dias 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 82.293 0.131 17.972 0.805 13 0.921 0.721 0.809 5
2 131.106 0.857 20.742 0.059 12 0.861 0.655 0.744 7
3 297.223 0.664 20.454 0.273 15 0.821 0.639 0.718 1
4 288.213 0.064 19.151 0.736 9 0.820 0.625 0.709 1
5 131.106 0.857 20.742 0.059 12 0.842 0.645 0.73 2
6 82.293 0.131 17.972 0.805 13 0.835 0.639 0.724 4
7 297.22 0.6642 20.454 0.273 15 0.834 0.6362 0.722 3
52 3. Desarrollo e implementación del algoritmo de evaluación del desempeño de desagregaciones

Cuadro 3.25: Combinaciones de parámetros halladas para mejor desempeño por puntuación
𝐹1 , y al menos 6 desagregaciones.

Dias 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 38.768 0.552 17.449 0.582 12 0.912 0.686 0.783 6
2 131.106 0.857 20.742 0.059 12 0.861 0.655 0.744 7
3 273.117 0.72 21.668 0.458 2 0.863 0.592 0.702 8
4 273.117 0.72 21.668 0.458 2 0.821 0.585 0.683 6
5 68.939 0.349 15.685 0.983 9 0.864 0.632 0.73 9
6 121.169 0.29 18.995 0.334 4 0.839 0.593 0.695 8
7 221.5 0.7578 14.140 0.852 12 0.8184 0.5798 0.6787 7

Cuadro 3.26: Combinaciones de parámetros que resultaron en la mayor cantidad de estados des-
agregados, sin considerar desempeño.

Dias 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 141.28 0.3192 17.05 0.7841 2 0.8937 0.4400 0.5896 17
2 247.89 0.4316 12.778 0.8865 1 0.7797 0.5219 0.6252 15
3 205.69 0.7957 19.64 0.6063 2 0.7652 0.4506 0.5672 19
4 247.89 0.431 12.78 0.886 1 0.693 0.337 0.4542 17
5 141.27 0.3192 17.05 0.784 2 0.8373 0.423 0.5627 19
6 235.33 0.0800 21.46 0.266 6 0.8186 0.391 0.529 19
7 181.39 0.2060 12.29 0.9049 7 0.8123 0.333 0.47270 19

Resultados
Analizando los resultados de las desagregaciones con diferente cantidad de días, se observa:

• Se logró obtener en casi todas las posibilidades de días, al menos 17 diferentes estados
desagregados, inclusive para las series con un solo día disponible. Esto es diferente de lo
obtenido en las secciones 3.5.1 y 3.5.2, pues en la primera, se obtuvieron cada vez menos
estados a medida que se aumentaba el tiempo de muestreo, y en la segunda se obtuvieron
pocos estados desagregados para cualquier tiempo de muestreo.

• Se obtuvieron gran cantidad de desagregaciones independientemente de la longitud de


la serie a desagregar. Obtener más estados desagregados o mejor desempeño se permitió
gracias a la variación de los parámetros y al tiempo de muestre de 1 minuto.
3.5. Análisis de sensibilidad ante cambios en tiempo de muestreo, número de muestras, y número
de días disponibles 53
• Las series con menos días obtuvieron notablemente mejores desempeños que las series con
más días.

• Este análisis de reducción de muestras produjo desagregaciones con muchos estados re-
conocidos y buen desempeño en estos; por el contrario, el análisis de reducción del tiempo
de muestreo por reducción de muestras (sección 3.5.1), arrojó que mientras menos muestras,
se obtenía mejor desempeño, pero también se reducía considerablemente la cantidad de
estados desagregados

• Los parámetros que más tuvieron influencia en la variación de días de la serie temporal
fueron:

– Los valores de Ri que obtuvieron mayor número de estados desagregados y con el


mejor desempeño estuvieron entre 0,1 y 0,8. Esto fue independiente de la cantidad
de días en la serie temporal. Es decir, los mejores valores están alejados de extremos
que son 0 y 1.
– Para series con cualquier cantidad de días, valores de instance limit mayores a 9, lo-
gran obtener mejores desempeños y poca cantidad de estados reconocidos. Valores
menores a 9 y acercándose a 1, obtienen un numero mucho mayor de estados des-
agregados.
– Se consiguieron gran cantidad de estados desagregados en todas las series temporales,
al utilizar valores muy bajos de instance limit. Esto implica que se reconoce que un
electrodoméstico se usa al menos una o dos veces en toda la serie temporal, lo cual
reduce lo estrictos que deben ser los clusters de eventos de potencia para poder ser
establecidos como aparatos desagregados.
– El valor de 𝜎 (sigma) no pareció intervenir en el resultado de las desagregaciones,
pero sus valores que mejores resultados obtuvieron tanto en de desempeño como
número de estados, son alrededor de 200. Valores mayores a 270 y menores a 100,
consiguieron pocos estados y mal desempeño.

• Los parámetros que tuvieron menos dependencia de la variación de los días fueron:

– El valor de 𝑇0 tampoco pareció intervenir notoriamente en el resultado de las des-


agregaciones eran casi idénticos ante variaciones entre 𝑇0 = 12 y 𝑇0 = 22. Es mayor
la influencia de otros parámetros.
– El valor de 𝛼 y consecuentemente el de 𝛽 no afectó el resultado de las desagregacio-
nes: su variación no modificaba el desempeño o el número de estados reconocidos

De igual manera que en las secciones 3.5.1 y 3.5.2, se aprecia que el aumento de estados
desagregados reduce la calidad y desempeño de la desagregación, por lo que valores intermedios
de Ri, 𝜎, valores altos de instance limit tiene un efecto directo en la calidad y desempeño de las
desagregaciones.
Capítulo 4

Implementación del algoritmo de análisis


de demanda eléctrica con parámetros
optimizados en las curvas de UVECASE

4.1. Obtención de parámetros optimizados para la desagregación


de curvas de UVECASE

Para poder implementar el algoritmo de desagregación de potencia basado en GSP, se debe tener
en consideración lo siguiente: las curvas de UVECASE se encuentran a tiempo de muestreo de
10 minutos, y la longitud de su serie temporal varía desde 1 hasta 7 días de la semana. Estas dos
características causan que no se puedan utilizar el mismo set de parámetros que se obtuvieron en
la sección 3.3, los cuales fueron optimizados para un tiempo de muestreo de 1 minuto, y longitud
de la serie de tiempo de 7 días.

Para generar parámetros adecuados que permitan obtener buenos resultados en todas las
curvas de UVECASE, se decide realizar un análisis similar al de la sección 3.5, basado tanto en
la reducción del tiempo de muestreo hecha en 3.5.1, como en la reducción de días de la semana
hecha en 3.5.3. Entonces se toman las 87 curvas residenciales medidas por el EPERLab, se re-
muestrean a 10 minutos, y se prueban diferentes combinaciones de parámetros, con 7 opciones
distintas de días disponibles.

Los resultados de esto siguen el formato de los obtenidos en 3.4.3, donde se generó un con-
junto de valores promedio; pero esta vez se crean 7 conjuntos diferentes, uno para cada cantidad
de días disponibles. Estos 7 conjuntos diferentes se presentan en la tablas 4.3 a 4.9.

55
4. Implementación del algoritmo de análisis de demanda eléctrica con parámetros optimizados en
56 las curvas de UVECASE
Cuadro 4.1: Combinaciones de parámetros que resultaron en el mejor desempeño de todas las 87
curvas en la cantidad de días especificados, y con al menos 1 estado desagregado.

Dias 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 10.335 0.801 13.846 0.407 14 0.912 0.832 0.87 1
2 257.625 0.931 20.115 0.201 4 0.892 0.834 0.862 2
3 96.277 0.942 16.708 0.306 6 0.907 0.796 0.848 2
4 10.335 0.801 13.846 0.407 14 0.907 0.804 0.852 1
5 288.213 0.064 19.151 0.736 9 0.903 0.828 0.863 2
6 10.335 0.801 13.846 0.407 14 0.91 0.802 0.852 1
7 297.223 0.664 20.454 0.273 15 0.926 0.788 0.852 2

Cuadro 4.2: Combinaciones de parámetros que resultaron en el mejor desempeño de todas las 87
curvas en la cantidad de días especificados, y con al menos 6 estados desagregados.

Dias 𝜎 𝑅𝑖 ±𝑇0 𝛼 ins. lim Precis. Exhaust. 𝐹1 Desagreg.


1 247.886 0.432 12.778 0.887 1 0.839 0.681 0.752 7
2 205.699 0.796 19.64 0.606 2 0.886 0.706 0.786 7
3 205.699 0.796 19.64 0.606 2 0.885 0.661 0.757 6
4 247.886 0.432 12.778 0.887 1 0.898 0.706 0.79 8
5 205.699 0.796 19.64 0.606 2 0.908 0.725 0.806 7
6 205.699 0.796 19.64 0.606 2 0.906 0.77 0.832 6
7 303.349 0.878 13.64 0.532 3 0.922 0.766 0.837 7

Cuadro 4.3: Resumen de los parámetros promedio para series con 1 día.

Parámetro Valor medio Desviación Estándar


𝜎 231,55 57,204
𝑅𝑖 0,6141 0,21966
±𝑇0 17,24 3,651
𝛼 -𝛽 0,6081 - 0,3919 0,2587
instance limit 2,1333 1,0178
Puntuacion F1 64,16 % 10,77 %
4.1. Obtención de parámetros optimizados para la desagregación de curvas de UVECASE 57

Cuadro 4.4: Resumen de los parámetros promedio para series con 2 días.

Parámetro Valor medio Desviación Estándar


𝜎 233,07 50,91
𝑅𝑖 0,6067 0,2148
±𝑇0 17,109 3,6228
𝛼 -𝛽 0,6415 - 0,3585 0,19199
instance limit 2,081 1,0436
Puntuacion F1 65,10 % 7,422 %

Cuadro 4.5: Resumen de los parámetros promedio para series con 3 días.

Parámetro Valor medio Desviación Estándar


𝜎 226,39 57,967
𝑅𝑖 0,5551 ,.2203
±𝑇0 15,565 3,323
𝛼 -𝛽 0,7023 - 0,2978 0,19716
instance limit 2,167 1,6615
Puntuacion F1 64,45 % 8,5966 %

Cuadro 4.6: Resumen de los parámetros promedio para series con 4 días.

Parámetro Valor medio Desviación Estándar


𝜎 224,4 60,11
𝑅𝑖 0,6287 0,2513
±𝑇0 16,99 3,369
𝛼 -𝛽 0,6047 - 0,3953 0,2051
instance limit 2,606 1,516
Puntuacion F1 66,55 % 6,876 %
4. Implementación del algoritmo de análisis de demanda eléctrica con parámetros optimizados en
58 las curvas de UVECASE
Cuadro 4.7: Resumen de los parámetros promedio para series con 5 días.

Parámetro Valor medio Desviación Estándar


𝜎 215,35 68,93
𝑅𝑖 0,6698 0,2383
±𝑇0 16,539 3,294
𝛼 -𝛽 0,5810 - 0,4189 0,2376
instance limit 2,814 1,8516
Puntuacion F1 66,99 % 6,266 %

Cuadro 4.8: Resumen de los parámetros promedio para series con 6 días.

Parámetro Valor medio Desviación Estándar


𝜎 205,6 72,95
𝑅𝑖 0,6273 0,2641
±𝑇0 17,28 3,141
𝛼 -𝛽 0,5604 - 0,4396 0,2294
instance limit 3,162 2,120
Puntuacion F1 66,22 % 6,924 %

Cuadro 4.9: Resumen de los parámetros promedio para series con 7 días.

Parámetro Valor medio Desviación Estándar


𝜎 226,0 62.28
𝑅𝑖 0,6429 0,2712
±𝑇0 17,426 3,4408
𝛼 -𝛽 0,5430 - 0,4570 0,2506
instance limit 3,338 2,490
Puntuacion F1 67,359 % 5,938 %

Se utilizará el valor medio de cada parámetro descrito en las tablas, para realizar las desagre-
gaciones de los datos de UVECASE. Esto porque el valor medio da respaldo ante la variabilidad
que puede haber entre cada curva.
4.2. Implementación de los parámetros en UVECASE 59

4.2. Implementación de los parámetros en UVECASE

Para realizar las desagregaciones de toda la base de datos del UVECASE, se ordenan y se unen
las diferentes curva disponibles por cada hogar, para poder tener una serie temporal continua.
Esto porque, las mediciones realizadas en cada hogar durante una semana, no contienen la in-
formación completa de todos los días debido a fallos en las mediciones, y se tiene en cambio una
cantidad variable entre 1 y 7 días.
La serie temporal resultante entonces contendrá unida la información del consumo de sólo los
días disponibles. Por esto se escribe un código en Python que, antes de realizar las desagregacio-
nes de potencia, cuenta los días que hay en la serie temporal, y escoge el mejor set de parámetros,
según alguna de las tablas de la sección 4.1.
Los resultados de este procedimiento son bastantes satisfactorios, pues los desempeños ob-
tenidos de las desagregaciones, y el número de estados desagregados son altos. Esto se resume
en las figuras 4.1 y 4.2, donde se muestra que hay una gran cantidad de desagregaciones con
desempeño arriba del 70 %, con las más altas llegan hasta 94 %; y buena cantidad de estados des-
agregados, estando la mayoría por encima de 3 y 4.

4
Cantidad de valores

0
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Cantidad de Estados Desagregados
Figura 4.1: Distribución de los resultados de desempeño de las desagregaciones de UVECASE
4. Implementación del algoritmo de análisis de demanda eléctrica con parámetros optimizados en
60 las curvas de UVECASE

0.40

0.35

0.30
Cantidad de valores

0.25

0.20

0.15

0.10

0.05

0.00
0 2 4 6 8 10 12 14
Cantidad de Estados Desagregados
Figura 4.2: Distribución de la cantidad de estados desagregados en las curvas de UVECASE
Capítulo 5

Agrupamiento Jerárquico de Curvas

Para realizar el agrupamiento jerárquico se realiza un programa que permite identificar y crear
clusters o grupos de curvas que tengan características similares.
Siguiendo el diseño realizado en la sección 2.3.3, se busca una herramienta en lenguaje Python
que permita calcular distancias entre curvas de datos, y crear de ellos un dendograma, el cual es
la base para obtener los clusters. Para este fin se halló la página web [12], que recomienda la
utilización de ciertas bibliotecas de Python, que se explican a continuación:

• Para calcular las distancias entre las curvas de un electrodoméstico se utilizó el Dynamic
Time Warping, utilizando la librería fastdtw disponible para Python. Se creó una matriz
de distancias para cada electrodoméstico.

• Para la creación de los dendogramas, se utiliza función dendrogram() del paquete


scipy.cluster.hierarchy, perteneciente a la biblioteca científica de código abierto Scypy.

• Para la creación de los diferentes clusters a partir de los electrodomésticos ordenados, se


utiliza la función AgglomerativeClustering() del paquete sklearn.cluster, pertene-
ciente a la biblioteca de machine learning en código abierto Scikit-Learn. Esta se implementa
sobre la matriz de distancias de un electrodoméstico, definiendo el número de clusters que
se dean obtener al clasificar la matriz; para el proyecto se decidió obtener 4 clusters, pero se
puede obtener otra cantidad de manera sencilla. Obtener un número adaptativo de clusters
dependiendo de las características del electrodoméstico es un tema amplio y complejo que
se escapa de los objetivos de este proyecto.

Se realizaron matrices de distancias y se realizaron agrupamientos jerárquicos con 4 clusters,


para todos los electrodomésticos de la base de datos del EPERLab. Esto se muestra en el cuadro 5.1,
donde cada muestra de un electrodoméstico posee un número que fue asignado por el EPERLab
previamente.

61
62 5. Agrupamiento Jerárquico de Curvas

Cuadro 5.1: Clusters jerárquicos de curvas obtenidos para cada electrodoméstico

Electrodomésticos Cluster 1 Cluster 2 Cluster 3 Cluster 4


0,5,6,

7 , 9 , 12 ,
1 , 2 , 3 , 11 ,
13 , 14 , 15 ,
17 , 22 , 23 ,
cocina 24 , 29 , 30 , 10 , 19 , 20 , 21 4 , 8 , 41
16 , 18 , 25 ,
31 , 38 , 39 ,
26 , 27 , 28 ,
42 , 45 , 46
32 , 33 , 34 ,
35 , 36 , 37 ,
40 , 43 , 44
horno 3 2 1 0
0 , 2 , 11 ,
6 , 7 , 21 , 22 ,
3,4,5,9,
12 , 16 , 17 ,
microondas 1 , 8 , 10 , 15 23 , 27 , 29 , 13 , 14 , 19 ,
18 , 24 , 25 ,
20 , 28 , 32
30 , 31
26
0,1,3,4,
5,7,8,9,
10 , 11 , 12 ,
2 , 6 , 14 , 15 , 13 , 17 , 23 ,
16 , 21 , 22 , 24 , 25 , 28 ,
18 , 19 , 20 ,
26 , 30 , 34 , 31 , 32 , 33 ,
refrigeradora 27 , 29
36 , 40 , 43 , 35 , 37 , 38 ,
47 , 48 , 49
54 , 55 , 56 , 39 , 41 , 42 ,
60 44 , 45 , 46 ,
50 , 51 , 52 ,
53 , 57 , 58 ,
59
0,3,6,8, 1,2,4,5,
coffee maker 7 , 9 , 11 10 , 12 , 14 , 13 , 16 , 17 , 19
15 18
congelador - - - -
hornito - - - -
olla 2,3,7,
6 0 , 4 , 5 , 11 1
arrocera 8 , 9 , 10
5. Agrupamiento Jerárquico de Curvas 63

olla
cocimiento 0,1,5 3 4 2
lento
olla presión - - - -
0,1,4,8,
10 , 13 , 16 ,
3 , 5 , 9 , 15 ,
20 , 21 , 22 ,
17 , 18 , 19 ,
23 , 24 , 25 , 6 , 7 , 11 ,
31 , 32 , 33 ,
calentamiento 26 , 28 , 29 ,
2 , 12 , 14 , 30 34 , 35 , 38 ,
de agua 36 , 37 , 39 , 27 , 41 , 42 ,
49 , 50 , 57 ,
40 , 44 , 45 , 43 , 51
58 , 59 , 60 ,
46 , 47 , 48 ,
61 , 62
52 , 53 , 54 ,
55 , 56
calentador
- - - -
agua
ducha - - - -
tanque
- - - -
agua
plancha
- - - -
pelo
plancha
- - - -
ropa
0,1,3,7, 2 , 4 , 10 ,
celular 6,8 5
9 11 , 12
0,1,2,3,
4,5,6,9, 14 , 15 , 16 ,
computadora 10 , 12 , 17 7,8
11 , 13 , 18 , 21 , 22
19 , 20
laptop - - - -
modem - - - -
router 3,7,8,9 6 0,1,2,4 5
consola - - - -
equipo
3 2 1 0
sonido
64 5. Agrupamiento Jerárquico de Curvas

5 , 8 , 9 , 10 ,
11 , 12 , 13 , 0,1,2,3, 6 , 25 , 26 ,
14 , 15 , 16 , 4 , 7 , 18 ,
televisor 21
17 , 22 , 23 , 19 , 20 , 28 , 30 , 31 , 32 ,
24 , 27 , 33 , 29 , 34 , 35 36 , 37
38
extractor - - - -
extractor
- - -
grasa
extractor
- - - -
humedad
0,1,2,3,
7 , 8 , 11 ,
13 , 15 , 16 , 10 , 12 , 14 ,
lavadora 6 , 18 4,5,9
17 , 22 , 23 , 19 , 20 , 21
24 , 25 , 26 ,
27
0,1,3,4,
2,7,8,9,
5 , 6 , 13 ,
secadora 10 , 11 , 12 , 18 21
14 , 15 , 16 ,
17 , 19
20
5. Agrupamiento Jerárquico de Curvas 65

0,1,2,3,
4,5,6,7,
10 , 11 , 12 ,
15 , 16 , 17 ,
18 , 19 , 21 ,
23 , 25 , 26 ,
27 , 28 , 31 ,
34 , 35 , 36 ,
37 , 39 , 41 ,
8 , 13 , 14 ,
42 , 43 , 44 , 9 , 20 , 22 ,
24 , 38 , 40 ,
45 , 46 , 47 , 29 , 30 , 32 ,
53 , 56 , 59 ,
51 , 52 , 54 ,
iluminacion 48 , 49 , 50
55 , 57 , 58 , 33 , 71 , 74 ,
79 , 82 , 89 ,
60 , 61 , 62 ,
93 , 94 , 95 ,
63 , 64 , 65 , 91 , 100
97
66 , 67 , 68 ,
69 , 70 , 72 ,
73 , 75 , 76 ,
77 , 78 , 80 ,
81 , 83 , 84 ,
85 , 86 , 87 ,
88 , 90 , 92 ,
96 , 98 , 99 ,
101
portón eléctrico - - - -

Cada uno de estos electrodomésticos tiene un dendograma asociado, que representa las cur-
vas y sus distancias, describiendo a partir de cuáles se forman los clusters. Un ejemplo se presenta
en la figura 5.1, creada tomando distancias aleatorias entre 50 electrodomésticos.
66 5. Agrupamiento Jerárquico de Curvas

Figura 5.1: Dendograma ejemplo, para distancias entre 50 electrodomésticos.


Capítulo 6

Conclusiones y recomendaciones

6.1. Conclusiones
1. En este proyecto se logró desarrollar un código en lenguaje de programación Python, que
permite evaluar el desempeño de desagregaciones de potencia.
Dicho código permite obtener 9 indicadores que evalúan la calidad de predicción de even-
tos, listados en los cuadros 2.2 y 2.3, cuyo formato es el de funciones importables de Python;
por esto, quedan disponibles para cualquier usuario.

2. Con la posibilidad de evaluar desempeño, se realizaron múltiples análisis de sensibilidad del


algoritmo GSP, usando la base de datos del EPERLab, y permitiendo lograr desagregaciones
de alto desempeño en mediciones con tiempos de muestreo de 1, 2, 5, 10, 15, 20 y 30 minutos.
También se logró optimizar desagregaciones de series temporales con cantidad de días
entre 1 y 7.
Las desagregaciones iniciales tenían desempeños con puntuaciones 𝐹1 de como máximo
60 %, como se aprecia en la figura 3.11, y sólo aplicables para tiempos de muestreo de
1 minuto con datos de los 7 días de la semana. Al optimizar los parámetros se lograron
desagregaciones con puntuación 𝐹1 de hasta 90 % (sección 4.2), con tiempos de muestreo
de hasta 30 minutos (sección 3.5) y con variedad de días de la semana disponibles (secciones
3.5.3 y 4.1).

3. Se comenzó realizando el análisis de sensibilidad para el algoritmo de desagregaciones, al


mejorar el desempeño parámetro por parámetro. Esto no resulto demasiado eficiente, por
lo que comenzó a optimizar para combinaciones de parámetros enteras, obteniendo como
resultado los mejores y peores sets.

4. Se creó un método para hallar un set de parámetros optimizados para tiempos de muestreo
y longitudes de serie temporal específicos, que es detallado en la sección 3.5. Esto mismo
permitió entender la relación que tienen los parámetros del GSP con su desempeño y el
número de electrodomésticos desagregados exitosamente, lo que abre la posibilidad de
definir rápidamente los parámetros para cualquier medición.

67
68 6. Conclusiones y recomendaciones

5. Se utilizó la metodología utilizada en el análisis de sensibilidad de la sección 3.5 para hallar


parámetros que permitan desagregar eficiente y eficazmente todas las curvas de UVECASE.

6. Se creó un código que permite realizar agrupamiento jerárquico de aparatos eléctricos, con
la posibilidad de clasificarlos bajo una sola de sus características, o múltiples de estas, como
se explica en la sección 2.3.3.
Este código quedó disponible como una función importable en Python, por lo que cualquier
usuario puede utilizarla y generar clusters, dendogramas, y gráficos de dispersión. No se
logró aplicar esta función a la base de datos del EPERLab, pero se sentaron las bases para
realizarlo en el futuro.

6.2. Recomendaciones
• La principal recomendación es optimizar el proceso de obtención de combinaciones de
parámetros. Esto se puede realizar al usar el algoritmo de muestreo aleatorio latin hyper-
cube para muchas más combinaciones en todos los análisis de sensibilidad realizados, en
las secciones 3.2, 3.5.1, 3.5.2, 3.5.3. Este método permite utilizar una muy amplia gama de
combinaciones de parámetros que ha demostrado ser muy útil a lo largo de todo el trabajo.
También se puede incursionar en técnicas estadísticas mucho más avanzadas para el re-
conocimiento de patrones dentro de los parámetros y el algoritmo GSP. En este ámbito, el
Machine Learning es una herramienta más que adecuada, y es cada vez más fácil de utilizar.

• Para la optimización de parámetros para desagregar curvas de UVECASE, se utilizó la


totalidad de los datos de EPERLAB para obtener parámetros adecuados. Se podría utilizar
una parte de los datos como entrenamiento, y otra parte como prueba. Esto es común en
los algoritmos de reconocimiento de patrones, para poder obtener más robustez y mejor
desempeño.

• Para efectos de publicación e implementación de técnicas utilizadas en la literatura, como el


NILM-toolkit de [10], se recomienda organizar la base de datos del EPERLab según algún
formato reconocido internacionalmente, como REDD (2011), Smart (2012), iAWE (2013),
entre otros. Para este caso, el autor de este toolkit recomienda utilizar el formato HDF5,
que permite ordenar y almacenar series temporales heterogéneas y multidimensionales.

• Se recomienda explorar métodos estadísticos como detección de la envolvente de una se-


ñal, y detección de eventos por ventanas temporales, utilizados en Nait Meziane et al. [5],
para detectar eventos durante la desagregación, y durante la evaluación de desempeño. Es
posible que esto requiera más procesamiento computacional, así que métodos estadísticos
de la sección 3.1.2 pueden ser un primer acercamiento.

• Se recomienda explorar la posibilidad de utilizar los métodos estadísticos de detección de


eventos descritos en la sección 3.1.2, para la detección de eventos durante las desagrega-
6.2. Recomendaciones 69

ciones de potencia; si embargo, este método debe ser mejorado. Los métodos de moving
window o ventana temporal desplazable pueden ser muy útiles.
Bibliografía

[1] B. Zhao, L. Stankovic, and V. Stankovic. On a training-less solution for non-intrusive ap-
pliance load monitoring using graph signal processing. IEEE Access, 4:1784–1799, 2016.
ISSN 2169-3536. doi: 10.1109/ACCESS.2016.2557460.

[2] Lucas Pereira and Nuno Nunes. Performance evaluation in non-intrusive load monitoring:
Datasets, metrics, and tools—a review. Wiley Interdisciplinary Reviews: Data Mining and
Knowledge Discovery, 8(6):e1265, 2018. doi: 10.1002/widm.1265. URL https://onlinelibrary.
wiley.com/doi/abs/10.1002/widm.1265.

[3] B. Zhao, K. He, L. Stankovic, and V. Stankovic. Improving event-based non-intrusive load
monitoring using graph signal processing. IEEE Access, 6:53944–53959, 2018. ISSN 2169-
3536. doi: 10.1109/ACCESS.2018.2871343.

[4] K. Kumar and M. G. Chandra. Event and feature based electrical load disaggregation using
graph signal processing. In 2017 IEEE 13th International Colloquium on Signal Processing its
Applications (CSPA), pages 168–172, March 2017. doi: 10.1109/CSPA.2017.8064945.

[5] M. Nait Meziane, P. Ravier, G. Lamarque, J. Le Bunetel, and Y. Raingeaud. High accuracy
event detection for non-intrusive load monitoring. In 2017 IEEE International Conference
on Acoustics, Speech and Signal Processing (ICASSP), pages 2452–2456, March 2017. doi:
10.1109/ICASSP.2017.7952597.

[6] K. Kumar, R. Sinha, M. G. Chandra, and N. K. Thokala. Data-driven electrical load disag-
gregation using graph signal processing. In 2016 IEEE Annual India Conference (INDICON),
pages 1–6, Dec 2016. doi: 10.1109/INDICON.2016.7839109.

[7] V. Stankovic, J. Liao, and L. Stankovic. A graph-based signal processing approach for low-
rate energy disaggregation. In 2014 IEEE Symposium on Computational Intelligence for En-
gineering Solutions (CIES), pages 81–87, Dec 2014. doi: 10.1109/CIES.2014.7011835.

[8] S. Welikala, C. Dinesh, M. P. B. Ekanayake, R. I. Godaliyadda, and J. Ekanayake. Incor-


porating appliance usage patterns for non-intrusive load monitoring and load forecas-
ting. IEEE Transactions on Smart Grid, 10(1):448–461, Jan 2019. ISSN 1949-3053. doi:
10.1109/TSG.2017.2743760.

71
72 Bibliografía

[9] J. Liao, G. Elafoudi, L. Stankovic, and V. Stankovic. Non-intrusive appliance load mo-
nitoring using low-resolution smart meter data. In 2014 IEEE International Conferen-
ce on Smart Grid Communications (SmartGridComm), pages 535–540, Nov 2014. doi:
10.1109/SmartGridComm.2014.7007702.

[10] Nipun Batra, Jack Kelly, Oliver Parson, Haimonti Dutta, William Knottenbelt, Alex Rogers,
Amarjeet Singh, and Mani Srivastava. Nilmtk: An open source toolkit for non-intrusive load
monitoring. In Proceedings of the 5th International Conference on Future Energy Systems, e-
Energy ’14, pages 265–276, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-2819-7. doi:
10.1145/2602044.2602051. URL http://doi.acm.org/10.1145/2602044.2602051.

[11] Jared L. Deutsch and Clayton V. Deutsch. Latin hypercube sampling with multidimensional
uniformity. Journal of Statistical Planning and Inference, 142(3):763 – 772, 2012. ISSN 0378-
3758. doi: https://doi.org/10.1016/j.jspi.2011.09.016. URL http://www.sciencedirect.com/
science/article/pii/S0378375811003776.

[12] Pulkit Sharma. A beginner’s guide to hierarchical clustering and how to per-
form it in python, 2019. URL https://www.analyticsvidhya.com/blog/2019/05/
beginners-guide-hierarchical-clustering/.

View publication stats

También podría gustarte