Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/341625563
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:
All content following this page was uploaded by Pablo Rodriguez on 25 May 2020.
por
Febrero de 2020
Implementación del algoritmo de análisis de demanda
eléctrica por usos finales en las curvas de UVECASE
por
B45900
Febrero de 2020
Resumen
por
Í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
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
6 Conclusiones y recomendaciones 67
6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Bibliografía 71
Índice de figuras
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
Índice de cuadros
ix
x Índice de cuadros
Introducción
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 1. Introducción
• 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.
• 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:
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
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
Etiquetado de curvas
desagregadas
Output: electrodomésticos
desagregados
No
¿Tienen buena calidad?
Sí
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 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.
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
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.
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
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
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.
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:
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.
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
Detección de Detección de
Curva desagregada
eventos eventos
Cálcular métricas
(Precision & Recall)
Figura 2.2: Diseño de la implementación del primer objetivo del proyecto eléctrico.
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.
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
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
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.
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.
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:
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 𝑥.
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).
𝑁 = 𝑀 × 𝑀 × ⋯ × 𝑀 = 𝑀𝑘 (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
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.
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
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 𝑅𝑖
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
Variación de 𝛼 y 𝛽
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.11: Rangos de variación reducidos de los parámetros del algoritmo GSP
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.
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
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 .
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.
Cuadro 3.14: Combinaciones de parámetros para los mejores 5 y los peores 5 resultados de desem-
peño de la prueba 2.
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.
• 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.
• 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.
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
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 %
Cuadro 3.16: Rangos utilizados para iterar el set completo de 87 curvas del EPERLab
2. El set de parámetros que obtiene el mejor desempeño para cada muestra individual.
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
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.
Cuadro 3.18: Combinaciones de parámetros que generaron los mejores resultados en cada mues-
tra.
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.
Cuadro 3.19: Promedios de mejores valores para los parámetros del algoritmo de desagregación,
con longitud de 1 semana y 𝑇𝑠 = 1 minuto
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.
• 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.
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.
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.
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.
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 %).
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.
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
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.
Cuadro 3.25: Combinaciones de parámetros halladas para mejor desempeño por puntuación
𝐹1 , y al menos 6 desagregaciones.
Cuadro 3.26: Combinaciones de parámetros que resultaron en la mayor cantidad de estados des-
agregados, sin considerar desempeño.
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.
• 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 parámetros que tuvieron menos dependencia de la variación de los días fueron:
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
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.
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.
Cuadro 4.3: Resumen de los parámetros promedio para series con 1 día.
Cuadro 4.4: Resumen de los parámetros promedio para series con 2 días.
Cuadro 4.5: Resumen de los parámetros promedio para series con 3 días.
Cuadro 4.6: Resumen de los parámetros promedio para series con 4 días.
Cuadro 4.8: Resumen de los parámetros promedio para series con 6 días.
Cuadro 4.9: Resumen de los parámetros promedio para series con 7 días.
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
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
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.
61
62 5. Agrupamiento Jerárquico de Curvas
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
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.
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
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.
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.
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/.