UTILIZAÇÃO DE REDES NEURAIS ARTIFICIAIS EM PREVISÃO DE CARGA ELÉTRICA. Ednei Leite de Araújo1 Resumo: Conhecer o comportamento da carga apresenta importância fundamental na tomada de decisão em sistemas de potência. Este comportamento é influenciado de maneira complexa, e muitas vezes não-linear, por uma série de fatores exógenos, como horário, dia da semana, temperatura, dentre outras. Esta questão constitui um obstáculo à aplicação de técnicas clássicas, ao problema de previsão de carga. Neste contexto, este trabalho consiste no desenvolvimento de metodologias automáticas e integradas para seleção de entradas e regularização de modelos neurais de previsão de carga. Estas metodologias foram testadas utilizando as séries de dados horários de carga da COPEL. Através da análise dos resultados dos testes observou-se que existe a presença de sazonalidade e a precisão da série prevista foi satisfatória, ou seja, acompanha o comportamento da série realizada. Antes de iniciar o treinamento e validação do modelo foi preciso adquirir certa familiaridade com os conceitos de séries temporais e redes neurais e principalmente identificar a relação entre estes conceitos para afirmar quando o modelo validado obteve ou não um bom desempenho. Palavras - chave: sistemas elétricos de potência, identificação de sistemas, redes neurais artificiais. Introdução A previsão de carga apresenta importância vital para a operação e o planejamento confiável, seguro e econômico de sistemas de potência. Em função disso, esta área de estudo vem adquirindo maior interesse por parte da comunidade científica ao longo dos anos, principalmente após o advento da competição nos mercados de energia. Neste novo cenário, os agentes integrantes destes mercados devem operar em regime de máxima eficiência, com a 1 Graduando do curso de Matemática da Universidade Federal do Paraná e bolsista do programa LACTEC PIBITI/ CNPq. [email protected] 428 minimização dos custos operacionais e a correta avaliação do aporte de recursos financeiros para expansão dos sistemas contribuindo sobremaneira para o alcance desta condição. Tendo em vista o impacto técnico e econômico da previsão de carga, vários modelos vêm sendo propostos para abordagem deste problema ao longo das últimas quatro décadas. Entretanto, de uma maneira geral estas propostas requerem intervenção constante de especialistas na modelagem, no que tange tanto à seleção da estrutura quanto das variáveis de entrada dos modelos. Neste contexto, o desenvolvimento de sistemas neurais de previsão de carga para níveis inferiores em sistemas de potência, como previsão por barramento, fica comprometido, visto que seria necessária a análise individual, por parte de especialistas, de cada barra do sistema em estudo. Existem propostas de modelos neurais para previsão por barramento, entretanto estas metodologias definem um modelo fixo, incluindo conjunto de entradas e estrutura utilizada, para tratamento de todas as barras. Diante das características específicas de cada barra, que podem atender diferentes tipos de consumidores em diversos níveis de carregamento, esta abordagem não é a mais indicada, visto que dinâmicas não contempladas no processo de definição do modelo podem não ser modeladas. Em outras palavras, entradas significativas para modelagem de uma dada barra podem ser irrelevantes para outras, com o mesmo valendo para estruturas, visto que dinâmicas complexas necessitam de modelos mais flexíveis, ao contrário de séries com comportamentos mais suaves. No caso brasileiro, a previsão por barramento é uma necessidade, visto que o Operador Nacional do Sistema Elétrico (ONS) determina que os agentes de distribuição devam fornecer previsões de potência ativa e reativa, por barramento da Rede de Simulação, para um horizonte mínimo de sete meses, podendo chegar a até quatro anos, em base mensal (FERREIRA, V.H, 2008), com incidência de multas e penalidades associadas à precisão das previsões fornecidas. O número elevado de barramentos para um dado agente, que pode variar desde dezenas até centenas de unidades, inviabiliza o estudo individualizado de cada barra para fins de previsão. Desta forma, é necessário o desenvolvimento de modelos autônomos para previsão de carga, que abdiquem da intervenção constante de especialistas ao longo do seu desenvolvimento, possibilitando assim a abordagem de diversas séries históricas simultaneamente. Tais modelos devem incluir metodologias automáticas para seleção de variáveis de entrada e controle de complexidade da estrutura estimada, evitando assim o ajuste excessivo dos dados de treinamento e dando origem a modelos com elevada capacidade de generalização, ou seja, desempenho satisfatório para novos dados. 429 Previsores neurais autônomos, incluindo procedimentos automáticos para seleção de entradas, regularização e definição da estrutura, foram propostos recentemente para previsão de carga (FERREIRA, V.H, 2008), (Morettin, P.A.; Toloi, C.M.C. 2004). Entretanto, estas metodologias requerem a definição de um conjunto inicial de entradas a partir do qual são selecionadas aquelas mais relevantes, como também da partição do conjunto de treinamento utilizada. Tendo em mente a automatização do processo de desenvolvimento de previsores neurais de carga, são necessárias técnicas para definição do conjunto inicial de entradas e agrupamento automático da base de dados disponível, que junto com as propostas apresentadas em (FERREIRA, V.H, 2008), (Morettin, P.A.; Toloi, C.M.C. 2004) darão origem a um método para identificação automática não-linear de sistemas baseada em modelos neurais. Assim, neste trabalho foram pesquisadas técnicas baseadas na teoria do caos e na teoria da informação visando obter uma metodologia para seleção do conjunto inicial de entradas. Na seção seguinte abordaremos a teoria envolvida neste processo de previsão de carga. Referencial teórico Buscou-se inicialmente dentre os trabalhos já realizados nesta área, quais metodologias poderiam ser (re) utilizadas para solucionar o problema de previsão de carga. Utilizamos Séries temporais e Redes Neurais porque estas técnicas se complementam quando deixamos de lado a análise clássica das séries temporais e utilizamos um previsor neural para obtermos os valores futuros da série temporal de carga. Séries Temporais Série temporal pode ser definida como um conjunto de observações feitas seqüencialmente ao longo do tempo. A característica mais importante deste tipo de dados é que, as observações vizinhas são dependentes e estamos interessados em analisar e modelar esta dependência. Enquanto nos modelos de análise de regressão, por exemplo, a ordem das observações é irrelevante para a análise, em séries temporais a ordem dos dados é crucial. Dados de séries temporais surgem em vários campos do conhecimento como neste trabalho (dados de carga por barramento). Algumas características são particulares a este tipo de dados, por exemplo, • Observações correlacionadas são mais difíceis de analisar e requerem técnicas específicas. 430 • Precisamos levar em conta a ordem temporal das observações. • Fatores complicadores como presença de tendências e variação sazonal ou cíclica podem ser difíceis de estimar ou remover. • A seleção de modelos pode ser bastante complicada • É mais difícil de lidar com observações perdidas e dados discrepantes devido à natureza seqüencial. Uma série temporal é dita ser contínua quando as observações são feitas continuamente a série temporal será denotada por no tempo. Definindo o conjunto . Uma série temporal é dita ser discreta quando as observações são feitas em tempos específicos, geralmente equiespaçados. Definindo o conjunto temporal será denotada por , a série . Em algumas situações o objetivo pode ser fazer previsões de valores futuros enquanto em outras a estrutura da série ou sua relação com outras séries pode ser o interesse principal. De um modo geral, os principais objetivos em se estudar séries temporais podem ser os seguintes: • Investigar e explicar o mecanismo gerador da série temporal; por exemplo, analisando uma série de alturas de ondas, podemos querer saber como estas ondas foram geradas; • Fazer previsões de valores futuros da série temporal; estas podem ser a curto prazo, como para séries de vendas, produção e estoque, ou a longo prazo, como para séries populacionais, de produtividade etc.; • Predição: predizer valores futuros com base em valores passados. Aqui se assume que o futuro envolve incerteza, ou seja, as previsões não são perfeitas. Porém devemos tentar reduzir os erros de previsão. • Controle. Os valores da série temporal medem a “qualidade” de um processo de manufatura e o objetivo é o controle do processo. Para todos os casos, modelos probabilísticos ou modelos estocásticos são construídos, no domínio temporal ou de freqüências. Estes modelos geralmente são simples e parcimoniosos (o número de parâmetros deve ser o menor possível), pois sua utilização não deve apresentar dificuldades às pessoas interessadas em manipulá-los. Uma descrição mais sucinta sobre análise clássica de séries temporais é apresentada em (Morettin, P.A.; Toloi, C.M.C. 2004) . 431 Redes Neurais As redes neurais (RNs) ou redes neurais artificiais são sistemas paralelos e distribuídos, compostos por unidades de processamento simples (neurônios), que podem mapear funções matemáticas não-lineares. Tais unidades são dispostas em uma (ou mais) camada(s), interligadas por conexões. Na maioria dos modelos, estas conexões estão associadas a pesos, os quais armazenam o conhecimento representado no modelo e servem para ponderar a entrada recebida por cada neurônio da rede. O funcionamento destas redes é inspirado em uma estrutura física concebida pela natureza: o cérebro humano. Os fundamentos das redes neurais artificiais são inspirados em sistemas neurais biológicos, com intenção de simular, mesmo que rudimentarmente, a forma como o cérebro aprende, recorda e processa as informações. Entre as características que melhor explanam o potencial das redes neurais sobressaem-se a adaptabilidade, paralelismo inerente, multidisciplinaridade e tolerância à falhas. As primeiras RNs foram desenvolvidas em meados de 1940, baseadas no conhecimento sobre a arquitetura do cérebro humano, por Warren McCulloch e Walter Pitts, os quais são considerados os inventores do modelo de uma RN. No final da década de 40, o biólogo Donald Hebb propôs um princípio de aprendizagem, que mais tarde foi nomeado de rede de Hebb. Por volta de 1950 e 1960, cresceu o interesse nas RNs, dando origem a um grande número de modelos. Frank Rosenblatt criou o modelo neural Perceptron de uma única camada, e introduziu o conceito de aprendizado em RNs. No mesmo período, Bernard Widrow desenvolveu um modelo linear que foi denominado de ADALINE. Posteriormente, tal modelo foi generalizado para várias camadas passando a ser denominado de MADALINE. A maioria dos modelos de RNs atualmente utilizados foram inventados nestes anos. A principal contribuição para estes modelos foi realizada pela área da psicologia. Em 1970 esta pesquisa foi deixada de lado. O desenvolvimento das RNs não conduziu a uma revolução no entendimento do cérebro humano ou na própria inteligência artificial. A ausência de algoritmos de otimização e a falta de aplicações reais conduziram a descrença nas RNs. Widrow e Hoff introduziram o modelo de RNs na engenharia elétrica. Algumas abordagens de RNs iniciaram-se em 1970, mas obtiveram sucesso em 1980. Foram escritos vários trabalhos sobre matemática e biologia, e em 1980 apareceram trabalhos sobre algoritmos de aprendizado, novas topologias de rede e aproximadores universais de RNs. Foram inventadas as redes de Hopfield e Neocognitron, e a máquina de Boltzmann e vários 432 outros trabalhos foram realizados na área de combinação de RNs com funções de base radial. E em 1987, ocorreu a primeira conferência na área de RNs, organizada pela IEEE composta por mais de 200 pesquisadores. Entre as aplicações usuais de RNs têm-se: reconhecimento e classificação de padrões, agrupamento (clustering), previsão de séries temporais, aproximação de funções, predição, otimização, setor militar (processamento de sinais para identificação de alvos e análise de imagens), sistemas especialistas, processamento de sinais (imagens, sensores, voz, caracteres, visão, compressão de dados, filtragem de sinais), telecomunicações, manufatura, monitoramento de processos e robótica. No caso deste trabalho, aplicaremos redes neurais para obtermos previsões de séries temporais de carga elétrica. No referencial (FILHO, S. L. CEQUINEL) encontra-se uma abordagem mais detalhada sobre teoria e aplicações de Redes Neurais. Materiais e métodos Neste capítulo serão apresentadas três, das quatorze séries de dados e a metodologia aplicada para validação do modelo proposto. Os dados horários de carga foram cedidos e coletados pela concessionária no período entre 08/2005 e 11/2008 nas cidades de Andirá, Apucarana, Arapongas, Bandeirantes, Londrina e Siqueira campos, totalizando 14 séries de dados. As informações fornecidas pela concessionária apresentam o seguinte cabeçalho: Ano (4 números) Mês (2 números) Dia (2 números) Hora (2 números) e as informações de dia não são relevantes, mas sim de dia da semana. A seguir, tem – se as séries de dados divididas em casos e representadas graficamente. Para auxiliar na compreensão estas séries estão denominadas como casos de 1 a 14. Observe que na maioria dos casos encontramos dados faltantes ou negativos e fenômenos que serão refletidos nos resultados. Figura 1 – Série de dados no período entre 08/2005 e 11/2008 no barramento P13, na cidade de Andirá 433 Figura 2 – Série de dados no período entre 08/2005 e 11/2008 no barramento P213, na cidade de Arapongas Figura 3 – Série de dados no período entre 08/2005 e 11/2008 no barramento P34, na cidade de Londrina Desde modo, cada série apresentada possui uma abundância de dados e se toda a base de dados cobrindo o período de 08/2005 a 11/2009 for utilizada pode elevar decisivamente os custos computacionais dos algoritmos de treinamento. Além disso, a utilização indevida de dados históricos muito antigos pode comprometer a capacidade de generalização do modelo, visto que tais dados podem representar comportamentos distintos do atual. Desta forma, para previsão da curva de carga, serão considerados somente os dados dos últimos quatro meses. Alguns procedimentos foram desenvolvidos com o intuito de englobar todas as características das séries de dados apresentadas acima, por exemplo: • Confirmar a existência de 24 registros por dia, mesmo com valores nulos de carga. Esta situação se faz necessária visto que algumas séries fornecidas pela concessionária apresentaram alguns dias com menos que 24 registros. 434 • Substituir dados discrepantes pelos respectivos valores médios calculados considerando as sazonalidades envolvidas na curva de carga em base horária, ou seja, diária, semanal e mensal (estações do ano). Neste sentido, para identificação dos dados discrepantes, inicialmente será retirada a eventual tendência linear de crescimento existente na serie por meio de um modelo de regressão linear temporal. Em seguida, será aplicado um filtro gaussiano, cujas estatísticas (media e desvio padrão) serão calculadas considerando agrupamentos de dados segundo as sazonalidades acima descritas. Por exemplo, serão calculadas estatísticas para a primeira hora das segundas-feiras de janeiro, as quais serão utilizadas para detecção e suavização de dados discrepantes. • Verificação da coerência dos dados, ou seja, se existem sempre 24 registros por dia. • Filtragem dos dados faltantes. Será utilizado um filtro gaussiano considerando media e desvio padrão calculados para cada hora, de cada dia de cada mês. Assim, e necessário o processamento das informações de data. Testes e resultados As bases de dados descritas anteriormente foram utilizadas para teste das metodologias propostas neste trabalho. Para melhor compreensão apresentaremos neste capítulo os valores das previsões comparados com os valores realizados e o cálculo de erros. Na figura 4 temos o Caso 1 representado pelo gráfico do valor previsto comparado com o valor realizado. Observe que existe a presença de sazonalidade e o comportamento da série prevista é de certo modo regular, ou seja, acompanha o comportamento da série realizada. Figura 4 – Comparação entre valores realizados e os valores previstos 168 passos à frente para o Caso 1. 435 Figura 5 – Comparação entre valores realizados e os valores previstos 168 passos à frente para o Caso 7. Figura 6 – Comparação entre valores realizados e os valores previstos 168 passos à frente para o Caso 10. Nos casos 1, 2, 3, 4, 8, 9, 11 e 12 (encontrados em ARAÚJO, E. L.(2009)), os valores previstos se aproximam dos valores realizados, isto é, existe a tendência de errar para mais e com isso, podemos afirmar que nestes casos o modelo proposto obteve um bom desempenho. Já nos casos 5, 6, 7, 10 e 14 devido à presença de dados discrepantes no conjunto inicial de entrada ou fenômenos que não foram descritos os valores previstos não estão tão próximos como esperado dos valores realizados e para estes casos o modelo proposto ainda precisa de alguns ajustes para apresentar uma boa eficiência. Vale ressaltar que nos casos 10 e 14 é visível a ocorrência de algum fenômeno que não foi descrito e neste trabalho não foram abordadas e desenvolvidas técnicas para realizar previsão de carga com base em fenômenos ocorridos anteriormente. As técnicas clássicas não abordam essas características presentes nas séries de dados e então precisamos aprimorar e desenvolver métodos para realizar previsões. 436 Pode-se encontrar na literatura uma grande variedade de técnicas para previsão de carga, mas quando se aplica estas técnicas é preciso escolher com cautela o conjunto de dados para treinamento do modelo. A seguir apresentamos a tabela dos erros calculados para cada caso, onde MPE = ((previsto – realizado) /realizado); MAPE = ABS((previsto – realizado) /realizado). As previsões foram realizadas 168 passos à frente, ou seja, foi previsto o consumo horário para os próximos sete dias em cada caso e temos representado na tabela o erro absoluto percentual diário (a cada 24 horas). Tabela 2 – erros calculados . MPE MAPE MAPE1 MAPE2 MAPE3 MAPE4 MAPE5 MAPE6 MAPE7 Andirá P13 3,54% 7,80% 7,8% 12,99% 7,35% 5,57% 6,06% 6,15% 8,66% Andirá P34 7,24% 8,72% 6,62% 7,21% 9,27% 8,26% 14,26% 8,82% 6,64% Apucarana P13 0,88% 7,02% 11,30% 8,61% 6,34% 4,28% 6,48% 5,79% 6,32% Apucarana P34 5,04% 7,74% 10,19% 12,97% 7,97% 3,31% 3,98% 7,60% 8,16% Arapongas P34 10,36% 14,11% 5,63% 47,47% 20,18% 8,04% 7,69% 6,50% 6,05% Arapongas P113 5,62% 8,88% 6,31% 8,23% 9,45% 10,83% 9,67% 9,03% 8,88% Arapongas P213 -10,50% 11,73% 13,72% 16,61% 19,67% 12,65% 9,75% 3,73% 6,00% Bandeirantes P13 -2,72% 8,57% 7,07% 5,49% 11,80% 10,95% 9,93% 7,62% 7,09% Bandeirantes P34 3,35% 6,53% 6,95% 11,95% 4,20% 5,29% 5,53% 5,03% 6,78% Londrina P34 7,45% 7,97% 8,88% 9,29% 7,61% 9,31% 8,65% 5,10% 6,97% Londrina P113 -0,59% 4,59% 3,14% 9,43% 5,64% 3,34% 3,32% 3,22% 4,01% Londrina P213 0,74% 4,93% 4,19% 5,57% 9,28% 5,04% 4,05% 2,81% 3,57% Siqueira Campos P13 -0,84% 5,32% 5,88% 3,55% 4,48% 5,92% 5,22% 6,18% 6,02% Siqueira Campos P34 2,20% 5,44% 6,63% 7,87% 9,10% 3,81% 3,23% 3,92% 3,52% onde, • MPE = erro médio percentual • MAPE = erro médio absoluto percentual • MAPE1 = erro médio absoluto percentual para o primeiro dia • MAPE2 = erro médio absoluto percentual para o segundo dia • MAPE3 = erro médio absoluto percentual para o terceiro dia • MAPE4 = erro médio absoluto percentual para o quarto dia • MAPE5 = erro médio absoluto percentual para o quinto dia • MAPE6 = erro médio absoluto percentual para o sexto dia • MAPE7 = erro médio absoluto percentual para o sétimo dia Na maior parte dos casos estudados obteve-se um erro absoluto percentual entre 5% e 10 % o que representa uma boa eficiência do modelo testado, ou seja, a tendência é de errar para mais e em previsão de carga isso significa uma vantagem para o mercado de produção e 437 consumo de energia elétrica. A queda de desempenho do modelo nos casos 5 e 7 pode ser justificada pelos dados discrepantes utilizados no espaço inicial de entradas, isto é, dados nulos ou negativos. Conclusões Este trabalho teve por objetivo, desenvolver e validar modelos neurais autônomos para previsão de carga. Buscando metodologias automáticas para previsão de carga por meio de modelos neurais. Foi preciso realizar um estudo preliminar para conhecer as técnicas existentes e os empecilhos quanto à aplicação destas técnicas em previsão de carga. A escolha do espaço de entrada e o controle da complexidade do modelo, apesar de extremamente importantes, ainda não receberam na literatura a devida atenção. Existem propostas tanto de técnicas de seleção de variáveis de entrada quanto de controle de complexidade de modelos neurais para previsão de carga, porém, estas técnicas vêm sendo utilizadas de maneira desacoplada, comprometendo assim a capacidade de generalização do modelo obtido. O principal objetivo das técnicas de seleção de entradas reside na escolha dos sinais que apresentem um nível mínimo de interdependência com a saída, retirando do modelo sinais desassociados com a última e que podem comprometer a precisão das previsões. Esta é uma das principais tarefas ao longo do desenvolvimento de modelos de previsão de carga. Uma das principais dificuldades encontradas durante a elaboração deste trabalho foi compreender e realizar a ligação entre toda a teoria conceitual de séries temporais, redes neurais, implementação e validação dos modelos. A priori se questiona qual é a relação entre séries temporais e redes neurais e a resposta surge quando se inicia o processamento de dados para validar o modelo neural proposto utilizando uma série temporal de carga. Após realizar a validação do modelo utilizando a base de dados disponibilizada pela concessionária e com o auxilio do MATLAB, observa-se através dos erros calculados que o modelo apresenta um bom desempenho para um conjunto inicial de entradas escolhido adequadamente. Observa-se ainda, que nos casos 5 e 7, por exemplo, as previsões não alcançaram a precisão almejada, visto que a presença de dados discrepantes no conjunto inicial de entradas compromete o desempenho do modelo e a sua capacidade de generalização, e este fato motiva trabalhos futuros com o objetivo de elaborar modelos cada vez mais eficientes para previsão de carga. 438 Referências bibliográficas ARAÚJO, E. L.(2009). Identificação não-linear de sistemas do desenvolvimento de modelos neurais para previsão de carga por barramento. Relatório de iniciação tecnológica e científica da UFPR, Curitiba, Paraná. BOX, G.E.P.; JENKINS, G.M.; REINSEL, G.C. (1994). Time Series Analysis - Forecasting and Control, 3 ed, Prentice Hall: New Jersey, NJ, USA. BRAGA, A. P.; CARVALHO, A. C. P. L. F.; LUDEMIR, T. B. (2000). Redes Neurais Artificiais, Teoria e Aplicações. Rio de Janeiro, Ed. LTC. FERREIRA, V.H.; ALVES DA SILVA, A.P., Toward Estimating Autonomous Neural Network-Based Electric Load Forecasters, IEEE Transactions on Power Systems, v.22, n.4, pp. 1554-1562, Nov. 2007. FERREIRA, V.H. Desenvolvimento de Modelos Neurais Autônomos para Previsão de Carga Elétrica, Tese de D.Sc. COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2008. FILHO, S. L. CEQUINEL. Análise de métodos para validação de medições de energia elétrica. Dissertação de mestrado. UFPR, Curitiba, PR, Brasil, 2008. HAYKIN, S. (2001). Redes Neurais: Princípios e Prática. 2º Edição, Ed. Bookman, Porto Alegre, RS, Brasil. MORETTIN, P.A., TOLOI, C.M.C. (2004). Análise de Séries Temporais, Edgar Blücher:São Paulo, SP, Brasil. ONS, OPERADOR NACIONAL DO SISTEMA ELÉTRICO, Procedimentos de Rede Módulo 5: Consolidação da Previsão de Carga, 2002. VEELENTURF, L. P. J. (1995). Analysis and Applications of Artificial Neural Networks. Ed. Prentice Hall, Hertfordshire, USA. 439