14 de Junio de 2017 · 15 min de lectura
A lo largo de la historia, el análisis de la evolución en el comportamiento de distintos procesos basado en los registros de datos históricos para su posterior interpretación y con el fin de entender y predecir el comportamiento de éstos procesos, ha capturado la atención de científicos y expertos en distintas áreas de conocimiento. Esta forma de agrupar los datos de manera cronológica es lo que se define como series temporales. Formalmente podemos definir una serie temporal como: una secuencia de datos, observaciones o valores, medidos en determinados momentos y ordenados cronológicamente. Estos datos pueden estar espaciados a intervalos iguales (como la temperatura en un observatorio meteorológico en días sucesivos) o desiguales (como el peso de una persona en sucesivas mediciones en el consultorio médico, la farmacia, etc.)
Como nos narra el Prof. Daniel Peña en su libro (Peña, D. (2005) Análisis de series temporales, Alianza Editorial.), la metodología actual para analizar series temporales es, como suele suceder en el devenir de la construcción de conocimiento, la confluencia de varias líneas y aporte de trabajos desarrollados en distintos campos científicos. En éste sentido y en modo de resumen, el desarrollo de distintas técnica o métodos se pueden identificar históricamente en cinco campos de trabajo principales aunque no únicos:
El primero con raíces en el estudio de series climáticas y astronómicas, dando origen a la teoría de procesos estocásticos estacionarios desarrollados por Kolmogorov, Wiener y Cramer en la primera mitad del Siglo XX.
El segundo campo lo constituyen los llamados métodos de alisado, introducidos por investigadores en el desarrollo de procesos operativos para series de producción y venta en los años 60s y 70s.
En el tercero encontraríamos la teoría de predicción y control de sistemas lineales, desarrollada en ingeniería de control también en los 70s, y estimulada por el desarrollo de la ingeniería aeronáutica.
El cuarto es la teoría de procesos no estacionarios y sistemas no lineales, desarrollados por Estadísticos, Económetras y Físicos en los últimos años del siglo XX.
Finalmente, en el último campo podemos agrupar todos aquellos métodos multivariantes ( método estadístico utilizado para determinar la contribución de varios factores en un simple evento o resultado) y los métodos de reducción de dimensión en sistemas dinámicos y que aún se encuentran en fase de desarrollo.
Podemos entonces afirmar que los métodos disponibles en la actualidad, así como el desarrollo de nuevas técnicas, son el aporte de matemáticos, economistas, estadísticos, ingenieros, físicos y científicos de la computación durante el siglo XX para resolver problemas de predicción y control de variables y sistemas dinámicos.
Dentro de esté campo del análisis de series temporales, el equipo de Ciencias de Datos de APSL, viene desarrollando en los últimos meses herramientas y métodos para el análisis de series temporales dentro del contexto de la metodología multivariante y de procesos estocásticos mencionados anteriormente. Estamos implementando como métodos de análisis en series temporales, distintas técnicas o modelos conocidos como modelos auto-regresivos, así como el uso de Redes Neuronales Recurrentes (RNN), como herramienta de predicción en el estudio de series temporales. En particular, en este artículo vamos a presentar en un caso de estudio, el uso de redes neuronales recurrentes de tipo Long Short Term Memory (LSTM ) para el análisis y predicción de series temporales.
A continuación se describe el proceso que se realiza para el análisis del consumo eléctrico de la población de Sóller como caso de estudio real. El objetivo de este estudio es hacer una predicción o estimación futura aproximada del valor total para la demanda en el consumo eléctrico por hora, a partir de la información de la serie histórica del consumo eléctrico de los habitantes de Sóller en un periodo de tiempo determinado. Este análisis tiene como fin proporcionar una herramienta adicional en la toma de decisión, como por ejemplo para la contratación de la demanda de energía eléctrica.
Para este fin, se emplea una serie temporal donde se registra el consumo eléctrico de la población de Sóller que comprende el periodo de tiempo entre 02/11/2015, hasta el 01/01/2017. Estos datos son proporcionados por la compañía EL GAS S.A., ubicada en Sóller (Mallorca).
La metodología empleada se describe a continuación.
Análisis de la serie temporal: En esta etapa se dibuja la curva de comportamiento temporal del consumo eléctrico empleando los datos de la serie histórica facilitada por el grupo EL GAS S.A. de Sóller. A partir de esta curva, se analiza el comportamiento de consumo eléctrico por hora y mes a mes. También se analiza el variación de las condiciones meteorológicas como la temperatura y humedad para establecer correlaciones posibles entre el consumo eléctrico y variaciones en temperatura y humedad. Esta consideración de factores climáticos se enmarca dentro del procesos de análisis multivariante, debido a que dentro del análisis estamos considerando factores adicionales que pueden intervenir en el comportamiento de la serie
Implementación de redes neuronales para predicción de consumo eléctrico: En esta etapa, se emplean redes neuronales para la estimación a futuro de consumo eléctrico por hora, usando como parámetros de entrada para la predicción, el registro histórico del consumo eléctrico de periodos anteriores, así como el comportamiento histórico de las condiciones meteorológicas para un periodo de tiempo determinado. Para la tarea de predicción se emplean redes de tipo Long Short Term Memory (LSTMs), siendo éstas un caso especial de redes neuronales tradicionales. Este tipo de especial de redes neuronales son ampliamente utilizadas en problemas de predicción en series temporales debido a que su diseño permite recordar la información durante largos períodos y facilita la tarea de hacer estimaciones futura empleando períodos de registros históricos. A diferencia de las redes neuronales tradicionales, en lugar de poseer neuronas de manera clásica, las redes LSTM tienen como neuronas bloques de memoria que están conectados a través de capas. Estos bloques de memoria facilitan la tarea de recordar valores para largos o cortos períodos de tiempo, por lo tanto, el valor almacenado no es reemplazado (al menos a corto plazo) de forma iterativa en el tiempo, y el término de gradiente no tiende a desaparecer cuando se aplica la retro-propagación (back-propagation método de aprendizaje) durante el proceso de entrenamiento, tal y como acontece en e uso de las redes neuronales clásicas.
Predicción de consumo eléctrico: Corresponde a la etapa final del proyecto. Una vez entrenada la red neuronal LSTM, ésta se usa para la respectiva predicción. Se presenta los resultados finales así como notas y recomendaciones para mejorar la precisión de la predicción.
Es importante señalar que el objetivo de este artículo es mostrar en un caso de estudio real la posibilidad de éxito que muestra la implementación como metodología, el uso de redes neuronales LSTM como herramienta de apoyo en el análisis de series temporales, y no un desarrollo teórico exhaustivo de éste tipos de redes. En los siguientes enlaces http://colah.github.io/posts/2015-08-Understanding-LSTMs y https://deeplearning4j.org/lstm.html hay documentación que nos permitirá una mayor comprensión de las RNN y las LSTM.
En esta sección presentamos los resultados de las predicciones de consumo eléctrico para 15 días usando como método de análisis y predicción las redes neuronales recurrente LSTM. Cabe destacar que la precisión de la misma depende de la longitud y calidad de los datos históricos que se tengan. Los datos de la serie histórica son representados en la figura 1. En el panel superior de la figura 1, se ha dibujado la evolución histórica del consumo eléctrico desde el 02 de noviembre del 2015 hasta el 30 de Noviembre del 2016, es decir la serie histórica de un año. Esta serie es la que se usará como dato de entrada para la predicción de los siguientes 15 días, es decir, se pretende hacer una estimación de consumo del 01/12/2016 al 15/12/2016.
Fig. 1. Panel superior: Serie temporal del consumo eléctrico en Kwh. Cada registro corresponde a la suma total del consumo eléctrico de todos los usuarios registrados. Panel inferior: Serie temporal de la temperatura en grados Celsius. Periodo de tiempo 02/11/2015- 30/11/2016.
En el panel inferior de la figura 1, para el mismo periodo tiempo analizado en el consumo eléctrico, se ha dibujado la serie histórica del valor la temperatura por hora. Como se puede observar, hemos tomado en consideración los efectos meteorológicos como variable de análisis en la predicción, ya que de la figura 1 se puede inferir que la variable temperatura afecta el comportamiento en la demanda de energía eléctrica como era de esperar. Se observa que para periodos de temperatura baja, la demanda en consumo aumenta. También se puede verificar que la demanda de energía eléctrica aumenta cuando los periodos de temperatura son altas. Estos comportamientos nos permiten determinar la existencia de una dependencia entre la demanda eléctrica y la temperatura (considerada como factor externo que modifica el comportamiento de la serie en el consumo eléctrico).
Para enfatizar esta dependencia entre ambas series, en la figura 2 dibujamos la serie histórica de la temperatura y la del consumo eléctrico del mes de diciembre del 2015, y las del mes de diciembre del 2016. Estas curvas las hemos superpuesto para hacer un análisis comparativo de ambas series. Observando el panel inferior de la figura 2 en donde se analiza la superposición de las dos series en el consumo eléctrico, se percibe claramente que la forma de la curva en las series sigue un patrón similar, sin embargo es preciso señalar que los valores en cierto tramos de la serie no coinciden.
Estas discrepancias entre los valores en ambas series se pueden atribuir a un factor externo que altera el comportamiento de los usuarios de la red eléctrica, y en consecuencia se observa éste cambio de comportamiento de un año a otro (no en la forma de la curva sino en los valores de la serie). Este factor externo se puede asociar a influencias meteorológicas, en particular asociado a la temperatura. Esta conclusión se obtiene al observar que en el panel superior de la figura 2, a diferencia de lo que ocurría en del caso en el consumo eléctrico, el comportamiento ambas series en la temperatura no siguen un mismo patrón regular. Aunque se pueda observar cierta correlación entre las series de las temperaturas, la forma de las curvas y sus valores muestran mayor diferencia que en el caso de la serie del consumo, lo que explica que aunque el comportamiento en el consumo total tiene la misma forma (ver panel inferior figura 2),el valor del consumo de un año con respecto al otro, se aprecian ciertas diferencias.
Este análisis nos lleva a considerar que para hacer la predicción del consumo eléctrico basado en comportamientos anteriores, se ha de tomar en cuenta como datos de entrada, la serie histórica en el consumo eléctrico y la Temperatura como factor externo.
Fig. 2. Panel superior: Comparación de las series temporales de la temperatura en grados Celsius del mes de diciembre del 2015 (curva roja) y diciembre del 2016 (curva azul). Panel inferior: Comparación de las series temporales del consumo eléctrico en Kwh. del mes de diciembre del 2015 (curva roja) y diciembre del 2016 (curva azul).
Para el análisis y predicción de la demanda eléctrica, implementamos una red neuronal recurrente (RNN) de tipo LSTM. Hemos empleado una RNN-LSTM con 5 capas de neuronas, distribuidas de la siguiente manera: una capa de entrada, una capa de salida y tres capas internas de 8 nodos c/u. En la capa de entrada, el número de neuronas será igual al número de datos históricos de la serie a considerar para la predicción (comúnmente llamado look-back
), mientras que la capa de salida sólo tendrá una neurona ya que tendremos un único valor de salida correspondiente a la predicción en la secuencia de la serie.
Para la implementación de la LSTM, hemos usado el framework de deep learning Keras, el cual proporciona herramientas para construcción y entrenamiento de redes neuronales a alto nivel permitiéndo usar como backend herramientas como TensorFlow, CNTK o Theano. Keras se basa en la simplicidad, tiene estructura modular y permite programar una red neuronal con muy pocas lineas de código, siendo así versátil y de fácil uso. Keras cuenta varios algoritmos de aprendizaje así como las funciones de activación y evaluación para los modelos programados.
Para el entrenamiento de la RNN-LSTM hemos introducido como parámetros de entrada la serie histórica de consumo eléctrico de un año y la serie histórica del valor de la temperatura para el mismo periodo de tiempo. La red se ha configurado para que use una memoria con datos de las últimas 36 horas ( look-back
) de la series (consumo y temperatura) para la predicción de la siguiente hora en el consumo eléctrico.
El proceso de predicción del modelo itera de la siguiente manera: Una vez entrenada la red, ésta tomará como parámetro de entrada (Input) la serie histórica en el consumo eléctrico y la temperatura, devolviendo como salida (Output) la predicción de consumo para la siguiente hora. Para ello de los N registros de la serie, se toman los últimos n valores (look-back
), que en nuestro caso el look-back = 36
, y se predice el siguiente valor, S1. Este nuevo dato S1, se añade a la serie histórica en el consumo eléctrico, el cual ahora tendrá N datos, más uno nuevo (S1 consumo estimado), y que se utilizará para la estimación de un nuevo valor S2 para la siguiente hora. En el procesos de predicción de consumo S2 para la siguiente hora, se utilizan como parámetros de entrada, la serie histórica de consumo N = N + S1 y la serie histórica de la temperatura, en donde a ésta (serie Temperatura) se le añade la previsión meteorológica correspondiente. Es importante señalar que, de la serie que se analiza para el proceso de predicción, sólo se tomarán los últimos look-back
registros de la serie nueva generada. Este proceso de iteración se repite hasta alcanzar el número de horas a estimar en el consumo de la demanda eléctrica.
Es importante resaltar, que el modelo no predice la temperatura a futuro, este dato se obtiene de las predicciones meteorológicas de agencias oficiales.
La figura 3 muestra una comparación entre los valores estimados por el modelo construido con la red neuronal y los datos reales. Se puede observar que la predicción hecha por el modelo proporciona una serie que presenta un ajuste bastante cercano a los datos reales. La discrepancia entre los valores obtenidos por el modelo y los reales, está relacionado a que la longitud de la serie de datos usados para el entrenamiento es muy corta, y por tanto ciertos comportamientos estacionales no son capturados por la LSTM, en consecuencia durante el procesos de entrenamiento el modelo no toma en cuenta estos patrones estacionales de largo plazo provocando acumulación de errores durante el proceso de predicción.
Fig. 3. Serie temporal del consumo eléctrico. Línea azul corresponde a los datos reales. Línea roja corresponde a la predicción del modelo RNN-LSTM.
En la figura 4 hemos dibujado la serie real y la predicción hecha por el modelo con su intervalo de confianza del (93%). En esta figura, hemos tomado un rango de tiempo de 4 días para mostrar con más detalles de la capacidad de predicción del modelo con respecto a los datos reales. Se puede observar como la curva de datos reales están dentro del intervalo de confianza de la predicción del modelo.
Fig. 4. Serie temporal del consumo eléctrico. Línea azul corresponde a los datos reales. Línea roja corresponde a la predicción del modelo RNN-LSTMs. Las líneas punteadas corresponden al intervalo de confianza del modelo.
Con el fin de probar la robustez del método propuesto en éste artículo, hemos considerado un segundo caso de estudio. Ahora se analiza la serie del consumo eléctrico en la Isla de Tenerife, datos obtenidos de la web de la red eléctrica española (http://www.ree.es). En esta ocasión hemos considerado una serie más larga. Para el análisis y predicción, la serie utilizada comprende un periodo de tiempo que va desde 1 de Enero del 2013 al 31 de Diciembre del 2016, y luego, hacemos una predicción de las siguientes 56 horas en el consumo. La figura 5 muestra la serie considerada para el análisis. En ella se puede observar claramente todos los ciclos estacionales en el consumo eléctrico así como los ciclos en los valores de temperatura. Esta serie a diferencia de la empleada en el caso estudiado anteriormente, provee más información a la LSTM, permitiendo así que la red pueda disminuir la incertidumbre en la predicción.
Fig. 5. Panel superior: Serie temporal del consumo eléctrico en Kwh. Cada registro corresponde a la suma total del consumo eléctrico de todos los Usuarios registrados. Panel inferior: Serie temporal de la temperatura en grados Celsius. Periodo de tiempo 01/01/2013 - 31/12/2016.
Utilizando la misma metodología que en el caso anterior, programamos la LSTM. Hemos empleado un look-back = 48
y conservado la misma estructura de la red ya utilizada en el análisis anterior. Un vez entrenada la red con la nueva serie, se realiza la predicción. En la figura 6 se muestran los resultados de la predicción para las siguientes 56 horas y las comparamos con los datos reales de consumo para esa misma fecha. Tal y como se observa en la figura, el modelo nos vuelve a dar una buena estimación de consumo. Se puede destacar que en este caso,
las predicción mejora con respecto al analizado anteriormente. Esto es debido a que la serie es más larga y por tanto la LTSM puede considerar más información (como ciclos estacionales) durante el proceso de entrenamiento, permitiendo una mejora en el proceso de predicción.
Fig. 6. Serie temporal del consumo eléctrico. Línea azul corresponde a los datos reales. Línea roja corresponde a la predicción del modelo RNN-LSTMs. Las líneas punteadas corresponden al intervalo de confianza del modelo.
En este artículo se describe como el grupo de Ciencias de Datos de APSL introduce el uso de redes neuronales recurrentes de tipo Long Short-Term Memory Network (LSTM) como herramienta para tratar problemas relacionados con el análisis y predicción de series temporales. En contraste con las técnicas tradicionales usadas para este fin, como los son los modelos de predicción auto-regresivos, entre otros, este enfoque no sólo incorpora como parámetro de análisis los datos de la evolución de su propia historia, sino que incluye también como parámetro de entrada para el análisis de la serie, el efecto de agentes o variables externas que tienen influencia en el comportamiento de la serie en estudio. Estas variables externas y sus efectos muchas veces no son consideradas en métodos tradicionales debido a la dificultad para incorporarlas al análisis.
Como casos de estudio y para demostrar el grado de éxito del método, hemos aplicado este enfoque al estudio del consumo eléctrico en la población de Sóller, (Mallorca), y el estudio del consumo eléctrico en la isla de Tenerife. El objetivo es mostrar cómo, con esta metodología se puede predecir el consumo eléctrico de las poblaciones con un grado de precisión que ronda el 93%. Para ambos casos, para el entrenamiento de la LSTM hemos introducido como parámetros de entrada la serie histórica de consumo eléctrico para un periodo de tiempo determinado y la serie histórica del valor de la temperatura como variable externa para el mismo periodo de tiempo.
Con respecto a la predicción, se concluye que el modelo de redes neuronales de tipo LSTMs genera una estimación de valores con una buena aproximación a los datos reales. Sin embargo cabe destacar que validez de la predicción está asociada, por un lado a la calidad de los datos así como el número de registros de la misma, y por otro, a la posibilidad de poder establecer con un alto grado precisión los efectos de las variables externas que se tomen en consideración.
Hemos de resaltar que la metodología propuesta en éste artículo ha sido aplicado al análisis de series temporales relacionada al consumo eléctrico, sin embargo éste método es aplicable al análisis de cualquier tipo de series temporales.
Finalmente es preciso señalar que con este estudio no se pretende invalidar otros métodos de análisis y predicción de serie temporales, sino por el contrario, el objetivo es proporcionar un nuevo enfoque que sirva como herramienta complementaria para tal fin.
Agradecimiento a los miembros de Eléctrica Sollerense y en especial a Joan Grande y Luis Juncosa Miró por su colaboración en el desarrollo de éste proyecto.
Autores:
J. C. González-Avella, J. M. Tudurí y G. Rul-lan