Título: Previsão do Fator de Potência via Redes Neurais Artificiais Recorrentes LSTM (Long Short Term Memory) na Plataforma IOT geniot PRO Industrial.
Autor: Fernando Simplicio

Introdução

O uso de métodos de aprendizado de máquinas para a previsão do comportamento de redes de energia elétrica vem sendo aplicados para previsão de consumo e análise de demanda. Este trabalho explora a utilização de redes LSTM (Long Short-Term Memory) para a previsão do fator de potência de uma rede de energia elétrica.

Objetivo

Este trabalho tem o objetivo apresentar o desenvolvimento de um projeto para previsão do fator de potência de uma rede de energia elétrica utilizando um modelo de rede neural recorrente LSTM (Long Short Term Memory) fazendo o uso de medidores de energia de baixo custo. Procura verificar se por meio do modelo LSTM é possível prever com exatidão os valores do fator de potência de uma rede elétrica.
Objetivos Específicos

Pretende-se por meio do modelo LSTM prever os valores do fator de potência a partir das 23hs de um determinado dia, treinamento a RNN com informações do fator de potência medidos entre as 17h30m e 22h59m do mesmo dia.

Justificativa

Muitas atividades associadas ao gerenciamento do consumo e distribuição da energia elétrica se beneficiam de previsões de eventos futuros. Por meio da previsão de curto e longo prazo dos valores do fator de potência de uma rede elétrica é possível definir os melhores períodos para ligar ou desligar os bancos de capacitores de uma rede elétrica, aumentando assim a eficiência da rede elétrica no geral e possivelmente reduzindo custos.

Devido à natureza do tema e aos poucos trabalhos de pesquisas encontrados, acredita-se que seja necessário o desenvolvimento de um trabalho de fácil entendimento e reprodutibilidade sobre LSTM aplicada para a previsão do fator de potência de uma rede de energia elétrica

Organização do post

O Capítulo 1 apresenta um resumo sobre as Redes Neurais Recorrentes (RNN).
O Capítulo 2 apresenta os ensaios práticos e experimentais que foram realizados.
A descrição do modelo RNN utilizado é apresentada no Capítulo 3. Os resultados das simulações com a LSTM são comentados neste capítulo.
O Capítulo 4 traz as conclusões inferidas a partir dos resultados obtidos por meio das simulações com a LSTM.

Capítulo 1
As Redes Neurais Recorrente (RNN)

As Redes Neurais Recorrente (RNN) possuem em suas camadas ocultas uma ligação para ela mesma, que além de transportar o resultado da função de ativação para os neurônios subsequentes (das próximas camadas), ele transmite os dados para ele mesmo, resultando em um loop.
A figura 1 apresenta uma RNN contendo camadas escondidas, dos quais, em cada camada escondida foi representada por 4 neurônios.


Figura 1 – RNN contendo 4 neurônios em cada camada escondida.

A figura 2 apresenta uma RNN, onde ht define o número de vezes de células de memória.


Figura 2 – Rede RNN LSTM (Long Short-Term Memory)

Nas RNN a representação de um único nó é composta por camadas que podem conter vários neurônios. A camada escondida é conectada a ela mesma, mandando uma resposta para frente e também se realimentando.

Para realizar o treinamento das redes neurais recorrentes, usualmente é aplicado o algoritmo Backpropagation, desenrolando a RNN para termos uma rede neural padrão, de acordo com o número de unidades Xt conforme apresentada na figura 2. Por fim, nas RNN, os pesos são compartilhados, a memória é rápida, curta e lembra o que aconteceu apenas nas últimas interações.

Para encontrar o valor do erro mínimo global (descida do gradiente), a cada interação com a rede, o algoritmo Backpropagation multiplica o valor do peso atual pela taxa de aprendizagem definida na RNN e atualiza os pesos.

Em redes RNN com milhares de camadas os valores dos pesos podem ficar tão pequenos que acabam não alterando os resultados. Esse fato resulta em um problema chamado “Vanish Gradient”. Existem algoritmos como o Backpropagation Through Time (BPTT) e o Xavier Initialization que contornam este problema.

Outro problema que pode acontecer com a RNN é o valor dos pesos se tornarem muito grande a ponto de não encontrar o valor do erro mínimo global. Uma das técnicas aplicadas para evitar este problema é não visitar todas as camadas oculta, porém esta técnica pode comprometer a aprendizagem da RNN.

Outra técnica para evitar o problema com o valor dos pesos é utilizar o otimizador RMSProp, do qual divide a taxa de aprendizagem por uma média exponencialmente decrescente do quadrado do gradiente.
As RNN do tipo LSTM são utilizadas para previsão futura com base nas informações do passado, adicionando células de memória na rede neural e manipulando essas células.

Problemas: As RNN acabam realizando a cópia de múltiplas redes neurais, condição que torna o algoritmo mais lento.

Capítulo 2
Ensaios Experimentais

Para realizar o experimento inicialmente foram escolhidos os seguintes hardwares:

1. – Kit ESP-WROOM-32.
2. – Medidor de Energia DDS238-4 W.
3. – Conversor Serial (TTL) para RS485 (Click RS485).
4. – Computador Windows 8 Core 7 8G RAM.

O ESP-WROOM-32 é um kit educacional e de baixo custo composto por um microcontrolador ESP32 de 32 bits dual core e fabricado pela empresa Espressif. A escolha da utilização deste kit foi motivada pelo fato de suportar a utilização do sistema operacional de tempo real FreeRTOS, do qual possui diversas ferramentas importantes para o desenvolvimento da aplicação, e por permitir conexão com outros dispositivos por meio de uma rede WiFi.

O medidor de energia DDS238-4 W opera na classe 1 conforme a norma IEC62053-21 e permite a medição de diversos parâmetros de uma rede elétrica monofásica, dentre eles a energia total (somatória da energia consumida/importada com a energia gerada/exportada), tensão, corrente e fator de potência da rede elétrica, além de apresentar os valores das medidas da potência ativa e reativa e a frequência da rede elétrica.

A figura 3 apresenta o medidor de energia, o conversor RS485 e o microcontrolador ESP32 utilizado nos ensaios experimental.


Figura 3 – Hardwares Utilizados nos Ensaios Experimentais.

Todas as medições feitas pelo medidor de energia podem ser lidas por meio de um canal de comunicação RS485 via o protocolo Modbus RTU, condição que favorece a conexão deste equipamento em uma rede industrial e a um supervisório Scada.

O DDS238-4 W opera em redes monofásicas de 120V a 240V de 50 ou 60 Hz e suporta corrente máxima de 60 a 100 Amperes, dependendo da tensão da rede elétrica escolhida;

Para interligar o ESP-WROOM-32 ao medidor de energia DDS238-4 W foi utilizando um módulo conversor serial para o padrão RS485 fabricado pela empresa MikroElektronika.

O programa desenvolvido para o microcontrolador ESP32 é responsável em ler os valores das medições realizadas pelo medidor de energia por meio de uma rede cabeada RS485 utilizando o protocolo Modbus RTU. A figura 4 apresenta o fluxograma simplificado do programa carregado no ESP32.


Figura 4 – Fluxograma simplificado do programa do ESP32.

Os valores das medidas (energia total, energia importada, energia exportada, tensão, corrente, potência ativa, potência reativa, fator de potência e frequência da rede) são lidos pelo ESP32, armazenados em memória e futuramente enviados via protocolo MQTT para um servidor na nuvem contendo uma plataforma de internet das coisas responsável em receber e armazenar das medidas em banco de dados.

A figura 5 apresenta os valores das medidas do medidor de energia enviado pelo ESP32 para a plataforma de internet das coisas geniot PRO Industrial.


Figura 5 – Dados capturados, armazenados em banco de dados e apresentado pela internet pela plataforma de internet das coisas geniot PRO Industrial.

Assim, estando as medidas armazenadas em um banco de dados na nuvem é possível aplicar acompanhar pela internet as previsões e análises da RNN

Simulações com a LSTM

Para realizar as simulações da LSTM, foi utilizado o Python 3.6 em conjunto com a biblioteca de redes neurais Keras, a biblioteca de estruturação dos dados Pandas, Matplotlib para a construção de gráficos, Scikit-learn para regressão linear e normalização dos dados e a biblioteca matemática e de estrutura de vetores NumPy. Todos os softwares são de uso livre e de código aberto encontrados em 05 de dezembro de 2018 no repositório Python Package Index (PyPI).

A figura 6 apresenta de maneira simplificada o fluxograma do programa da rede LSTM.


Figura 6 – Fluxograma simplificado do programa da RNN (LSTM).

Após incluir as bibliotecas Keras, Sklean, Numpy, Pandas e Matplotlib no programa, foram carregadas as bases de dados para treinamento da RNN. Desta base de dados foram extraídos o campo fator de potência e seus valores foram normatizados na escala de 0 a 1. Para iniciar o treinamento da primeira amostra foram carregados os valores das últimas 90 medidas desta base de dados.

Em seguida, foram adicionadas as camadas de rede LSTM contendo 100 unidades de memória, pois o valor da unidade preferencialmente tem que ser grande para que seja capturado a tendência. Na programação da LSTM foi mantido a configuração “return_sequences = True” para que a unidade de memória possa passar informações para as outras camadas subsequentes. E assim, a primeira camada do LSTM está pronta.

Para evitar problemas de ovefitting da RNN, o regressor foi configurado com valor 0.3 que zera 30% das entradas.
Foram adicionadas três camadas ocultas, pois uma rede neural com poucas camadas pode não encontrar um resultado (taxa de erro) satisfatório. A seguir foi definida a camada de saída, e por consequência, a última camada oculta vai estar ligada a essa camada de saída. Como há uma única saída (Fator de Potência), haverá apenas uma unidade de memória na saída.

Após o treinamento da RNN, são feitas as previsões de 200 medições do fator de potência a partir das 23hs. As previsões da RNN são comparadas com as medidas feitas em campo para o mesmo horário das 23hs.

Inicialmente foram armazenadas em banco de dados 3672 medidas do fator de potência. A primeira amostra foi feita em 05/12/2018 17:29 e a última em 05/12/2018 23:18, resultando em uma amostragem a cada 10 segundos aproximadamente.

A base total com as medidas foi dividida em duas partes, sendo a primeira parte responsável pela base de treinamento, composta por 3472 medidas do fator de potência e a segunda parte, responsável pelo teste do modelo da RNN LSTM, composta por 200 registros.

A base de dados de treinamento foi normalizada para fatores entre 0 e 1 e em seguida e, para iniciar o treinamento da RNN foram garantidas 90 medidas iniciais.

O treinamento da RNN demorou certa de 21 minutos para ser finalizado e resultou em uma taxa de erro de 0.0037 com taxa de erro médio e absoluto de 0.0446. Isso significa que o modelo de RNN consegui prever os valores do fator de potência para no intervalo das 23hs com precisão de 99,63%.

A figura 7 apresenta o resultado da simulação com a RNN com os valores do fator de potência medidos pelo medidor de energia e enviadas para a plataforma de internet das coisas geniot PRO Industrial via WiFi pelo ESP32 (linha “Med. Real”), e mostra a curva com as previsões calculadas e previstas pela RNN.


Figura 7 – Gráfico contendo a curva das medições feitas do fator de potência pelo medidor de energia e a curva com as previsões do fator de potência calculados pela RNN para as 23hs.

Conclusão

O modelo RNN LSTM mostrou ser de grande utilidade para previsão do fator de potência, visto que nos ensaios realizados a RNN respondeu com 99,63% de acerto.

Referências

PEREZ, K. et al. Meters to models: Using smart meter data to predict and control home energy use. In: ACEEE 2014 Summer Study on Energy Efficiency in Buildings. 2014.

CHOI, Keunwoo; FAZEKAS, George; SANDLER, Mark. Text-based LSTM networks for automatic music composition. arXiv preprint arXiv:1604.05358, 2016.

LIU, Yang et al. Learning natural language inference using bidirectional LSTM model and inner-attention. arXiv preprint arXiv:1605.09090, 2016.

WILLIAMS, Jason D.; ZWEIG, Geoffrey. End-to-end lstm-based dialog control optimized with supervised and reinforcement learning. arXiv preprint arXiv:1606.01269, 2016.

WANG, Yi et al. Review of smart meter data analytics: Applications, methodologies, and challenges. IEEE Transactions on Smart Grid, 2018.

ZHENG, Jian et al. Electric load forecasting in smart grids using long-short-term-memory based recurrent neural network. In: Information Sciences and Systems (CISS), 2017 51st Annual Conference on. IEEE, 2017. p. 1-6.

SHI, Heng; XU, Minghao; LI, Ran. Deep learning for household load forecasting—A novel pooling deep RNN. IEEE Transactions on Smart Grid, v. 9, n. 5, p. 5271-5280, 2018.

ZUFFEREY, Thierry et al. Forecasting of smart meter time series based on neural networks. In: International Workshop on Data Analytics for Renewable Energy Integration. Springer, Cham, 2016. p. 10-21.

KONG, Weicong et al. Short-term residential load forecasting based on LSTM recurrent neural network. IEEE Transactions on Smart Grid, 2017.

MARINO, Daniel L.; AMARASINGHE, Kasun; MANIC, Milos. Building energy load forecasting using deep neural networks. In: Industrial Electronics Society, IECON 2016-42nd Annual Conference of the IEEE. IEEE, 2016. p. 7046-7051.

Mini-Curso Grátis - Internet das Coisas com ESP32 e FreeRTOS (SDK-IDF)
Inscreva-se e receba 7 aulas em vídeo sobre o ESP32 com SDK-IDF (Programação C/C++ Nativa)
Categories: Internet of Things

Leave a Reply

Your email address will not be published. Required fields are marked *

Bitnami