análisis del consumo energético por rangos horarios · máster universitario en visual analytics...

77
Trabajo Fin de Máster presentado por: Pardo Palazón, Juan Director/a: Emaldi Manrique, Mikel Ciudad: Madrid Fecha: 19-09-2019 Universidad Internacional de La Rioja (UNIR) ESIT Máster en Análisis y Visualización de Datos Masivos Análisis del consumo energético por rangos horarios

Upload: others

Post on 14-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Trabajo Fin de Máster

presentado por: Pardo Palazón, Juan

Director/a: Emaldi Manrique, Mikel

Ciudad: Madrid Fecha: 19-09-2019

Universidad Internacional de La Rioja (UNIR)

ESIT Máster en Análisis y Visualización de Datos Masivos

Análisis del consumo energético por rangos horarios

Page 2: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 2

Resumen

El objetivo de este trabajo es realizar un análisis sobre el consumo energético por rangos

horarios de un conjunto de hogares. Se ha seleccionado un dataset ya existente donde se

capturaron durante dos años el consumo eléctrico de todas las estancias de cada hogar en el

Reino Unido. Mediante una técnica de clustering se realiza el agrupamiento de hogares según

dos parámetros: el coeficiente de variabilidad de consumo en un rango horario y la proporción

de consumo energético de ese rango con el resto. Con esta información las compañías

eléctricas podrán ofrecer ofertas a grupos de hogares concretos. Al emplear una técnica de

clustering (aprendizaje no supervisado) en este análisis es complicado validar con absoluta

certeza si la agrupación de los hogares es correcta. Se realiza, además, mediante un modelo

de auto regresión la predicción de consumo de cada hogar para las próximas semanas. Se

comprueba también qué hogares realizan mayor consumo durante las franjas horarias diurnas

y nocturnas.

Palabras Clave: rango horario, modelo auto regresión, clustering, consumo eléctrico

Abstract

The objective of this publication is to analyze energy consumption in time ranges of a set of

households. For two years, the electrical consumption of all the rooms of each household was

captured. Through a clustering technique, the grouping of households is carried out according

to two parameters: the coefficient of variability of consumption in a time range and the

proportion of energy consumption of that range with the rest. With this information, electric

companies will be able to offer offers to groups of specific homes. When using a clustering

technique (unsupervised learning) in this analysis it is difficult to validate with absolute certainty

whether the grouping of households it's correct. The prediction of consumption of each

household for the next few weeks is predicted by an autoregression model. This technique has

the inconvenience of predicting according to the last measured values. It is also verified that

households consume more during the daytime slots than at night.

Keywords: time range, autoregressive model, clustering, electricity consumption

Page 3: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 3

Índice de contenido

1. Introducción .................................................................................................................... 8

1.1. Motivación ................................................................................................................ 8

1.2. Planteamiento del trabajo ......................................................................................... 9

1.3. Estructura del trabajo ............................................................................................. 10

2. Contexto y estado del arte............................................................................................. 11

2.1. Contexto ................................................................................................................ 11

2.2. Estado del arte ....................................................................................................... 13

2.2.1. Machine Learning............................................................................................ 14

2.2.2. Herramientas .................................................................................................. 17

2.2.3. Python ............................................................................................................. 20

2.2.4. Bibliotecas de Python ...................................................................................... 20

2.2.5. Métodos para validar modelos estadísticos ..................................................... 21

2.2.6. Limpieza de datos ........................................................................................... 23

3. Objetivos y metodología de trabajo ............................................................................... 27

3.1. Objetivo general ..................................................................................................... 27

3.2. Objetivos específicos ............................................................................................. 27

3.3. Metodología de trabajo........................................................................................... 28

4. Desarrollo específico de la contribución ........................................................................ 30

4.1. Código realizado para este trabajo ......................................................................... 30

4.2. Origen de los datos ................................................................................................ 39

4.3. Limpieza de los datos ............................................................................................ 42

4.4. Hogares con mayor consumo en franjas horarias diurnas y bajo consumo en horario

nocturno ........................................................................................................................... 49

4.4.1. Descripción del experimento y resultados ....................................................... 49

4.4.2. Validación de los resultados ............................................................................ 56

4.5. Predicción del gasto energético de los hogares ..................................................... 59

4.5.1. Descripción del experimento y resultados ....................................................... 59

4.5.2 Validación de los resultados ............................................................................ 62

Page 4: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 4

4.6. Clasificación de hogares por gasto eléctrico día/noche .......................................... 69

4.6.1. Descripción del experimento y resultados ....................................................... 69

4.6.2. Validación de los resultados ............................................................................ 71

5. Conclusiones y trabajo futuro ........................................................................................ 72

6. Bibliografía .................................................................................................................... 75

Page 5: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 5

Índice de figuras

Figura 1. Consumo eléctrico doméstico en España .............................................................. 12

Figura 2. Consumo eléctrico global en el mundo .................................................................. 12

Figura 3. Ejemplo K-Means 3 centroides .............................................................................. 15

Figura 4. Pantalla inicial de la suite Anaconda ..................................................................... 18

Figura 5. Icono de lanzamiento de Jupyter desde Anaconda ............................................... 19

Figura 6. Hoja de trabajo del TFM lista para ejecutarse desde Jupyter ................................ 19

Figura 7. Logo Python .......................................................................................................... 20

Figura 8. Icono de lanzamiento de Qt Console desde Anaconda ......................................... 21

Figura 9. Interpolación por datos adyacentes ....................................................................... 24

Figura 10. Interpolación lineal .............................................................................................. 24

Figura 11. Rolling sobre el un rango horario. ........................................................................ 25

Figura 12. Diagrama Gantt ................................................................................................... 28

Figura 13. Fichero README.md con las instrucciones para ejecutar el código .................... 30

Figura 14. Hoja de trabajo 01. .............................................................................................. 31

Figura 15. Hoja de trabajo 01b ............................................................................................. 32

Figura 16. Hoja de trabajo 02. .............................................................................................. 32

Figura 17. Hoja de trabajo 02b. ............................................................................................ 33

Figura 18. Hoja de trabajo 03. .............................................................................................. 33

Figura 19. Hoja de trabajo 03b ............................................................................................. 34

Figura 20. Hoja de trabajo 04. .............................................................................................. 35

Figura 21. Hoja de trabajo 04b. ............................................................................................ 35

Figura 22. Hoja de trabajo 05. .............................................................................................. 36

Figura 23. Hoja de trabajo 06. .............................................................................................. 37

Figura 24. Hoja de trabajo 07. .............................................................................................. 38

Figura 25. Hoja de trabajo 08. .............................................................................................. 38

Figura 26. Esquema de captura de los datos ....................................................................... 40

Figura 27. Consumo Hogar 7 sin aplicar rolling. ................................................................... 44

Figura 28. Consumo Hogar 7 aplicando rolling. .................................................................... 45

Figura 29. Gráfica dispersión sin rolling. Hogar 7. ................................................................ 46

Figura 30. Gráfica dispersión con rolling. Hogar 7. ............................................................... 46

Figura 31. Esquema generación fichero datos limpiados ..................................................... 48

Figura 32. Distribución de los hogares con 2 centroides ...................................................... 53

Figura 33. Distribución de los hogares con 4 centroides ...................................................... 54

Figura 34. Consumo energético por rangos. Hogar 12. ........................................................ 57

Figura 35. Consumo energético por rangos. Hogar 19. ........................................................ 57

Page 6: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 6

Figura 36. Consumo energético por rangos. Hogar 1. .......................................................... 58

Figura 37. Consumo energético por rangos. Hogar 21. ........................................................ 58

Figura 38. Consumo energético por rangos. Hogar 8. .......................................................... 60

Figura 39. Previsión consumo últimas 5 semanas. ............................................................... 61

Figura 40. Test y predicción hogar 8. Rango 00-06h ............................................................ 64

Figura 41. Test y predicción hogar 8. Rango 06-12h ............................................................ 65

Figura 42. Test y predicción hogar 8. Rango 12-18h ............................................................ 66

Figura 43. Test y predicción hogar 8. Rango 18-00h ............................................................ 67

Figura 44. Consumo energético por rangos. Hogar 16. ........................................................ 71

Page 7: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 7

Índice de tablas

Tabla 1. Instalar un paquete python con pip ......................................................................... 21

Tabla 2. Datos de ejemplo para interpolación ....................................................................... 23

Tabla 3. Características de las viviendas ............................................................................. 39

Tabla 4. Formato fichero csv por cada hogar ....................................................................... 41

Tabla 5. Aparatos eléctricos en vivienda 6 ........................................................................... 41

Tabla 6. Aparatos eléctricos en vivienda 7 ........................................................................... 42

Tabla 7. Agrupación por rango horario diario para un hogar ................................................. 43

Tabla 8. Formato final datos de los hogares transformados y limpiados ............................... 49

Tabla 9. Puntuación análisis silhouette ................................................................................. 52

Tabla 10. Clasificación de los hogares ................................................................................. 55

Tabla 11. Fichero Hogar_8_prediccion_wfmodeloAR.csv..................................................... 60

Tabla 12. Fichero del hogar 8 con los consumos por rangos. ............................................... 62

Tabla 13. Valores de energía de test y las predicciones 00-06h ........................................... 64

Tabla 14. Valores de energía de test y las predicciones 06-12h ........................................... 65

Tabla 15. Valores de energía de test y las predicciones 12-18h ........................................... 66

Tabla 16. Valores de energía de test y las predicciones 18-00h ........................................... 67

Tabla 17. R2 y RMSE. .......................................................................................................... 67

Tabla 18. RMSE Normal y con Walk forward ........................................................................ 68

Tabla 19. Rango de consumos día y tarde - noche .............................................................. 70

Page 8: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 8

1. Introducción

En la época actual la demanda de energía ya sea en el ámbito doméstico o en el profesional

no ha parado de crecer y es necesario para las empresas suministradoras de energía poder

analizar y predecir el gasto energético de los clientes. En este TFM se va a analizar, clasificar

y comparar el consumo energético por rangos horarios entre diferentes hogares

seleccionados a partir de un juego de datos ya existente. Una vez obtenidos y limpiados los

mismos se procederá a utilizar técnicas de Machine Learning para clasificar y predecir los

hábitos de consumo eléctrico de dichos hogares.

1.1. Motivación

Las empresas suministradoras de energía, para el mercado doméstico, necesitan conocer los

hábitos de consumo de los hogares para poder ofrecerles ofertas específicas. No es extraño

recibir información comercial de este tipo de empresas recomendando algún tipo de oferta

según los datos de consumo de los que dispone la empresa.

Mediante el análisis del consumo eléctrico por rangos horarios se añaden nuevas

posibilidades para poder obtener más información acerca de las costumbres de los hogares.

Disponiendo de esta información se podrá enviar, por ejemplo, ofertas para un mismo grupo

de domicilios que realizan un consumo similar en un rango horario determinado. Por ejemplo,

un grupo de hogares que realizan un consumo muy alto en la banda intermedia del día o

residencias con consumos muy bajos por las noches.

La predicción de consumo energético por rango horario puede permitir detectar picos de

consumo en una franja horaria determinada y evitar posibles sobrecargas eléctricas. Se aporta

además más información que aquella en la que sólo se informa de la media de consumo de

todo el día donde no se diferencian períodos horarios.

Recientemente ha aparecido una noticia sobre el apagón ocurrido el 13 de Julio de 2019en

Nueva York (Barron & Zaveri, 2019). La causa de la falta de luz fue debida a una sobrecarga

eléctrica debido al uso masivo del aire acondicionado en un día muy caluroso. La hora del

suceso fue por la tarde a las 19 horas y se produjo en sábado. En la noticia se comenta

también que este mismo suceso se produjo en 1977 en fechas similares.

Es posible que un análisis de consumo por rango horario durante todos los veranos hubiera

podido proporcionar información sobre un posible riesgo de sobrecarga eléctrica. Si bien es

cierto que disponer de esta información no es sencillo y muy probablemente el histórico

detallado de los consumos de los hogares no exista en la actualidad.

Page 9: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 9

1.2. Planteamiento del trabajo

El juego de datos seleccionado para realizar este TFM dispone de una gran cantidad de

información sobre el consumo eléctrico en diferentes hogares. Una vez que se han limpiado

y agrupado los datos se procede a realizar un análisis del conjunto de los hogares.

El análisis comienza agrupando los hogares por hábitos de consumo en un rango horario.

Para ello se introduce el concepto de coeficiente de variabilidad y proporción de consumo

entre un rango horario y el resto. Más específicamente se ha planteado un caso habitual en

el que durante las noches las familias hacen un uso muy bajo del consumo eléctrico (porque,

por ejemplo, están durmiendo) pero en el resto del día hace un uso más extenso de todos los

aparatos eléctricos. Una vez detectados estos hogares se podrán estudiar aquellos que no

cumplen estos requisitos para realizar un estudio personalizado de ellos. Se podrían detectar

hogares que por ejemplo en horarios nocturnos realizarán un mayor consumo energético.

A este tipo de hogares se les podría diseñar una oferta o tarifa que premie el uso de energía

por la noche.

En esta parte del trabajo se hace uso del algoritmo de agrupamiento K-means que es un

método de Machine Learning no supervisado que agrupa elementos con características

similares.

Finalmente se realiza una predicción a varias semanas sobre la tendencia de consumo que

tiene cada hogar en cada rango. Se emplea este caso un modelo de regresión (modelo de

auto regresión), que es otra técnica de Machine Learning. Predecir el consumo de los hogares

en las siguientes semanas puede ser útil a las empresas para predecir subidas de consumo

en una fecha concreta.

En el último apartado se clasifican los hogares en dos grupos: los que realizan mayor consumo

(de media) en los rangos horarios de día y aquellos que lo realizan en rangos horarios de

tarde-noche. Está información puede ayudar a departamentos de marketing a saber qué

proporción de hogares consumen más en un rango que en otro. Si la captura de datos se

ampliara a otros países se podría comparar si los hábitos de consumo obtenidos en el Reino

Unido son diferentes o equiparables a otros países europeos.

A modo informativo para los usuarios puede ayudarles a contratar una tarifa que premie sus

hábitos de consumo en el rango horario que más consumo realicen.

Page 10: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 10

1.3. Estructura del trabajo

El trabajo está estructurado de la siguiente manera:

En este capítulo inicial se realiza un resumen sobre la temática a tratar. Después se explican

las principales motivaciones que llevan a desarrollar el trabajo, se expone un planteamiento

de este y finalmente se muestra como se ha estructurado este trabajo.

En el capítulo 2 se presenta el contexto de aplicación de este trabajo haciendo una

presentación sobre la problemática del consumo eléctrico en los hogares y en el mundo en

general. A continuación, se realiza un análisis sobre las herramientas y las técnicas

empleadas para desarrollar el trabajo.

En el capítulo 3 se describen los objetivos generales y específicos que se pretenden

conseguir, así como la metodología empleada para alcanzarlos.

El desarrollo específico de la contribución se realiza en el capítulo 4 donde se explica de

manera detallada como se han obtenido los resultados. Se exponen las técnicas que se han

utilizado para la consecución de los objetivos. Para mejorar la comprensión de ciertas partes

del trabajo se presentan fragmentos de código donde se ha considerado necesario.

Las conclusiones y el posible futuro trabajo que se podría desarrollar se explican en el capítulo

5.

Page 11: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 11

2. Contexto y estado del arte

En la primera sección de este capítulo se hablará de la importancia y posibilidades que ofrece

el conocimiento del consumo energético de los hogares. Más específicamente se hablará de

cómo la agrupación de hogares según su consumo eléctrico tiene aplicaciones útiles para las

compañías eléctricas y sus departamentos de marketing. Así mismo se expondrá en esta

sección la utilidad de predecir el consumo de estos hogares tanto para las compañías

suministradoras de energía como para los propios hogares.

En la segunda sección de este capítulo se hace una descripción de las técnicas y herramientas

que se han utilizado para el análisis de los datos que se han obtenido del estudio realizado

por David Murray, Lina Stankovic y Vladimir Stankovic (Murray, Stankovic, & Stankovic, 2017).

En este estudio se capturan durante aproximadamente dos años el consumo energético de

varias viviendas en el Reino Unido.

2.1. Contexto

En el mundo actual la energía eléctrica es una fuente de energía esencial para el desarrollo

humano. Hace unos 60 años el número de aparatos eléctricos disponibles en los hogares era

claramente inferior al número de aparatos actuales: aires acondicionados, ordenadores,

teléfonos móviles, microondas, reproductores de DVD, consolas de videojuegos, etcétera.

Todos ellos son dispositivos electrónicos que se han implantado de manera masiva en los

hogares durante las últimas décadas.

Como se puede comprobar en la figura 1 el número de electrodomésticos disponibles en un

hogar actualmente en España es muy elevado en comparación con el número de aparatos

eléctricos existentes hace 60 años. Un uso intensivo de todos estos aparatos en un mismo

instante puede provocar sobrecargas en el hogar y en la propia red eléctrica si la misma acción

la repiten muchos hogares. Por ejemplo, en temporadas veraniegas el uso del aire

acondicionado intensivo es un factor que puede contribuir a generar cortes de suministro

eléctrico.

Page 12: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 12

Figura 1. Consumo eléctrico doméstico en España

El ritmo de consumo eléctrico en el mundo no ha parado de crecer. En la figura 2 se puede

comprobar la evolución de consumo eléctrico que se ha experimentado.

Figura 2. Consumo eléctrico global en el mundo

Fuente: https://www.sciencedirect.com/topics/engineering/electricity-consumption

Page 13: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 13

Para las empresas suministradoras de energía es necesario prever este incremento de

consumo para poder abastecer la demanda de manera adecuada. Sobre el tema de previsión

de consumo eléctrico se dispone de una noticia de Méjico (La silla rota, 2018) en la que se

comenta cómo la escasa reserva eléctrica de la red mejicana junto con la posibilidad de que

sucedan picos de consumos en la época estival pueden provocar apagones con el grave

perjuicio que esto supone para la población.

Mejorar los sistemas de medición y predicción de consumo eléctrico podrían ayudar a evitar

estos fallos en el sistema eléctrico. Además, se podría investigar en qué rango horario se

producen estos picos de consumo.

El agrupamiento de hogares por las características de su consumo eléctrico puede ser de gran

utilidad para los departamentos de marketing. Si un grupo de hogares tienen una forma de

consumir muy similar a este grupo se le puede enviar el mismo tipo de oferta personalizada

en la que tanto la empresa y el hogar obtengan un beneficio. Se puede también pensar de

manera contraria. Agrupar hogares con hábitos tradicionales de consumo (más consumo

diurno que nocturno) y analizar de manera personalizada aquellos hogares que no cumplen

estos criterios. En este grupo entrarían por ejemplo hogares que trabajan por la noche y

duermen por el día.

De manera específica se pretende obtener un agrupamiento de hogares que hace un uso

intensivo por rangos horarios diurnos y un consumo muy bajo y estable por la noche (rango

horario nocturno). Una vez detectado este grupo se podría analizar aquellos hogares con

hábitos de consumo atípico que no entrarían dentro de los parámetros habituales de consumo.

Otro tipo de agrupamientos se podrían realizar modificando los rangos horarios en los que se

ha trabajado. En este trabajo se han empleado 4 rangos de 6 horas cada uno comenzando

desde las 12 de la noche, pero estos rangos se podrían modificar a más o menos rangos y

comprobar los resultados

Un departamento de marketing podría solicitar un estudio centrándose en un rango horario

concreto. Por ejemplo, de 12 de la mañana a 4 de la tarde y observar el comportamiento de

consumo de los hogares.

2.2. Estado del arte

En este trabajo se va a tratar de predecir el consumo eléctrico por rango horario de los hogares

mediante el uso de un juego de datos ya disponible. Así mismo con este juego de datos se

van a clasificar los hogares según sus hábitos de consumo en diferentes rangos horarios.

Page 14: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 14

Se describirá el tipo de herramientas que se han utilizado para llevar a cabo el análisis y

tratamientos de los datos

Después de disponer de los datos preparados es necesario disponer de técnicas para el

estudio de estos. En las siguientes subsecciones se estudiarán las posibles técnicas y

herramientas de Machine Learning disponibles.

2.2.1. Machine Learning

Es un conjunto de técnicas que permiten a las máquinas de manera autónoma aprender de

los datos para así tomar decisiones. Es una rama de la inteligencia artificial que permite

realizar predicciones y clasificaciones según la información que se le suministra. La

información suministrada puede realimentarse con más datos para así mejorar la calidad de

los resultados finales.

Dentro del Machine Learning las técnicas pueden agruparse en aprendizaje supervisado y

aprendizaje no supervisado.

Aprendizaje no supervisado

Sobre el aprendizaje no supervisado existen diferentes técnicas de clustering. Se enuncian a

continuación dos técnicas.

k-means

La agrupación K-means es uno de los algoritmos de agrupación más simples y más utilizados.

Intenta encontrar los centros de los clústeres que sean más representativos de ciertas

regiones de los datos.

El algoritmo alterna entre dos pasos: asignar cada punto de datos al centro de clúster más

cercano y luego configurar cada centro de clúster como la media de los puntos de datos que

se le asignan. El algoritmo finaliza cuando la asignación de instancias a clústeres ya no

cambia.

Page 15: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 15

Figura 3. Ejemplo K-Means 3 centroides

Fuente: http://www.diegocalvo.es/analisis-cluster-no-jerarquico-k-means-en-r/

Un estudio relacionado con clustering y energía se puede encontrar en el artículo de Katarina

Kosmelj y Vladimir Batagelj (Kosmelj & Batagelj, 1990, págs. 99-109). En este estudio se

realiza un estudio energético de veintitrés países entre los años 1976 y 1982. Se hace uso de

la variación de la información durante una línea temporal y se agrupan los países por

clustering.

Otro interesante artículo sobre clustering y energía realiza un análisis sobre la eficiencia en

gasto energético de una red de sensores Wireless. El uso de la técnica de clustering se

emplea para minimizar el coste de consumo entre sensores (Mardini, Muneer, & Barraq, 2014,

págs. 275-290).

Aprendizaje supervisado

Regresión lineal

La regresión lineal es un algoritmo de aprendizaje supervisado utilizado en Machine Learning

y estadística. Es un modelo matemático que relaciona la dependencia entre una variable

escalar dependiente llamada Y, las variables independientes llamadas 𝑋𝑖 y un término

aleatorio 𝜀.

En este trabajo se va a trabajar con regresión lineal con series temporales usando un modelo

de la familia ARIMA. Dentro de esta familia existen modelos que cuentan con estacionalidad

o sin estacionalidad.

Page 16: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 16

El modelo autorregresivo integrado de media móvil o ARIMA, es un modelo de análisis

estadístico que utiliza datos de series temporales para comprender mejor el conjunto de datos

o para predecir tendencias futuras.

Un modelo ARIMA puede comprenderse mejor describiendo sus partes. En el artículo de

Mingda Zang (Zhang, 2018) se describen cada parte del modelo:

• AR (Autorregresión). Un modelo que usa la relación dependiente entre una

observación y un conjunto anterior de observaciones.

• I (Integrado). Representa la diferenciación de observaciones sin procesar para

permitir que las series temporales se vuelvan estacionarias, es decir, los datos son

remplazados por la diferencia entre el valor de los datos y los valores anteriores

• MA (Promedio móvil). Incorpora la dependencia entre una observación y un error

residual de un modelo de promedio móvil aplicado a observaciones rezagadas.

En otras palabras, el modelo ARIMA se puede configurar para realizar la función de un modelo

ARMA, e incluso un simple AR, I o Modelo MA.

En el artículo de Shay Palachy (Palachy, 2019) se explica cómo funcionan las series

temporales estacionales y cómo se diferencian de las no estacionales. En el artículo se

comenta que la estacionalidad significa que las propiedades estadísticas de un proceso que

genera una serie temporal no cambian con el tiempo. No significa que la serie no cambie con

el tiempo, solo que la forma en que cambia no cambia con el tiempo. El equivalente algebraico

es, por lo tanto, una función lineal, tal vez, y no constante; el valor de una función lineal cambia

a medida que 𝒙 crece, pero la forma en que cambia permanece constante: tiene una pendiente

constante; Un valor que captura esa tasa de cambio.

A continuación, se muestran dos estudios que hacen uso del modelo AR:

• Existe un estudio que trata sobre el movimiento respiratorio y el electroencefalograma

en animales. En ambos estudios se hace uso del modelo AR. Junto a este modelo se

emplea el filtro de Kalman. En este estudio la línea temporal se presupone no

estacionaria (Arnold, Milner, Write, Bauer, & Braun, 1998).

• El modelo AR se emplea en investigaciones donde se usa una línea temporal en la

que una unidad de tiempo t y las anteriores se presuponen que tienen relación. En el

libro sobre la obtención de radiación solar por horas (Aguiar & Collares-Pereira, 1992,

págs. 167-174) se emplea el modelo AR para obtener conclusiones válidas.

Page 17: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 17

El modelo ARIMA puede generalizarse aún más para considerar el efecto de la estacionalidad.

En ese caso, se habla de un modelo SARIMA (Seasonal Autoregressive Integrated Moving

Average).

Un estudio sobre la predicción de casos de dengue en el estado de Campinas (Brasil) estuvo

basado en el uso de un modelo SARIMA. En este estudio se indica que los casos de dengue

en un mes determinado se pueden estimar por el número de casos de dengue que ocurren

uno, dos o doce meses antes. Se ajustó un modelo basado en la incidencia mensual reportada

de dengue de 1998 a 2008, y se validó el modelo utilizando los datos recopilados entre enero

y diciembre de 2009 (Zangiacomi Martinez, Soares da Silva, & Dal Fabbro, 2011).

El modelo AR (auto regresión) es el modelo más sencillo que pertenece a la familia ARIMA.

2.2.2. Herramientas

En el entorno Big Data es habitual tratar grandes cantidades de datos. Los ficheros generados

de mediciones y análisis tienen un gran tamaño y se hace complicado procesarlo mediante

herramientas convencionales como editores de texto o herramientas ofimáticas.

Un entorno de desarrollo muy utilizado en el campo de la ciencia de datos es Anaconda1. Está

formado por un conjunto de herramientas y lenguajes de programación orientados al estudio

de los datos y el aprendizaje automático. Dispone de los lenguajes de programación R y

Python para realizar programas que puedan limpiar y analizar la información. En la figura 3 se

puede observar la pantalla de inicio de Anaconda.

1 Web: https://www.anaconda.com

Page 18: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 18

Figura 4. Pantalla inicial de la suite Anaconda

La pantalla inicial de Anaconda muestra varios accesos directos a herramientas para el

análisis de datos y Machine Learning.

En este trabajo se ha priorizado el uso de herramientas de uso común y que se disponga de

mucha documentación. Aunque el entorno Anaconda permite la utilización de dos lenguajes

de programación como R y Python se ha optado por emplear Python debido a su sencillez y

por ser un lenguaje muy demandado en el área del Machine Learning. La documentación

disponible además es muy extensa.

El código se ha desarrollado mediante el uso de la herramienta Jupyter (ver figura 4). Esta

herramienta viene integrada en Anaconda, pero es posible descargarla de manera

independiente desde la página web de Jupyter2.

2 Web: https://jupyter.org/

Page 19: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 19

Figura 5. Icono de lanzamiento de Jupyter desde Anaconda

Jupyter es una herramienta de código libre que permite desarrollar software. La ventaja que

proporciona esta herramienta es que el código se ejecuta mediante hojas de trabajo lo que

permite separar fragmentos de código y ejecutar paso a paso las partes de código que

presenten mayor dificultad.

Figura 6. Hoja de trabajo del TFM lista para ejecutarse desde Jupyter

Los archivos de la hoja de trabajo, aunque escritos en Python son del tipo pynb y no son los

habituales py de Python. Esto no presenta ningún problema ya que desde la hoja de trabajo

se puede salvar el código en diversos formatos incluido el py de Python si se quiere ejecutar

en otro entorno. En la figura 5 se muestra la hoja de trabajo con el código listo para ejecutarse.

Page 20: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 20

Todo el código de este trabajo se ha desarrollado usando esta herramienta.

2.2.3. Python

Python3 es un lenguaje de código abierto lanzado a finales de los años 80. Es un lenguaje

interpretado con una sintaxis orientada a la sencillez. Es un lenguaje de propósito general y

multiplataforma. Se puede utilizar en diversos ámbitos como desarrollo web, inteligencia

artificial, Big Data y como lenguaje de scripting para realizar pequeñas tareas, entre otros

muchos usos.

Figura 7. Logo Python

Sobre la base de este lenguaje ha sido necesario incorporar bibliotecas concretas para poder

trabajar con grandes cantidades de datos, realizar predicciones, generar gráficas y otras

tareas relacionadas con el Big Data. Una ventaja de este lenguaje es que la comunidad de

desarrolladores está muy activa y se incorporan y actualizan con bastante frecuencia

bibliotecas que permiten realizar tareas complejas de manera mucho más sencilla.

En el siguiente apartado se explican las principales bibliotecas Python utilizadas para poder

realizar este TFM.

2.2.4. Bibliotecas de Python

Para realizar tareas complejas como agrupar datos, obtener gráficas o realizar predicciones

ha sido necesario utilizar bibliotecas externas que permitan realizar estas tareas mediante

instrucciones más sencillas.

Una funcionalidad esencial del lenguaje Python es disponer de un gestor de paquetes para

incorporar nuevas bibliotecas. Normalmente un programa complejo suele disponer de

bibliotecas específicas que necesitan ser instaladas.

En este trabajo se ha realizado la instalación de paquetes usando el comando pip mediante

el uso de Qt Console. El icono de Qt Console está disponible desde la pantalla inicial de

Anaconda.

3 Web: https://www.python.org/

Page 21: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 21

Figura 8. Icono de lanzamiento de Qt Console desde Anaconda

Durante este trabajo se han instalado varios paquetes que no venían instalados por defecto

con Anaconda. Para instalar una biblioteca en Python bastaría con utilizar el comando:

Tabla 1. Instalar un paquete python con pip

pip install nombre-paquete

Una vez realizada esta acción ya es posible trabajar con la nueva biblioteca.

Las bibliotecas seleccionadas para realizar los cálculos y las gráficas han sido las siguientes:

• Pandas: es una biblioteca que se ha utilizado para manejar tablas con datos y series

temporales. Contiene un tipo de dato muy utilizado en este trabajo que es el dataframe.

Mediante el uso de dataframes se han realizado las operaciones de limpieza,

agregación y cálculo de los datos.

• Matplotlib: es la biblioteca que se ha utilizado para generar gráficos.

• Scikit-learn: esta biblioteca se ha utilizado para todas aquellas técnicas relacionadas

con el Machine Learning (algoritmos y métricas)

• Statsmodels: usada para el empleo de modelos estadísticos (por ejemplo, modelos

de auto regresión)

La documentación de todas estas bibliotecas es muy detallada y existen disponibles muchos

recursos en la red para profundizar en su utilización.

2.2.5. Métodos para validar modelos estadísticos

Para validar los modelos estadísticos que se usan en Machine Learning se emplean diferentes

indicadores para comprobar cómo está funcionando de bien el modelo.

Raíz del error cuadrático medio (RMSE)

Page 22: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 22

Es una medida que se utiliza con frecuencia para comparar dos conjuntos de datos. Se mide

la cantidad de error o diferencia que existe entre los dos conjuntos. En estadística es muy

utilizado y se comparan por ejemplo en un modelo estadístico los valores predichos con los

observados.

En este trabajo se ha utilizado para validar la predicción de consumo energético por rangos

horarios.

Usando la biblioteca sklearn.metrics de pandas el cálculo de este valor es muy sencillo. Se

emplea la función mean_squared_error y el código para llamar a esta función sería:

1. sqrt(mean_squared_error(df_wf['Test'], df_wf['Prediccion']))

Se reciben por parámetros dos listas. Una lista con valores usados para test y otra lista con

los valores que se han predicho.

Coeficiente de determinación (𝑹𝟐)

R-cuadrado (R2) es una medida estadística que representa la proporción de la varianza para

una variable dependiente que se explica por una variable o variables independientes en un

modelo de regresión (HAYES, 2019).

Mientras que la correlación explica la fuerza de la relación entre una variable independiente y

una dependiente, R-cuadrado explica en qué medida la varianza de una variable explica la

varianza de la segunda variable.

Si el R2 de un modelo es 0.50, quiere decir que aproximadamente la mitad de la variación

observada puede explicarse por las entradas del modelo.

En Python, al igual que el cálculo de la raíz del error cuadrático medio, se utiliza la biblioteca

sklearn.metrics de pandas.

1. r2_score(df_wf['Test'], df_wf['Prediccion'])

Es necesario llamar a la función r2_score y pasar por parámetro los valores de test y los de la

predicción para compararlos.

El coeficiente de determinación es un indicador que se debe tomar con precaución porque no

se debería tener en cuenta como única referencia para comprobar que el modelo estimado se

ajusta de manera correcta (RODRÍGUEZ, 2005).

En este trabajo se calcula a modo informativo en la sección que trata la predicción de consumo

energético.

Page 23: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 23

Walk Forward

Para la validación de los resultados se utiliza la técnica de walk forward. La ventaja de la

utilización de walk forward es que una vez predicho el resultado ese dato pasa a formar parte

de los datos de entrenamiento siendo necesario reentrenar el modelo. Este reentrenamiento

mejorará sustancialmente la predicción sobre otros sistemas de validación que no tengan en

cuenta las últimas predicciones.

En el artículo Stock Prediction with ML: walk forward Modeling (Gray, 2018) se mencionan las

ventajas sobre su uso:

• Los métodos tradicionales de validación y validación cruzada son problemáticos para los

problemas de predicción de series temporales.

• La solución es utilizar la técnica de walk forward para que incorpore nueva información al

modelo a medida que esté disponible.

• Este enfoque nos da una visión más realista de cuán efectivo habría sido nuestro modelo

en el pasado y ayuda a evitar la trampa de sobreajuste.

• Además de excluir cualquier información futura del proceso de entrenamiento, a menudo

es importante excluir datos que están demasiado lejos en el pasado.

2.2.6. Limpieza de datos

En este trabajo se ha seleccionado un juego de datos de gran tamaño. Más de un millón de

capturas que se han guardado en los ficheros CSV de los hogares tratados. Con un volumen

tan alto de datos es necesario realizar algún tipo de limpieza de datos.

Una parte de esta limpieza incluye la sustitución de valores no disponibles (llamados NA en

inglés). Este tipo de valores deben ser o bien sustituidos o bien suprimidos. Si se desea

sustituir los valores NA se suelen utilizar una técnica llamada de interpolación.

Para ilustrar el funcionamiento de como interpolar los datos faltantes de un juego de datos se

expone el ejemplo siguiente:

Tabla 2. Datos de ejemplo para interpolación

Interpolate

0 6.0

1 8.0

2 3.0

3 NaN

4 NaN

5 Nan

6 12.0

Page 24: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 24

Entre varias técnicas de interpolación existe aquella que se realiza con datos adyacentes y la

de interpolación lineal. En la figura 9 se muestra un ejemplo aplicando interpolación por datos

adyacentes. Como se puede observar los valores faltantes se rellenan con valores adyacentes

existentes. Para la fila 3 y 4 se ha seleccionado el valor de la fila 2 que es el valor 3.0.

Figura 9. Interpolación por datos adyacentes

En la figura 10 se han rellenado los datos faltantes por interpolación lineal. La gráfica

resultante muestra una mayor continuidad. Los valores faltantes comienzan ascendiendo de

valor para dar continuidad desde el valor 3.0 de la fila 2 hasta llegar al valor 12.0 de la fila 6.

Figura 10. Interpolación lineal

La gráfica resultante da una continuidad en los datos presuponiendo que los datos faltantes

han ido creciendo en un sentido ascendente.

Otras técnicas empleadas

A continuación, se explican dos técnicas empleadas en Machine Learning que se han aplicado

en este trabajo:

Page 25: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 25

Rolling

La función pandas dataframe.rolling() proporciona una serie de cálculos sobre una ventana

móvil. Este concepto de cálculo de ventana móvil se utiliza principalmente en el procesamiento

de señales y en el tratamiento de datos de series temporales. De manera resumida se puede

decir que se toma un tamaño de ventana de k y se realiza alguna operación matemática

deseada en ella. Una ventana de tamaño k quiere decir que se toman k valores consecutivos

al mismo tiempo para realizar los cálculos. Esta definición ha sido extraída de Shubham

Ranjan (Ranjan, s.f.)

Una de las estadísticas de rolling más populares es la del promedio móvil

(Pythonprogramming, 2015). Consiste en tomar una ventana de tiempo en movimiento y

calcular el promedio o la media de ese período como el valor actual.

En la figura 11 se muestra un ejemplo de aplicación de rolling sobre el consumo eléctrico en

un rango horario. En azul el consumo en el rango de noche (00-06h) aplicado rolling.

Figura 11. Rolling sobre el un rango horario.

En este trabajo la operación sobre la ventana va a ser la media de los valores.

Page 26: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 26

Como ejemplo de uso de la técnica de rolling existe un estudio sobre la predicción de consumo

energético en la India (Kumar & Jainb, 2010). En este estudio se realizan simultáneamente

predicciones con tres modelos diferentes para distintos tipos de consumo energético (petróleo,

carbón, gas y electricidad). Uno de estos modelos está formado por un Grey-model junto a un

mecanismo de Rolling para realizar predicciones sobre carbón y electricidad.

Existe otro estudio que examina la relación entre el consumo de energía renovable y el

crecimiento económico en Pakistán realizado entre los años 1972 y 2011 (Muhammad,

Nanthakumar, Mohammad, & Khalid, 2015). En este estudio se emplea un modelo de auto

regresión, así como una ventana con rolling.

Coeficiente de variabilidad

Una buena definición es la que realiza Hervé sobre este coeficiente (Hervé, 2010, págs. 1-5).

El coeficiente de variabilidad mide la variabilidad de una serie de números

independientemente de la unidad de medida utilizada para estos. Para hacerlo, el coeficiente

de variabilidad elimina la unidad de medida de la desviación estándar de una serie de números

y la divide por la media de estos. Este coeficiente puede usarse para comparar distribuciones

obtenidas con diferentes unidades, como, por ejemplo, la variabilidad de los pesos de los

recién nacidos (medidos en gramos) con el tamaño de los adultos (medidos en centímetros).

En este trabajo el coeficiente de variabilidad se realiza sobre el mismo tipo de unidades de

energía.

Se menciona este coeficiente en el libro Applied Multivariate Statistics in Geohydrology and

Related Sciences (E. Brown, 1998) donde se realiza una definición de este. Se explica cómo

a partir del 30% de valor el valor no es estable, así como valores próximos a cero pueden

generar valores inexactos.

Existe otro estudio que maneja esta variable para calcular la variabilidad de temperatura del

agua. El objetivo es comprobar cómo influye en el blanqueo del coral marino los cambios de

temperatura (W. Sammarco, Winter, & Stewart, 2006, págs. 1337-1344).

Page 27: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 27

3. Objetivos y metodología de trabajo

3.1. Objetivo general

Aunque las empresas suministradoras de energía ya realizan estimaciones sobre el consumo

energético de los hogares, en este trabajo se va a analizar con mayor profundidad cómo se

puede obtener más información de los hábitos de consumo en los hogares. Conociendo en

profundidad estos hábitos se van a poder dar respuestas a ciertas preguntas que pueden

resultar de gran interés tanto para las empresas como para los propios usuarios.

Al terminar este trabajo se quieren obtener resultados sobre los hábitos de los hogares

analizados.

Los objetivos generales son:

• Detectar hogares cuyo consumo en la franja horaria nocturna es bajo y estable en el

tiempo respecto a los demás rangos. De esta manera se podrán separar hogares que

realizan un uso de la energía más habitual frente a los que tienen otro tipo de

costumbres, es decir obtener hogares con hábitos atípicos.

• Predecir el consumo energético de los hogares por rango horario

• Diferenciar hogares cuyo consumo en rangos diurnos es mayor que en rangos horarios

de tarde-noche.

3.2. Objetivos específicos

Para obtener los resultados sobre estas cuestiones será necesario llevar una metodología de

trabajo que permita alcanzar los objetivos deseados. Antes de alcanzar estos objetivos será

necesario alcanzar otros objetivos más específicos como:

• Seleccionar un agrupamiento adecuado de las mediciones de consumo

• Seleccionar un filtrado adecuado de la información, desechando datos erróneos o que no

aporten información relevante

• Escoger un modelo estadístico que describa de manera adecuada el comportamiento de

los hogares

• Representar mediante ciertos parámetros y gráficas la evolución de los hogares en

consumo, su clasificación junto otros hogares y nivel de adecuación del modelo elegido a

un hogar concreto.

• Generar ficheros y gráficos intermedios (clasificaciones, coeficientes y agrupamientos)

para poder reutilizarlo en futuros trabajos.

Page 28: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 28

3.3. Metodología de trabajo

Durante el proceso de elaboración de este trabajo se ha creado inicialmente un diagrama de

Gantt que ha permitido establecer unas pautas para organizar las etapas a seguir para

terminar este TFM. Los tiempos de realización de cada tarea han ido modificándose

levemente para adaptarse a las dificultades que se han ido encontrando (ver figura 12).

Figura 12. Diagrama Gantt

La planificación inicial de tareas, la limpieza de datos y la comprensión en general de los

mismos ha ocupado más tiempo del previsto. Una vez que la limpieza y agrupación de los

datos fue la adecuada y se tuvo un buen conocimiento del comportamiento de los datos se

pudo decidir sobre qué técnicas de análisis eran las adecuadas para la consecución de los

objetivos.

Durante las primeras etapas de análisis de datos se buscó un software que fuera apropiado

para procesar y transformar la información. Finalmente se decidió utilizar la suite Anaconda

descrita en el apartado 2.2.2. Después de limpiar los datos se han generado mediante varias

hojas de trabajo gráficas para cada hogar que aportan información sobre cómo se distribuye

semanalmente el consumo horario, así como, gráficas de dispersión sobre cómo se

distribuyen los datos. Posteriormente a la generación de estas gráficas se han generado

ficheros que guardan para cada hogar información sobre las medias y coeficientes de

consumo eléctrico para cada hogar.

Tomando como base estos ficheros se ha realizado el estudio de agrupación de hogares con

bajo y estable consumo en horario nocturno. Los resultados han quedado registrados en

ficheros y gráficos mediante diversas hojas de trabajo.

Page 29: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 29

A continuación, se ha realizado el estudio de predicción de consumo eléctrico mediante el uso

de un modelo de auto regresión. Se han utilizado nuevas hojas de trabajo para realizar la

predicción y también para generar gráficas con los resultados obtenidos.

Para finalizar se ha utilizado una nueva hoja de trabajo para agrupar los hogares según el

consumo horario en rangos horarios diurnos (de 6 de la mañana a 6 de la tarde) y de tarde-

noche (de 6 de la tarde a 6 de la mañana).

Mediante el uso de varias hojas de trabajo se permite modularizar todas las etapas de

desarrollo (limpieza de datos, generación de gráficas, generación de coeficientes etcétera).

Además, se permite la reutilización de ficheros de salida que pueden utilizarse para estudios

diferentes.

Page 30: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 30

4. Desarrollo específico de la contribución

En este apartado se analizan y explican las diferentes etapas que se han realizado para llegar

a alcanzar los objetivos deseados. Se inicia el capítulo realizando una descripción del origen

de los datos que han servido de base para el desarrollo de este TFM. A continuación, se

describen los pasos realizados para limpiar los datos antes de comenzar a tratarlos.

4.1. Código realizado para este trabajo

Todo el código realizado en este TFM se encuentra disponible en github. El proyecto se llama

TFM_JPP4 y se encuentra disponible bajo una licencia MIT5. Cuenta con todas las hojas de

trabajo necesarias para obtener los gráficos, las predicciones y las agrupaciones descritas en

esta memoria. Dispone de un breve fichero Readme.md donde se dan las instrucciones para

poder ejecutar todo el código.

Figura 13. Fichero README.md con las instrucciones para ejecutar el código

A continuación, como referencia, se da una breve descripción de cada hoja de trabajo

realizada. En las figuras expuestas a continuación se muestra para cada hoja de trabajo el

fichero o ficheros de entrada y también el fichero o ficheros de salida.

4 Web: https://github.com/juanonlab/TFM_JPP 5 Web: https://github.com/juanonlab/TFM_JPP/blob/master/LICENSE

Page 31: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 31

01_Generar_datos_limpiados_semanal_rango_horario

Esta hoja de trabajo procesa los ficheros originales. Son 20 ficheros, uno por cada hogar. En

el juego de datos original el fichero CLEAN_HOUSE14.csv no existe y por eso no aparece

ningún fichero relacionado con los hogares que contenga este número.

Figura 14. Hoja de trabajo 01.

Después de realizar las transformaciones de datos necesarias: suavizado (rolling),

agrupaciones (por rangos horarios y por semanas) y limpieza de datos, se procede a generar

20 ficheros ya filtrados que servirán de base para generar gráficas, calcular predicciones y

generar ficheros con medias y coeficientes. Estos ficheros ya muestran el consumo de cada

hogar separado por rango horario. Se puede decir que son los ficheros de partida para realizar

posteriores análisis.

01b_Generar_datos_limpiados_semanal_rango_horario

Similar a la hoja de trabajo anterior, pero no se realiza un suavizado (rolling) de la información

contenida en los ficheros. De esta manera se pueden comparar las gráficas con y sin este

suavizado en posteriores estudios.

Page 32: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 32

Figura 15. Hoja de trabajo 01b

02_Generar_graficas_semanal_rango_horario

Guarda en la carpeta IMG_GRAPH las gráficas sobre cómo se distribuye semanalmente por

cada hogar y en distintos rangos horarios el consumo energético. Los ficheros de origen son

los generados en la hoja de trabajo 01 (ver figura 14).

Figura 16. Hoja de trabajo 02.

Genera ficheros de imagen del estilo Hogar_X_filtro_semanal_rango.png siendo X el número

de hogar.

02b_Generar_graficas_semanal_rango_horario_NR

Genera en la carpeta IMG_GRAPH las gráficas sobre cómo se distribuye semanalmente por

cada hogar y en distintos rangos horarios el consumo energético, pero tomando de base

Page 33: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 33

ficheros que no han aplicado rolling. Los ficheros de origen son los generados en la hoja de

trabajo 01b (ver figura 15)

Figura 17. Hoja de trabajo 02b.

Genera ficheros de imagen del estilo Hogar_X_filtro_semanal_rango_NR.png siendo X el

número de hogar.

03_Generar_medias_coeficientes_por_rango_horario

A partir de los ficheros que han sido generados en la hoja de trabajo 01 (ver figura 14) y

coeficientes que se utilizarán en hojas de trabajos posteriores. Genera un fichero llamado

Medias_Y_Coeficientes_Hogares.csv con medias y coeficientes para cada hogar.

Figura 18. Hoja de trabajo 03.

Se genera un único fichero llamado Medias_Y_Coeficientes_Hogares.csv que contiene

parámetros que serán utilizados en otras hojas de trabajo para realizar análisis de clustering

(Hoja de trabajo 03b) y clasificación de hogares por hábitos de consumo (Hoja de trabajo 08).

Page 34: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 34

03b_Clustering_coef_variabilidad

Esta hoja de trabajo toma como entrada el fichero csv generado en la hoja de trabajo 03 (ver

figura 18). Clasifica los hogares según varios coeficientes. Se hace además el análisis de

silhouette para varios clústeres.

Figura 19. Hoja de trabajo 03b

Genera en la carpeta IMG_CLUSTER 2 agrupaciones de hogares según distinto tipo de

clústeres.

Los ficheros de imagen generados son:

• Kmeans_rango_horario_2_centroides.png

• Kmeans_rango_horario_4_centroides.png

Se generan además 2 ficheros csv con la categoría a la que pertenecen cada hogar:

• CategoriasKmeans_2_Centroides.csv

• CategoriasKmeans_4_Centroides.csv

Esta hoja de trabajo realiza el análisis para 2 y 4 centroides específicamente.

04_Validacion_rango_horario

Esta hoja de trabajo se encarga de generar predicciones a partir de unos datos de

entrenamiento y empleando un modelo de auto regresión.

Page 35: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 35

Figura 20. Hoja de trabajo 04.

Genera ficheros csv con las predicciones con el modelo entrenado y los valores de test. La

información generada se podrá comparar a posteriori para poder obtener conclusiones. Unos

ficheros de salida usan un modelo de auto regresión con la técnica de walk forward y otros no

la utilizan. Los ficheros respectivamente son del tipo: Hogar_X_validacion_wfmodeloAR.csv y

Hogar_X_validacion_normalmodeloAR.csv. Siendo X el número de hogar.

04b_Prediccion_rango_horario

Esta hoja de trabajo se encarga de entrenar el modelo a partir de todos los datos disponibles.

Los ficheros de entrada provienen de la salida de la hoja de trabajo 01 (ver figura 15).

Figura 21. Hoja de trabajo 04b.

Page 36: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 36

Genera ficheros csv con las predicciones con el modelo entrenado. Se generan tantos ficheros

como hogares. Los ficheros respectivamente son del tipo: Hogar_X_prediccion.csv. Siendo X

el número de hogar.

Se generan además gráficas con esta predicción. Son del tipo Hogar_X_prediccion.png y se

guardan en la carpeta IMG_PRED.

05_Prediccion_grafica_wf_normal_modelo_AR

Esta hoja de trabajo se encarga de generar las gráficas de las predicciones tanto para el

modelo normal como para el modelo que ha utilizado validación con walk forward. Recibe las

predicciones realizadas en la hoja de trabajo 04 (ver figura 20).

Figura 22. Hoja de trabajo 05.

En la carpeta IMG_PRED se guardan ficheros del siguiente estilo:

• Hogar_X_prediccion_normalmodeloAR_RANGO_.png

• Hogar_X_prediccion_wfmodeloAR_RANGO_.png

Siendo X el número de hogar y RANGO uno de los 4 rangos horarios creados. Estas gráficas

se generan por motivos informativos y para comprobar las dos técnicas de predicción (normal

y walk forward).

06_Dispersion_grafica

Esta hoja de trabajo genera gráficas de dispersión con la distribución del consumo energético

por rangos.

Page 37: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 37

Figura 23. Hoja de trabajo 06.

Genera 2 tipos de ficheros. En uno de ellos los datos provienen de los ficheros generados de

la hoja de trabajo 01 (ver figura 15) y la hoja de trabajo 01b (ver figura 16).

Se generan ficheros de imagen del tipo:

• Hogar_X_filtro_semanal_rango_dispersion.png

• Hogar_X_filtro_semanal_rango_NR_dispersion.png

En ambos casos X indica el número de hogar y se guardan las gráficas en la carpeta

IMG_DISP. El objetivo de estas gráficas es comparar para un mismo hogar como es la gráfica

de dispersión empleando la técnica de rolling o sin ella.

07_RMSE_R2

Esta hoja de trabajo genera las variables RMSE y R2 utilizadas en el apartado de predicción

de consumo. Como origen de datos se utilizan los datos generados en la hoja de trabajo 05

(ver figura 22).

Page 38: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 38

Figura 24. Hoja de trabajo 07.

Se generan ficheros del estilo Hogar_X_RMSE_R2.csv siendo X el número de hogar.

08_Gasto_electrico_dia_noche

Esta hoja de trabajo genera un fichero que indica que hogares tienen mayor consumo rangos

de tarde-noche que diurnos. Tomo como origen de datos el fichero generado por la hoja de

trabajo 03 (ver figura 18).

Figura 25. Hoja de trabajo 08.

Genera un fichero csv llamado Consumo_agrupado_dia_noche.csv que lista los 20 hogares

usados en el estudio y para cada hogar muestra su consumo total medio en rangos horario

de tarde-noche, rangos horarios de día y un valor que indica si su consumo es mayor por el

día o por la tarde-noche.

Page 39: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 39

4.2. Origen de los datos

Los datos originales provienen de un estudio realizado por David Murray, Lina Stankovic y

Vladimir Stankovic. En este estudio (Murray, Stankovic, & Stankovic, 2017) se monitoriza el

gasto eléctrico de 20 hogares del Reino Unido durante un periodo de 2 años. La selección de

estos 20 hogares se realizó sobre una selección inicial de 57 hogares. Se seleccionaron estos

hogares por diversos motivos:

• Familiaridad con la tecnología

• Número de personas en la vivienda

• Rango de edad de los ocupantes

• No tener problemas con la instalación de los sensores

Durante estos años se realizaron más de 1 millón de lecturas sobre los aparatos eléctricos de

cada hogar.

Sobre las 20 viviendas se anotaron las características de cada hogar6 y se obtuvo:

Tabla 3. Características de las viviendas

Casa Residentes Edad Aparatos Tipo Habitaciones

1 2 1975-1980 35 Chalet 4

2 4 - 15 Adosado 3

3 2 1988 27 Chalet 3

4 2 1850-1899 33 Chalet 4

5 4 1878 44 Vivienda

adosada

4

6 2 2005 49 Chalet 4

7 4 1965-1974 25 Chalet 3

8 2 1966 35 Chalet 2

9 2 1919-1944 24 Chalet 3

10 4 1919-1944 31 Chalet 3

11 1 1945-1964 25 Chalet 3

12 3 1991-1995 26 Chalet 3

13 4 >2002 28 Chalet 4

15 1 1965-1974 19 Adosado 3

16 6 1981-1990 48 Chalet 5

17 3 Años 60 22 Chalet 3

18 2 1965-1974 34 Chalet 3

19 4 1945-1964 26 Adosado 3

20 2 1965-1974 39 Chalet 3

21 4 1981-1990 23 Chalet 3

6 Web: https://www.nature.com/articles/sdata2016122/tables/2

Page 40: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 40

Para la toma de los datos durante ese proyecto fue necesaria la creación de una web y un

servidor. Además, se ideó un sistema que realizaba lecturas de cada componente eléctrico y

enviaba esa información cada 8 segundos al servidor central. En la figura 26 se muestra un

diagrama del sistema de captura de datos.

Figura 26. Esquema de captura de los datos

Existían además 6 hogares que disponían de paneles solares. En 3 hogares (3, 11 y 21) no

fue posible suprimir está conexión para no interferir con las lecturas de consumo eléctrico.

Dada la complejidad de los sistemas de captura de la información, el monitoreo permanente

y el alto volumen de datos capturados es muy posible que existieran fallos de lecturas durante

todo el proceso.

Una vez descrito el experimento y publicado en la red se realizó una segunda limpieza de los

datos por David Murray y Lina Stankovic. En este juego de datos7 se realizó una limpieza

eliminando aquellos datos que estaban repetidos, valores no disponibles y transformando los

valores muy elevados (aquellos que llegaban al límite del medidor del aparato) al valor 0.

7 Web: https://pureportal.strath.ac.uk/files/62090184/CLEAN_REFIT_081116.7z

Page 41: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 41

Este juego de datos ya limpiados se compone de varios ficheros csv. Existe un fichero csv por

cada hogar. En la tabla 4 se muestra un ejemplo del formato del fichero csv existente para

cada uno.

Tabla 4. Formato fichero csv por cada hogar

Time Unix Aggregate Appliance1 … Appliance9

2013-10-09 13:06:17 1381323977 523 74 … 1

2013-10-09 13:06:31 1381323991 526 75 … 1

… … … … … …

2013-07-05 23:31:54 1383694277 184 0 … 1

De cada tabla se ha tomado en cuenta el campo Time y el campo Aggregate. El campo Time

permite saber el momento concreto en el que se realizó una medición concreta. El espacio de

tiempo entre cada medición es de solo unos segundos. El campo Aggregate mide el consumo

global de la vivienda. Estos dos campos (junto al campo de fecha Unix) son los únicos campos

comunes de todas las viviendas.

Los campos Appliance se componen de agrupaciones de electrodomésticos propias de cada

vivienda. Existe un documento8 donde se puede obtener tanto las características de cada

vivienda como el tipo de aparatos eléctricos conectados a la misma.

Del documento indicado se muestra a modo de ejemplo la correspondencia de los aparatos

eléctricos conectados en las viviendas 6 y 7. En la tabla 5 se muestra los aparatos de la

vivienda 6.

Tabla 5. Aparatos eléctricos en vivienda 6

Hogar 6

Appliance 1 Freezer, Whirlpool, CV128W

Appliance 2 Washing Machine, Bosch, Classixx 1200 Express

Appliance 3 Dishwasher, Neff, Unknown

Appliance 4 MJY Computer, Unknown, Unknown

Appliance 5 TV/Satellite, Samsung, UE55F6500SB

Appliance 6 Microwave, Neff, H5642N0GB/02

Appliance 7 Kettle, ASDA, GPK101W

Appliance 8 Toaster, Breville, PT15

Appliance 9 PGM Computer, Unknown, Unknown

8 Web: https://pure.strath.ac.uk/ws/portalfiles/portal/62090183/CLEAN_READ_ME_081116.txt

Page 42: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 42

A continuación, se muestra en la tabla 6 los aparatos conectados a la vivienda 7. Como se

puede observar se dispone en ese hogar de dos congeladores. El lavavajillas (Appliance 6) y

el segundo congelador (Appliance 3) han sido modificados. Los aparatos conectados no se

guardan en el mismo tipo de variable ya que el tipo de electrodomésticos no siempre es el

mismo para cada hogar.

Tabla 6. Aparatos eléctricos en vivienda 7

Hogar 7

Appliance 1 Fridge, Bosch, KSR30422GB

Appliance 2 Freezer(1), Whirlpool, AFG 392/H

Appliance 3 Freezer(2), Unknown, Unknown, (Change 23 Nov 2013)

Appliance 4 Tumble Dryer, White Knight, Unknown

Appliance 5 Washing Machine, Bosch, Unknown

Appliance 6 Dishwasher, Unknown, Unknown, (Change 20 May 2014)

Appliance 7 Television Site,

Appliance 8 Toaster, Unknown, Unknown

Appliance 9 Kettle, Sainsburys, 121988254

En este trabajo se ha querido comparar a todos los hogares y por esta razón se ha utilizado

el campo global común Aggregate, Se podría haber realizado un estudio individual de cada

hogar con sus aparatos eléctricos, pero ese estudio no se ha tratado en este trabajo.

Con todas las modificaciones realizadas en el juego de datos puede que la precisión de las

mediciones no sea exacta pero la tendencia global de consumo de cada hogar no debería

quedar muy afectada. Queda fuera de este trabajo validar la exactitud de las mediciones. Un

interesante trabajo sería diseñar aparatos medidores de consumo energético más fiables y

que cumplieran algún estándar concreto para minimizar el fallo en las lecturas.

4.3. Limpieza de los datos

En este apartado el objetivo a alcanzar es transformar y realizar mayor limpieza de los datos

obtenidos en el punto 4.1. Para ello se utiliza una hoja de trabajo que va a realizar las

siguientes operaciones sobre los datos:

• Agrupar los datos por rango horario

• Limpiar datos no disponibles mediante interpolación lineal

• Aplicar rolling para suavizar los valores finales

Page 43: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 43

• Tratamiento de valores inusuales

• Crear un fichero por cada hogar con el consumo semanal por rango horario

Agrupar los datos por rango horario

En esta sección se van a agrupar los datos de cada hogar por rango horario diario. Esta es la

primera parte del proceso para obtener un fichero agrupado por rango horario. Por cada día

se obtiene en cada rango el consumo acumulado. Este proceso se repite para cada hogar.

En esta etapa intermedia el resultado quedaría así:

Tabla 7. Agrupación por rango horario diario para un hogar

Time Aggregate Hora

2014-03-06 12:00:00 266.463115 12

2014-03-06 18:00:00 859.137496 18

2014-03-07 00:00:00 1442.860323 0

2014-03-07 06:00:00 199.217453 6

2014-03-07 12:00:00 191.393809 12

2014-03-07 18:00:00 182.766835 18

2014-03-08 00:00:00 1202.994989 0

2014-03-08 06:00:00 193.236842 6

… … …

Para trabajar con datos lo más recomendado en pandas es utilizar un dataframe como en el

de la tabla 7. En este dataframe el índice es el campo Time y se utilizará el campo Hora para

realizar agrupaciones por rango horario. Como se puede observar hay 4 rangos horarios (0,

6,12 y 18).

Limpiar datos no disponibles mediante interpolación lineal

Una vez agrupados los datos se limpian por interpolación lineal.

1. def limpiarDatos(dt_filtrado, rango): 2. """Limpia los valores NA. para un rango dado 3. 4. Argumentos: 5. dt_filtrado -- tabla con todos los datos 6. rango -- rango a filtrar 7. """ 8. # Se seleccionan aquellos valores del rango hora 9. # pasado por parámetro (0, 6, 12 ó 18) 10. dt_filtrado_Rango = dt_filtrado[dt_filtrado_6H.Hora == rango] 11. 12. # Limpieza de NA 13. dt_filtrado_Rango = dt_filtrado_Rango.interpolate(method ='linear', limit_directi

on ='forward')

Page 44: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 44

14. 15. return dt_filtrado_Rango

El método limpiarDatos es el encargado de eliminar datos no disponibles y devolver para un

rango concreto los datos modificados por interpolación lineal. Este método recibe todos los

datos ya agrupados por rango horarios (en el parámetro de entrada dt_filtrado) y selecciona

como respuesta los datos limpiados, pero de un rango concreto (se pasa el valor del rango a

obtener en el parámetro de entrada rango).

Aplicar rolling para suavizar los valores finales

La variabilidad de los resultados de consumo por semana puede ser muy amplia al medir el

consumo energético de los hogares. Una semana pueden existir picos muy altos y otros más

bajos. El objetivo general es conocer la tendencia de consumo de estos hogares durante un

periodo de tiempo prolongado; por lo tanto, el suavizado de la gráfica inicial no afecta en

exceso al resultado final del análisis. En la figura 27 se muestra el hogar 7 con el consumo

energético por rangos horarios sin aplicar rolling.

Figura 27. Consumo Hogar 7 sin aplicar rolling.

En la figura 28 el mismo hogar con rolling aplicado. Esta técnica sigue permitiendo observar

cual es el consumo en un rango horario, pero con menor variabilidad en los resultados.

Permite mejorar la predicción de consumo y observar de manera más clara cual es la

tendencia de consumo de las viviendas. Se puede observar además que aplicar rolling no ha

Page 45: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 45

modificado la tendencia de consumo durante toda la línea temporal. Es decir, tanto en la figura

27 como en la figura 28 se observa como el rango en rojo (18-00) está por encima del rango

en verde (12-18).

Mediante las gráficas de dispersión de este hogar se puede comprobar también la proporción

de consumo por rango horario. En azul el rango nocturno (00-06). En las dos gráficas se

concentran en la parte inferior izquierda de la gráfica ya que el consumo es constante y muy

bajo. La proporción de consumo energéticos en los demás rangos se mantienen, pero la

dispersión de la gráfica sin rolling es mucho mayor (figura 29) que la que tiene aplicado rolling

(figura 30) que presenta mayor linealidad.

Figura 28. Consumo Hogar 7 aplicando rolling.

Se muestra mayor dispersión de los datos en la gráfica sin rolling.

Page 46: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 46

Figura 29. Gráfica dispersión sin rolling. Hogar 7.

En la figura 29 se muestra la dispersión cuando a los datos se les ha aplicado rolling.

Figura 30. Gráfica dispersión con rolling. Hogar 7.

Page 47: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 47

Los valores presentan menor dispersión al aplicar rolling a los datos. Este comportamiento

puede observar en la figura 30.

Tratamiento de valores inusuales

Si no se realiza rolling a los datos las gráficas muestran picos abruptos de valores muy bajos

o muy altos. Los picos de consumo en las viviendas son complicados de tratar como un pico

real o como un error de lectura.

La variación de un consumo energético de una semana a otra podría ser muy diferente debido

a diversas causas: épocas estivales o invernales que hagan aumentar el uso del aire

acondicionado de manera puntual, mayor número de personas en el hogar de manera puntual

o un aumento aleatorio de más aparatos eléctricos conectados. Son causas razonables que

pueden provocar picos de consumo más altos. En estos casos es difícil distinguir si es un error

de lectura de los sensores o picos razonables de consumo.

Por este motivo y dado que los datos ya han sido limpiados previamente no se tratarán este

tipo de picos de consumo.

Generación de ficheros con los datos limpiados

Finalmente se generará para cada hogar un fichero con los datos limpiados y ya preparados

para ser tratados. Todo el proceso ha sido realizado a partir de la hoja de trabajo 019 . En la

figura 31 se muestra un esquema que resume los pasos seguidos para obtener estos ficheros.

El formato de los ficheros de salida es: Hogar_X_filtro_semanal_rango.csv siendo X el número

de hogar tratado.

En la salida final de cada fichero los rangos horarios aparecen en 4 columnas y existe una

columna llamada Time que muestra la línea temporal organizada por semanas. El formato

final del fichero se puede observar en la tabla 8.

9 Enlace: https://github.com/juanonlab/TFM_JPP/blob/master/01_Generar_datos_limpiados_semanal_rango_horario.ipynb

Page 48: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 48

Figura 31. Esquema generación fichero datos limpiados

Estos ficheros son la base de estudio para realizar los posteriores análisis. Son necesarios

para genera gráficas (de dispersión y evolución de consumo) y generar otro tipo de ficheros

(sobre coeficientes, medias y clasificaciones).

Page 49: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 49

Tabla 8. Formato final datos de los hogares transformados y limpiados

Time Rango 00-06 Rango 06-12 Rango 12-18 Rango 18-00

2014-07-06 175.42 1298.17 935.56 232.46

2014-07-13 172.38 1304.37 924.59 226.2

2014-07-20 167.75 1304.99 918.84 222.36

2014-07-27 169.41 1301.19 894.04 223.18

… … … … …

4.4. Hogares con mayor consumo en franjas horarias diurnas

y bajo consumo en horario nocturno

En esta línea de investigación se van a clasificar los hogares con un bajo y estable consumo

nocturno y un consumo mayor por el día. Está clasificación de hogares puede ser muy útil

para las empresas suministradores de energía.

Las empresas van a poder ofrecer ofertas que premien ese bajo consumo nocturno. Será

posible analizar también los hogares que no cumplen esos requisitos. Pueden ser hogares

que en horarios nocturnos realicen un mayor gasto energético debido a diferentes motivos:

trabajos nocturnos, trabajos por turnos rotativos, etcétera. Este tipo de hogares se podrían

estudiar para realizar estudios de marketing específicos.

4.4.1. Descripción del experimento y resultados

Para poder clasificar los hogares que cumplen los requisitos descritos y cuáles no, se va a

aplicar una técnica de clustering. Es una técnica de aprendizaje no supervisado ya que no

conocemos a priori como agrupar estos hogares. En el entorno de desarrollo de este TFM se

va a utilizar el algoritmo K-means.

Para obtener estos grupos de hogares se deben establecer que variables van a ser necesarias

para realizar la clasificación. Mediante estas variables se va a poder ejecutar el algoritmo de

clustering.

En este caso se van a utilizar dos variables:

• Coeficiente de variación de consumo nocturno

• Proporción de gasto energético nocturno respecto al consumo durante el día

El coeficiente de variación permite medir la variación del consumo eléctrico en el rango horario

de 0 a 6 horas. Si el coeficiente es inferior al 20% se considerará que los valores son

homogéneos durante toda la línea de tiempo.

Page 50: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 50

Para su cálculo se tiene:

𝐶𝑣 =𝜎

𝑋∙ 100%

Donde 𝜎 es la desviación típica y X es la media. Se multiplica por 100 para obtener el resultado

en porcentaje.

Para calcular la proporción de gasto energético por la noche respecto al gasto diurno se va a

sumar todo el gasto energético de cada semana y hacer la media (por cada rango horario).

Después se va a obtener la proporción que representa el rango horario de 0 a 6 horas. El

cálculo sería:

𝑅𝑎𝑛𝑔𝑜00−06ℎ

𝑅𝑎𝑛𝑔𝑜00−06ℎ + 𝑅𝑎𝑛𝑔𝑜06−12ℎ + 𝑅𝑎𝑛𝑔𝑜12−18ℎ + 𝑅𝑎𝑛𝑔𝑜18−00ℎ ∙ 100

Tomando como partida los ficheros que se han generado en la hoja de trabajo 01 (ver figura

14) se va a utilizar la hoja de trabajo 03 (ver figura 18) para generar el coeficiente de variación

y la proporción de gasto por cada hogar que son los datos que se necesitan. Esta hoja de

trabajo vuelca los resultados en el fichero Medias_Y_Coeficientes_Hogares.csv.

A continuación, se muestra el método encargado de calcular todas estas medias y

coeficientes. Se llama a este método tantas veces como número de hogares hay.

1. def calcularDesviacionMediaCoeficiente(dataset, numeroHogar, contador, df): 2. """Genera un data frame calculando la desviacion, 3. la media y el coeficiente de variabilidad para todos los rangos 4. Y la proporcion de consumo del rango 00-06 en relacion al resto 5. Argumentos: 6. dataset -- datos de un hogar 7. numeroHogar --- numeroHogar 8. contador -- contador 9. df -- dataframe 10. """ 11. # Se calcula la desviacion y la media para cada rango 12. desviacionColumnas = dataset.std(axis = 0, skipna = True) 13. mediaColumnas = dataset.mean(axis = 0, skipna = True) 14. coef0 = (desviacionColumnas[0]/mediaColumnas[0])*100 15. coef1 = (desviacionColumnas[1]/mediaColumnas[1])*100 16. coef2 = (desviacionColumnas[2]/mediaColumnas[2])*100 17. coef3 = (desviacionColumnas[3]/mediaColumnas[3])*100 18. 19. # Se calcula la proporcion de consumo nocturno 20. # en relacion al resto de consumo de los demas rangos 21. sumaMediasRangos = mediaColumnas[0]+mediaColumnas[1]+mediaColumnas[2]+mediaColum

nas[3] 22. proporc_r0 = (mediaColumnas[0]*100)/sumaMediasRangos 23.

Page 51: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 51

24. # Se guarda en una fila los resultados y se redondea a 2 decimales 25. df.loc[contador, 'stdRango 00-06'] = desviacionColumnas[0].round(2) 26. df.loc[contador, 'meanRango 00-06'] = mediaColumnas[0].round(2) 27. df.loc[contador, 'coefRango 00-06'] = coef0.round(2) 28. df.loc[contador, 'stdRango 06-12'] = desviacionColumnas[1].round(2) 29. df.loc[contador, 'meanRango 06-12'] = mediaColumnas[1].round(2) 30. df.loc[contador, 'coefRango 06-12'] = coef1.round(2) 31. df.loc[contador, 'stdRango 12-18'] = desviacionColumnas[2].round(2) 32. df.loc[contador, 'meanRango 12-18'] = mediaColumnas[2].round(2) 33. df.loc[contador, 'coefRango 12-18'] = coef2.round(2) 34. df.loc[contador, 'stdRango 18-00'] = desviacionColumnas[3].round(2) 35. df.loc[contador, 'meanRango 18-00'] = mediaColumnas[3].round(2) 36. df.loc[contador, 'coefRango 18-00'] = coef3.round(2) 37. df.loc[contador, 'prop. 00-06 resto'] = proporc_r0.round(2) 38. 39. return df

En las líneas 27 y 37 del método se guardan los coeficientes que se van a utilizar para realizar

la clasificación de los hogares.

A continuación, se utiliza la hoja de trabajo 03b (ver figura 19) que va a realizar las siguientes

acciones:

• Calcular el número óptimo de centroides para k-means

• Generar las gráficas de cómo se distribuyen los hogares según el número de

centroides seleccionados

• Imprimir en un fichero los hogares y la agrupación a la que pertenecen para 2 y 4

centroides

Durante el análisis para el calcular el número de centroides se ha utilizado el coeficiente de

silhouette. Mediante este coeficiente se estima cual es el número de centroides óptimo. Al

ejecutar la hoja de trabajo 03b se imprime por pantalla el resultado del análisis de silhouette.

En esta hoja de trabajo para imprimir los valores de este análisis se creado el método

silhoutte_valor.

1. def silhouette_valor(clusters, X): 2. kmeans_sil = KMeans(n_clusters=clusters).fit(X) 3. labels_sil = kmeans_sil.predict(X) 4. silhouette_media = silhouette_score(X, labels_sil) 5. print("Para ", clusters, " clusteres. La puntuación de silhouette es: ", silhoue

tte_media.round(2))

Recibe como parámetro una lista de clústeres (parámetro clusters) y un array con las variables

a tratar (parámetro X).

Se han realizado pruebas con 6 agrupaciones o clústeres. En la tabla 9 se pueden observar

los resultados que imprime este método.

Page 52: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 52

Tabla 9. Puntuación análisis silhouette

Número de clústeres Puntuación silhouette

2 0.62

3 0.54

4 0.54

5 0.41

6 0.39

La puntuación más alta se obtiene para 2 clústeres. Esta medida indica que con esa

organización de clústeres los hogares que pertenecen a un clúster concreto están separados

claramente de un clúster vecino. Con un valor inferior la pertenencia de un hogar a un clúster

u otro está menos clara. Este análisis no es definitivo y es orientativo sobre como agrupar los

hogares según un número de centroides.

El análisis indica que la mejor combinación de centroides es utilizar 2. Sin embargo, es mejor

aumentar el número a 4 centroides. Esto es debido a que realmente se quiere obtener un

grupo que se ajuste de la mejor manera a obtener un grupo de hogares que tenga:

• Coeficiente de variabilidad bajo

• Baja proporción de consumo

Los datos necesarios para generar las gráficas se obtienen del método k-means. Este método

recibe los parámetros a comparar guardados en la variable X y un número de clúster (que

será 2 o 4).

1. def calcula_kmeans(X, num_cluster): 2. kmeans = KMeans(n_clusters=num_cluster).fit(X) 3. centroides = kmeans.cluster_centers_ 4. etiquetas = kmeans.predict(X) 5. return kmeans, centroides, etiquetas

La salida devuelve los centroides generados, las etiquetas que indican como queda clasificado

cada hogar y la variable K-means que servirá para futuras clasificaciones.

Para imprimir por pantalla y guardar la distribución de los clústeres y los datos de cada hogar

se utiliza el método guardarGraficaKmeans.

1. def guardarGraficaKmeans(df, centroides, num_centroides): 2. plt.scatter(df['proporc_r0'],df['coef_r0'],c= kmeans.labels_.astype(float), s=50

, alpha=0.5) 3. plt.scatter(centroides[:, 0], centroides[:, 1], c='red', s=50)

Page 53: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 53

4. plt.title('(coeficiente variabilidad - Proporción consumo energía) \n Para rango horario 00-06h')

5. plt.xlabel('Proporción consumo', fontsize = 16) 6. plt.ylabel('Coeficiente Variabilidad', fontsize = 16) 7. fichero = os.path.join(RUTA_ACTUAL, DIRECTORIO_GUARDADO_IMG, 'Kmeans_rango_horar

io_' + str(num_centroides) +'_centroides.png') 8. plt.savefig(fichero)

Recibe el dataframe con las dos variables utilizadas por k-means:

• Proporc_r0: proporción de consumo del rango nocturno respecto a los demás

• Coef_r0: coeficiente de variabilidad del rango 00-06h para cada hogar

Finalmente se guarda el resultado en un fichero.

A continuación, se muestran en las figuras 32 y 33 la distribución de los grupos para dos y

cuatro centroides generadas por el método guardar gráfica k-means:

Figura 32. Distribución de los hogares con 2 centroides

Page 54: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 54

Figura 33. Distribución de los hogares con 4 centroides

La figura de cuatro centroides (Figura 33) es más restrictiva que la de dos (Figura 32). Los

hogares agrupados con el color azul son hogares con baja proporción de consumo y bajo

coeficiente de variabilidad. Ninguno de ellos tiene un valor muy superior a 20 en ninguna de

las dos variables aplicadas.

Sin embargo, al observar la figura 32 existen hogares dentro del mismo grupo (en color

amarillo) que superan el coeficiente de variabilidad en más 20 unidades o bien existe un hogar

cuya proporción de consumo es muy alta (cerca de 40).

Queda como una cuestión abierta decidir qué valores se consideran óptimos. Se podría tratar

como una evolución de este TFM: establecer qué valor para la proporción de consumo y

variabilidad es adecuada.

Una hipótesis razonable es pensar que la mayoría de los hogares usan la energía sobre todo

al volver del trabajo o por la mañana si los personas que viven en el hogar son jubilados o

desempleados. Esto indicaría que la mayor parte de los hogares tienen un comportamiento

de bajo consumo nocturno, pero alto durante resto del día. Al observar la figura 33 se

comprueba que existen bastantes hogares que no se posicionan cerca de la esquina inferior

izquierda de la gráfica. Esto indica que existen hogares con unos hábitos de consumo atípicos.

La tabla 10 muestra la agrupación final para 4 centroides. Esta tabla tiene su origen en la

salida de la hoja de trabajo 03b (figura 19). El fichero que se ha generado se llama

Page 55: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 55

CategoriasKmeans_4_Centroides.csv 10. Todos los hogares de la categoría 1 son los hogares

objetivo y se clasifican con el valor SI, el resto quedan clasificados como NO.

Tabla 10. Clasificación de los hogares

Hogar Categoría Kmeans Bajo Coeficiente y Bajo

consumo (rango 00-06)

Hogar 1 2 NO

Hogar 2 0 NO

Hogar 3 1 SI

Hogar 4 1 SI

Hogar 5 1 SI

Hogar 6 1 SI

Hogar 7 1 SI

Hogar 8 3 NO

Hogar 9 1 SI

Hogar 10 2 NO

Hogar 11 1 SI

Hogar 12 1 SI

Hogar 13 0 NO

Hogar 15 1 SI

Hogar 16 1 SI

Hogar 17 0 NO

Hogar 18 1 SI

Hogar 19 1 SI

Hogar 20 1 SI

Hogar 21 0 NO

Luego los hogares con consumos habituales quedan clasificados como SI y los atípicos como

NO.

Lo razonable es pensar que gran parte de nuestros hogares estarían clasificados como SI. La

mayoría de las personas realizan sus actividades por el día y por la noche se van a dormir.

Este grupo conforma el 65% de los hogares analizados (13 hogares de 20). En los hogares

probados se observa que el 35% restante de hogares tiene unos hábitos menos estables por

la noche. Sería necesario realizar un estudio más detallado y con más hogares para

comprobar si esta proporción se mantiene para más residencias.

10 Fichero: https://github.com/juanonlab/TFM_JPP/blob/master/CategoriasKmeans_4_Centroides.csv

Page 56: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 56

Los departamentos de marketing podrían obtener información del 35% restante para poder

ofrecerles ofertas concretas y estudiar qué tipo de hábitos tienen este tipo de hogares. Las

empresas suministradoras de energía interpretarían que más de la mitad de los hogares por

las noches tienen un consumo sin grandes alteraciones.

4.4.2. Validación de los resultados

La validación de los resultados para el algoritmo k-means resulta complicada cuando no se

dispone a priori de datos de prueba en los que se conozca la categoría que debe ocupar cada

hogar.

Esta problemática queda expuesta en el libro de introducción a Machine Learning donde se

cita en un fragmento la problemática:

“Un desafío importante en el aprendizaje no supervisado es evaluar si el algoritmo ha

aprendido algo útil. Los algoritmos de aprendizaje no supervisados generalmente se aplican

a datos que no están clasificados, por lo que no sabemos qué datos son correctos o que salida

debería ser. Por lo tanto, es muy difícil decir si un modelo "funcionó bien" [...] A menudo, la

única forma de evaluar el resultado de un algoritmo no supervisado es inspeccionarlo

manualmente” (C. Müller & Guido, 2016, pág. 134).

Este trabajo para este apartado se encuentra en ese caso. Se usa una técnica de aprendizaje

no supervisado para obtener información de un conjunto de hogares donde no tenemos

información a priori de cuál es su clasificación. En este caso queda utilizar la comprobación

manual.

Se va a comprobar con cuatro hogares si el algoritmo ha realizado la clasificación de manera

adecuada. En dos de ellos se espera que sí pertenezcan al conjunto de hogares que se

buscan y en los otros dos no debería pertenecer a esa categoría.

Observando las gráficas de las figuras 34 y 35 se observa como el rango nocturno (línea azul)

no tiene grandes alteraciones y está en la parte más baja de la gráfica. Indicando que su

consumo es mucho más bajo que el resto de los rangos horarios. Los hogares 12 y 19 que

son los hogares que muestran las gráficas son hogares clasificados como SI en la tabla 10.

Son hogares con consumos estables por la noche.

Page 57: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 57

Figura 34. Consumo energético por rangos. Hogar 12.

Figura 35. Consumo energético por rangos. Hogar 19.

A continuación, se muestra un hogar (en la figura 36) que no entra en la categoría 1 (queda

clasificado como NO) y por lo tanto su consumo es atípico.

Page 58: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 58

Figura 36. Consumo energético por rangos. Hogar 1.

Es un hogar que tiene un consumo muy irregular en el rango 00-06, luego está claramente

excluido de la clasificación que se está buscando. El hogar 1 queda agrupado en la categoría

2 y no cumple con las condiciones que se buscaban.

Figura 37. Consumo energético por rangos. Hogar 21.

Page 59: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 59

El hogar de la figura 37 tiene un consumo en horas nocturnas muy inestable con ciertos picos

de alto de consumo. Al tener un consumo inestable el parámetro de coeficiente de variabilidad

es muy alto (40,8). Observando la tabla 10 se comprueba que pertenece a la categoría 0

(Clasificado como NO). Es un hogar que por la noche realiza bastante consumo y no es

estable.

Observando el hogar 8 de la figura 38 se comprueba que su mayor consumo se realiza por la

noche luego queda clasificado como NO.

Dependiendo del número de clústeres elegidos la clasificación podría haber sido distinta. Con

cuatro centroides se observa que la clasificación de hogares de categoría 1 (clasificados como

SI) entran dentro de lo buscado.

4.5. Predicción del gasto energético de los hogares

Una medida útil para los usuarios y sobre todo para las empresas suministradoras de energía

es observar la evolución de consumo de los hogares. Esto permite predecir si va a existir

menos o más consumo en las próximas semanas.

La predicción de todos los hogares se podría sumar entre sí para, por ejemplo, detectar que

semanas del año la empresa suministra más o menos energía a sus clientes. En este apartado

se va a realizar una predicción del consumo energético para las próximas semanas.

4.5.1. Descripción del experimento y resultados

La hoja de trabajo 04b (ver figura 21) es la encargada de generar los ficheros finales con la

predicción de cada hogar por cada rango horario. Como dato de origen se toma el contenido

de los ficheros del tipo: Hogar_X_filtro_semanal_rango.csv.

El método que realiza el entrenamiento del modelo a partir de los datos de cada rango horario

es el método obtenerARModel. A continuación, se muestra el código que realiza el

entrenamiento:

1. def getFinalARModel(series): 2. X = series.values 3. # Entrenar modelo AR 4. model = AR(X) 5. model_fit = model.fit() 6. window = model_fit.k_ar 7. coef = model_fit.params 8. return window,coef,model_fit

Este método es llamado 4 veces. Una por cada rango horario. Posteriormente se realiza la

predicción para cada rango mediante el uso del método predictionAR:

1. def predictionAR(model_fit, data):

Page 60: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 60

2. predictions = model_fit.predict(start=len(data), end=len(data)+NUM_WEEK-1, dynamic=False)

3. return predictions

Se generan para cada hogar un fichero csv de salida del tipo: Hogar_X_prediccion.csv. El

formato de estos ficheros de salida se puede observar en la tabla 11.

Tabla 11. Fichero Hogar_8_prediccion_wfmodeloAR.csv

Enlace: https://github.com/juanonlab/TFM_JPP/blob/master/Hogar_8_prediccion.csv

Semanas Rango 00-06 Rango 06-12 Rango 12-18 Rango 18-00

0 830.51 1043.0 461.36 506.65

1 803.4 1088.09 448.25 490.75

2 784.96 1147.95 437.71 480.73

3 786.34 1223.01 437.6 474.99

4 810.48 1306.76 447.23 469.22

A continuación, se muestra en la figura 38 la evolución de consumo durante todas las semanas

estudiadas.

Figura 38. Consumo energético por rangos. Hogar 8.

Page 61: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 61

Se puede observar como el menor consumo en las últimas semanas es para el rango 12-18

seguido de 18-00. En las últimas semanas el consumo en el rango 00-06 ha bajado mientras

que el del rango 06-12 ha subido mucho siendo el de mayor gasto para las últimas semanas.

A continuación, se muestra la predicción para las siguientes cinco semanas. En esta

predicción (Figura 39) se observa cómo se mantiene la evolución seguida en la Figura 38.

Figura 39. Previsión consumo últimas 5 semanas.

Cómo se puede observar el rango horario 06-12h (naranja) va a seguir en aumento esta

tendencia. Así mismo se puede comprobar que para el rango horario 00-06 este permanece

por debajo del rango de color naranja con un descenso estable. El rango 18-00h (rojo) va a

continuar con un consumo ligeramente superior al rango horario 12-18h (verde).

Se ha optado por aplicar un modelo AR (auto regresión) para predecir las siguientes semanas.

Dentro de la familia ARIMA es el modelo más sencillo como se puede observar en el capítulo

2.2.1 (Regresión lineal). El modelo AR presupone que hay cierta relación entre los valores

pasados y los futuros.

Este modelo es un ejemplo de proceso estocástico. Un modelo estocástico representa una

situación donde existe cierto grado de incertidumbre. En otras palabras, es un modelo para

procesos que tiene algún tipo de aleatoriedad.

Page 62: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 62

En un artículo web Stephanie Glen explica en que consiste esta aleatoriedad: esta

aleatoriedad indica que se podrá predecir la tendencia con datos posteriores, pero no se va a

obtener un 100% de precisión (Glen, 2015).

Se ha realizado un análisis de manera global de todos los hogares y no se ha realizado un

tratamiento personalizado. Realizando un análisis individualizado se podría realizar una

investigación más profunda y usar otros modelos, por ejemplo, para detectar estacionalidad

en los datos.

4.5.2 Validación de los resultados

Para validar los resultados se han utilizado una parte de los datos como datos de

entrenamiento y otros como datos de test. De esta manera se puede comparar la evolución

del modelo y comprobar si al predecir los resultados estos se acercan a los valores de test.

Del hogar 8 se van recoger las 5 últimas semanas como datos de tests. El fichero11 ha sido

generado por la hoja de trabajo 01 (ver figura 14) que es la encargada de generar ficheros ya

limpiados con el consumo semanal separado por rangos horarios.

Se muestra a continuación las últimas líneas del fichero. El resto de las líneas van a utilizarse

para predecir el módelo. Mediante la técnica de walk forward se comprueba como el valor

predicho por el modelo se ajusta al valor de test.

Tabla 12. Fichero del hogar 8 con los consumos por rangos.

Time Rango 00-06h Rango 06-12h Rango 12-18h Rango 18-00h

2014-04-06 1186.04 716.21 500.7 530.39

2014-04-13 1173.98 687.29 479.08 511.0

… … … … …

2015-04-12 1063.69 849.22 472.55 569.69

2015-04-19 980.41 859.27 449.42 546.2

2015-04-26 920.65 889.66 437.66 530.4

2015-05-03 884.67 946.09 444.47 523.06

2015-05-10 859.84 1017.99 459.52 521.23

Las 5 últimas filas serán los datos de test y el resto los datos de entrenamiento.

11 Fichero: https://github.com/juanonlab/TFM_JPP/blob/master/Hogar_8_filtro_semanal_rango.csv

Page 63: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 63

La hoja de 04 (ver figura 20) es la encargada de generar los ficheros para realizar el análisis

de validación.

Al igual que en las predicciones realizadas en el apartado anterior, para las validaciones es

necesario realizar el mismo proceso para cada rango horario.

1. def obtenerARModel(series): 2. X = series.values 3. train, test = X[1:len(X)-NUMERO_TEST], X[len(X)-NUMERO_TEST:] 4. model = AR(train) 5. model_fit = model.fit() 6. window = model_fit.k_ar 7. coef = model_fit.params 8. return train,test,window,coef,model_fit

Se llamará 4 veces al método obtenerARModel para obtener el modelo entrenado para cada

rango horario. Se devuelve también los datos de entrenamiento y los de tests para tratarlos

más cómodamente en etapas posteriores. Los parámetros window y coef son necesarios para

realizar walk forward y mejorar la predicción y por eso también son devueltos.

Para validar el modelo se han utilizado las siguientes parámetros o técnicas:

• Walk forward validation: para mejorar la validación de la predicción. Una vez que se

ha predicho el resultado ese dato pasa a formar parte de los datos de entrenamiento

siendo necesario reentrenar el modelo por cada data nuevo predicho.

• Coeficiente de determinación ó 𝑅2: es una medida estadística que representa la

proporción de la varianza para una variable dependiente que se explica por una

variable o variables independientes en un modelo de regresión (HAYES, 2019).

• Raíz del error cuadrático medio (RMSE) : mide la diferencia entre los valores previstos

y los valores observados.

Como se está trabajando con cuatro rangos horarios para validar los resultados se van a

mostrar cuatro gráficas. Cada gráfica se compone de dos lineas. Una línea roja que es el valor

real (el de test) y otra de color naranja que es la la predicción. Se mostrará el valor 𝑅2 y el

RMSE medio también para aportar mayor información.

A continuación se muestran las gráficas de predicción obtenidas para el hogar número 8.

Estos datos se han obtenido a partir de la hoja de trabajo 04 (ver figura 20). Entre los ficheros

generados se genera el fichero Hogar_8_validacion_wfmodeloAR.csv con el que se han

rellenado las tablas 13,14, 15 y 16.

Page 64: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 64

Figura 40. Test y predicción hogar 8. Rango 00-06h

Tabla 13. Valores de energía de test y las predicciones 00-06h

Sem Sem+1 Sem+2 Sem+3 Sem+4

Test 1063.69 980.41 920.65 884.67 859.84

Pred 1106.99 1043.87 963.31 909.79 868.81

En la figura 40 y en la tabla 13 se puede comprobar como la predicción se acerca mucho al

valor real de test para el rango horario 00-06h.

Page 65: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 65

Figura 41. Test y predicción hogar 8. Rango 06-12h

Tabla 14. Valores de energía de test y las predicciones 06-12h

Sem Sem+1 Sem+2 Sem+3 Sem+4

Test 849.22 859.27 889.66 946.09 1017.99

Pred 843.74 847.24 852.3 895.19 943.4

En la figura 41 y en la tabla 14 se puede observar que la tendencia es similar tanto para los

valores de tests utilizados y los valores calculados en la predicción.

Page 66: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 66

Figura 42. Test y predicción hogar 8. Rango 12-18h

Tabla 15. Valores de energía de test y las predicciones 12-18h

Sem Sem+1 Sem+2 Sem+3 Sem+4

Test 472.55 449.42 437.66 444.47 459.52

Pred 467.45 463.27 433.26 432.74 447.9

En la figura 30 y la tabla 15 se puede observar alguna diferencia pero ambas gráficas tienen

forma de U.

Page 67: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 67

Figura 43. Test y predicción hogar 8. Rango 18-00h

Tabla 16. Valores de energía de test y las predicciones 18-00h

Sem Sem+1 Sem+2 Sem+3 Sem+4

Test 569.69 546.2 530.4 523.06 521.23

Pred 581.32 565.33 542.05 524.43 511.32

En la Figura 43 y la Tabla 16 se puede comprobar que la predicción se ajusta al valor real

(valores de test).

En la tabla 17 se muestra un resumen del RMSE (diferencia en valor absoluto del valor real y

el valor predicho) por rango horario. La precisión que debe tener el módelo debe ser alta pero

hay que valorar hasta que punto es adecuado.

Tabla 17. R2 y RMSE.

Rango 00-06h Rango 06-12h Rango 12-18h Rango 18-00h

R2 0.69 0.5 0.32 0.55

RMSE 41.07 44.1 10.1 12.14

RMSE AVG 26.85

Page 68: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 68

Los datos de la tabla 17 provienen del fichero Hogar_8_RMSE_R2.csv12. Este fichero contiene

también la predicción del modelo normal, es decir sin aplicar walk forward. En la tabla 18 se

pueden comprobar los valores RMSE para el hogar 8.

Tabla 18. RMSE Normal y con Walk forward

Rango 00-06h Rango 06-12h Rango 12-18h Rango 18-00h AVG

RMSE

Normal

159.15 85.78 11.86 37.46 73.56

RMSE

WalkForward

41.07 44.1 10.1 12.14 26.85

En general el RMSE es mucho mayor en el caso de la validación de la predicción sin usar

walk forward lo que indica un peor ajuste.

Dependiendo del modelo a estudiar decidir que es un valor alto o bajo para el coeficiente

RMSE puede ser complicado. Por ejemplo, en un modelo basado en el cálculo de las

temperaturas del mar 10 unidades (temperatura) de desviación es mucho. En unidades de

energía 10 unidades sobre por ejemplo 1000 puede que no sea excesivo porque la variabilidad

de los datos es alta.

Por ejemplo en la tabla 14 y semana+4 se obtiene un valor real de 1017 unidades de consumo

frente a 943. Aunque no es una diferencia pequeña en el ámbito del consumo energético

parece una desviación razonable.

Quedaría por analizar hasta que punto las empresas energéticas quieren dar por bueno estos

valores. Está sujeto a discusión y quizás como trabajo posterior a este TFM sí debería

establecer un baremo a partir del cual un RMSE es válido o no. Habría que implantar unos

parámetros para determinar si es el modelo es aceptable o es necesario un mayor ajuste en

la predicción.

Desde el punto de vista de este trabajo la idea principal es predecir tendencias, se ha realizado

una técnica de rolling agresiva para suavizar la gráfica y favorecer la predicción. Hay que tener

en cuenta también que se están analizando muchos otros hogares que quizás tengan un

comportamiento más aleatorio y no produzcan un resultado tan acertado en la predicción.

12 Fuente: https://github.com/juanonlab/TFM_JPP/blob/master/Hogar_8_RMSE_R2.csv

Page 69: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 69

Un modelo de predicción genérico como el que se ha diseñado en este TFM será más

impreciso que otro que trabaja en detalle sobre datos de un hogar concreto. Por este motivo

el objetivo principal de estas predicciones es buscar la tendencia de consumo más que un

valor exacto de consumo energético que de por si es complejo de predecir dentro de un

entorno doméstico.

4.6. Clasificación de hogares por gasto eléctrico día/noche

Otro tipo de clasificación posible sería comprobar la media de consumo en rangos separados

en día y noche. En esta ocasión no se va a tratar el coeficiente de variabilidad para averiguar

si su consumo es estable en algún rango horario concreto. En este apartado se separan en

12 horas (día) y 12 horas (noche) para comprobar en media el comportamiento del hogar.

Realmente las 12 horas de noche abarcan también una parte de la tarde así de aquí en

adelante este rango se va a denominar tarde-noche.

4.6.1. Descripción del experimento y resultados

Para realizar esta clasificación se va a utilizar únicamente la media global de cada rango y

comparar esta media para decidir si hay mayor consumo en una franja u otra.

Se podría utilizar esta información para saber si un hogar está más tiempo en casa en una

determinada franja horaria que otra. También se le podría recomendar una tarifa concreta

dependiendo de los hábitos de consumo relacionados.

La hoja de trabajo 08_Gasto_electrico_dia_noche es la encargada de generar el fichero

Consumo_agrupado_dia_noche.csv13

1. def calcula_medias_consumos(dataset): 2. dataset['Consumo_dia'] = dataset.apply((lambda x: media(x['meanRango 06-

12'], x['meanRango 12-18']) ), axis=1).apply(lambda x: round(x, DECIMALES)) 3. dataset['Consumo_tarde_noche'] = dataset.apply((lambda x: media(x['meanRango 00-

06'], x['meanRango 18-00']) ), axis=1).apply(lambda x: round(x, DECIMALES)) 4. dataset['es_tarde_noche'] = dataset.apply((lambda x: mayor_consumo_tarde_noche(x

['Consumo_dia'], x['Consumo_tarde_noche']) ), axis=1) 5. df = dataset[['Consumo_dia','Consumo_tarde_noche','es_tarde_noche']] 6. return df

El método calcula_medias_consumos genera un dataframe que se guarda en el fichero

Consumo_agrupado_dia_noche.csv. Este método recibe un dataset originado del fichero

Medias_Y_Coeficientes_Hogares.csv . Este fichero ha sido generado por la hoja de trabajo

03 (ver figura 18).

13 Fichero: https://github.com/juanonlab/TFM_JPP/blob/master/Consumo_agrupado_dia_noche.csv

Page 70: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 70

Las líneas 2 y 3 realizan las medias de los rangos de día y de los rangos de tarde-noche

respectivamente. La línea 4 es la encargada de generar una columna llamada es_tarde_noche

que devolverá 0 cuando el los rangos horarios diurnos tengan de media un mayor consumo

que los rangos horarios de tarde-noche. En caso contrario se devolverá el valor 1.

Tabla 19. Rango de consumos día y tarde - noche

Hogar Consumo día Consumo tarde noche Mayor consumo tarde-noche

1 413.73 450.55 SI

2 569.5 371.24 NO

3 846.47 514.21 NO

4 407.21 330.65 NO

5 833.72 661.56 NO

6 505.29 446.04 NO

7 630.48 419.7 NO

8 570.39 758.22 SI

9 571.07 577.96 SI

10 843.16 607.58 NO

11 666.78 210.41 NO

12 432.45 315.57 NO

13 718.86 438.06 NO

15 257.23 251.32 NO

16 541.87 546.9 SI

17 511.09 329.03 NO

18 487.73 411.39 NO

19 296.03 288.36 NO

20 422.9 329.27 NO

21 734.33 452.2 NO

En la tabla 19 se puede comprobar como la mayor parte de los hogares británicos realizan un

mayor consumo energético por las mañanas. La franja tarde-noche escogida empieza desde

las 6 de la tarde y termina a las 6 de la mañana. Con estos datos parece indicar que la

actividad por la tarde-noche es inferior a la de la mañana. Sólo un 20% de los hogares

analizados muestran un mayor consumo horario en la franja horaria tarde-noche. Esto hace

sugerir que cuando se acerca la noche los hogares británicos bajan la actividad de consumo

energético en sus viviendas.

Page 71: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 71

4.6.2. Validación de los resultados

La validación de esta clasificación se basa en comprobar una regla en la que se reciben 2

parámetros: consumo de día y consumo de noche.

En la hoja de trabajo 08 este cálculo lo realiza el método mayor_consumo_tarde_noche.

1. def mayor_consumo_tarde_noche(consumo_dia, consumo_tarde_noche): 2. return 1 if (consumo_tarde_noche >= consumo_dia) else 0

Es una regla sencilla que genera unos resultados interesantes:

• 1 → SI (El consumo tarde-noche es mayor o igual que el del día)

• 0 → NO (El consumo de día es menor que el de la tarde-noche)

Observando la figura 36 (hogar 1) se puede comprobar que es un hogar donde el consumo

por la tarde-noche es mayor eso se debe, si se observa la gráfica, en que la línea azul (rango

00-06) muestra un gran consumo en las semanas finales.

Observando el hogar 16 en la figura 44 se observa que los consumos están muy parejos entre

rangos de día y de tarde-noche. Finalmente, las líneas rojas y azul (rango tarde-noche) tienen

un consumo ligeramente superior. El rango 00-06 (línea azul) es el rango que muestra menos

consumo durante toda la línea temporal, pero se compensa con que el rango 18-00 (línea

roja) es el que más consumo genera durante todas las semanas.

Figura 44. Consumo energético por rangos. Hogar 16.

Page 72: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 72

5. Conclusiones y trabajo futuro

El objetivo principal de este Trabajo Fin de Máster ha consistido en obtener información del

consumo energético de los hogares mediante la separación de rangos horarios.

Esta aportación permite que los hogares puedan ser clasificados según estos hábitos de

consumo. La utilidad directa de este estudio consiste en que las empresas pueden utilizar esta

información para averiguar por ejemplo que hogares realizan menos consumo por las noches

o en que rango el consumo es mayor. También ha sido posible detectar hogares con unos

hábitos de consumo atípicos.

De manera específica, de las tres líneas de desarrollo se pueden obtener las siguientes

conclusiones:

Coeficiente de variabilidad del rango 00-06h y bajo consumo

Sobre el coeficiente de variabilidad del rango 00-06h y bajo consumo se ha obtenido la

conclusión que un 65% de los hogares cumplen ese requisito frente al otro 35% en los que

los hábitos son distintos.

La idea que se tiene preconcebida de hábitos de uso en la vivienda es que en el rango de 0 a

6 horas de la noche la actividad es baja y en consecuencia el consumo eléctrico también es

bajo.

Quizás los departamentos de marketing puedan analizar el 35% restante de los hogares que

no se ajustan a esos parámetros. Como se ha podido observar existía un hogar cuyo mayor

consumo era por la noche. A este tipo de hogares se le podría realizar algún tipo de oferta

que premiara el uso de consumo por la noche que es una franja horaria donde la demanda de

consumo es baja.

Para confirmar esta tendencia de consumo en rangos horarios sería necesario abarcar más

hogares para verificar si la proporción se manteniene.

Predicción de varias semanas por rangos horarios en los hogares

Aplicando un modelo de auto regresión, junto a un filtrado agresivo de las gráficas de consumo

se han obtenido unas predicciones de consumo que se tendrían que tomar con precaución.

Page 73: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 73

La variabilidad del consumo eléctrico en el tiempo es muy amplia en comparación con otro

tipo de series temporales como por ejemplo el cambio en la temperatura del mar en un año.

Esto ha sugerido un uso agresivo del filtrado por rolling para establecer gráficas con saltos no

muy abruptos entre semanas. Con ello se busca observar la tendencia de consumo durante

varios meses más que un valor exacto en una semana concreta. Lo que se ha pretendido

calcular es una tendencia en el consumo.

En esta línea de investigación se ha utilizado la técnica de walk forward para mejorar la

validación del modelo. Se han empleado así mismo los parámetros RMSE y R2 para verificar

la buena predicción del modelo AR. Durante la validación se ha comprobado que los valores

R2 no han sido, en ocasiones, buenos mientras que los valores RMSE se han mantenido en

unos márgenes razonables.

Una mejora en el método de captura de la energía de cada aparato eléctrico podría ayudar a

mejorar la predicción.

Gasto eléctrico día/tarde-noche

Aúnque no se disponen de datos sería interesante comprobar los resultados obtenidos en el

apartado 4.6 para familias Españolas donde la actividad cotidiana en comparación con Europa

lleva dos horas de retraso.

En el artículo del periódico El País (Sánchez Sánchez, 2016) se muestra que los horarios

españoles son diferentes a los europeos y existe un retraso de 2 horas (por ejemplo al cenar

o ver la televisión). Sería interesante comprobar si en España se seguiría cumpliendo la

proporción de un 20% de hogares que realizan mayor consumo por la tarde-noche. Quizás en

España ese porcentaje sería mayor.

Futuro trabajo partiendo de la base de este TFM

Cómo ya se comentó en el capítulo estado del arte, el uso de modelos de auto regresión se

puede emplear junto a otros modelos estadísticos para mejorar la fiabilidad en los resultados

finales. Una mejora para continuar el trabajo realizado sería añadir el modelo SVR. Este

modelo está incluido en sckitlearn y podría incluirse en el desarrollo ya realizado en el entorno

anaconda.

Page 74: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 74

En el artículo de Medium (Bhattacharyya, 2018) se realiza un estudio corto sobre este modelo

usando la biblioteca sckitlearn. Este artículo puede servir como base para la futura

investigación ya que este trabajo usa esta biblioteca para trabajar con modelos estadísticos.

Otro modelo conocido que cuenta con su versión correspondiente en sckitlearn sería el

modelo pasivo agresivo. Existe buena documentación al respecto y se puede encontrar por

ejemplo en el artículo de (Wang & Vucetic, 2010, págs. 908-915). De manera más práctica

existe un artículo en la web que explica el funcionamiento de este modelo. (Warmerdam,

2017). Podría ser interesante ver cómo trabaja este modelo con las predicciones de consumo

energético.

Page 75: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 75

6. Bibliografía

Aguiar, R., & Collares-Pereira, M. (1992). TAG: A time-dependent, autoregressive, Gaussian

model for generating synthetic hourly radiation. En Solar Energy (Vol. 49 Issue 3, págs.

167-174).

Arnold, M., Milner, X., Write, H., Bauer, R., & Braun, C. (1998). IEEE Transactions on

Biomedical Engineering (Adaptive AR modeling of nonstationary time series by means

of Kalman filtering). IEEE.

Barron, J., & Zaveri, M. (13 de 07 de 2019). Ny Times. Obtenido de

https://www.nytimes.com/es/2019/07/13/apagon-nueva-york/

Bhattacharyya, I. (2018). Medium. Obtenido de https://medium.com/coinmonks/support-

vector-regression-or-svr-8eb3acf6d0ff

C. Müller, A., & Guido, S. (2016). Introduction to Machine Learning with Python. O'Reilly.

E. Brown, C. (1998). Coefficient of Variation. Applied Multivariate Statistics in Geohydrology

and Related Sciences.

Glen, S. (19 de 8 de 2015). statisticshowto.datasciencecentral. Obtenido de

https://www.statisticshowto.datasciencecentral.com/autoregressive-model/

Gray, C. (18 de Julio de 2018). The Alpha Scientist. Obtenido de

https://alphascientist.com/walk_forward_model_building.html

HAYES, A. (8 de 5 de 2019). Investopedia. Obtenido de

https://www.investopedia.com/terms/r/r-squared.asp

Hervé, A. (2010). Coefficient of Variation. Texas, EEUU. Obtenido de

http://www.utdallas.edu/~herve/abdi-cv2010-pretty.pdf

Kosmelj, K., & Batagelj, V. (1990). Cross-sectional approach for clustering time varying data.

Journal of classification, 7, 99-109.

Kumar, U., & Jainb, V. (Abril de 2010). Time series models (Grey-Markov, Grey Model with

rolling mechanism and singular spectrum analysis) to forecast energy consumption in

India. (ScienceDirect, Ed.) Energy, 35, 1709-1716.

La silla rota. (11 de 06 de 2018). Obtenido de https://lasillarota.com/ola-calor-luz-energia-

electrica/227741

Page 76: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 76

Mardini, W., Muneer, Y. B., & Barraq, A. G. (2014). Rotated Hybrid, Energy-Efficient and

Distributed (R-HEED). WSEAS Transactions on Communications, 13, 275-290.

Muhammad, S., Nanthakumar, L., Mohammad, Z., & Khalid, Z. (2015). Does renewable energy

consumption add in economic growth? An application of auto-regressive distributed lag

model in Pakistan. En Renewable and Sustainable Energy Reviews (Vol. 44, págs.

576-585). ScienceDirect.

Murray, D., Stankovic, L., & Stankovic, V. (2017). An electrical load measurements dataset of

United Kingdom households from a two-year longitudinal study. (S. Data, Ed.) Obtenido

de https://doi.org/10.1038/sdata.2016.122

Palachy, S. (2019). Towardsdatascience. Obtenido de

https://towardsdatascience.com/stationarity-in-time-series-analysis-90c94f27322

Pythonprogramming. (17 de Octubre de 2015). Pythonprogramming. Obtenido de

https://pythonprogramming.net/rolling-statistics-data-analysis-python-pandas-tutorial/

Ranjan, S. (s.f.). Geeksforgeeks. Obtenido de https://www.geeksforgeeks.org/python-pandas-

dataframe-rolling/

RODRÍGUEZ, E. M. (2005). Errores frecuentes en la interpretación del. En E. M.

RODRÍGUEZ, Anuario Jurídico y Económico Escurialense (págs. 315-332). Obtenido

de https://www.rcumariacristina.com/wp-content/uploads/2010/12/11-Elena-

Martinez_1.pdf

Sánchez Sánchez, M. (25 de 3 de 2016). El pais. Obtenido de

https://verne.elpais.com/verne/2016/03/18/articulo/1458309794_132930.html

W. Sammarco, P., Winter, A., & Stewart, J. (2006). Coefficient of variation of sea surface

temperature (SST) as an indicator of coral bleaching. Marine Biology, 149, 1337–1344.

Wang, Z., & Vucetic, S. (2010). Online Passive-Aggressive Algorithms on a Budget.

Proceedings of Machine Learning Research, 9, 908-915. Obtenido de

http://proceedings.mlr.press/v9/wang10b/wang10b.pdf

Warmerdam, V. (2017). Passive Agressive Algorithms. Obtenido de http://koaning.io/passive-

agressive-algorithms.html

Zangiacomi Martinez, E., Soares da Silva, E., & Dal Fabbro, A. (2011). A SARIMA forecasting

model to predict the number of cases of dengue in Campinas, State of São Paulo,

Page 77: Análisis del consumo energético por rangos horarios · Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón Análisis del Consumo energético por rangos horarios

Máster Universitario en Visual Analytics y Big Data Juan Pardo Palazón

Análisis del Consumo energético por rangos horarios 77

Brazil. Revista da Sociedade Brasileira de Medicina Tropical, 44(4). Obtenido de

http://dx.doi.org/10.1590/S0037-86822011000400007

Zhang, M. (23 de 10 de 2018). Obtenido de Time Series: Autoregressive models AR, MA,

ARMA, ARIMA: http://people.cs.pitt.edu/~milos/courses/cs3750/lectures/class16.pdf