Previsão dos Preços da Energia Eléctrica
através de Redes Neuronais Artificiais
1 Introdução
A energia eléctrica está no cerne da sociedade moderna, sendo uma componente essencial
do nosso estilo de vida e um factor determinante na competitividade da economia. O
contexto actual de reestruturação do sector eléctrico, promovendo a conversão de um
monopólio natural num mercado concorrencial e possibilitando a liberdade de escolha do
fornecedor de energia eléctrica por parte dos consumidores, introduz a exigência de
competitividade nas empresas produtoras (Catalão, 2006).
A liberalização do sector eléctrico torna os preços da energia eléctrica voláteis e
incertos. Os preços em mercados eléctricos competitivos reagem rapidamente às variações
na oferta e na procura, assumindo uma influência significativa na optimização da
exploração de recursos energéticos. Para se poder lidar com a incerteza tem de se recorrer
à previsão. Esta incerteza introduz um risco suplementar que deve ser gerido da melhor
forma pelas empresas produtoras. Uma ferramenta computacional que forneça uma
previsão fiável dos preços da energia eléctrica representa uma vantagem competitiva para
as empresas produtoras.
Em ambiente centralizado, os preços da energia eléctrica tendem a reflectir as
políticas socio-económicas vigentes, estando relacionados com os custos operacionais.
Assim, a previsão dos preços é realizada tipicamente apenas a longo prazo, considerando
a evolução dos custos dos combustíveis e a inovação tecnológica das centrais (Angelus,
2001). As estratégias a desenvolver para o planeamento em ambiente centralizado
assentam fundamentalmente na previsão da procura de energia eléctrica, existindo
escassa necessidade para o desenvolvimento de uma ferramenta que assegure cobertura
de risco do preço, dada a sua natureza determinística.
A reestruturação do sector eléctrico pretende incentivar a competição entre empresas
produtoras a fim de diminuir o preço da energia eléctrica para os consumidores. A
exactidão na previsão dos preços da energia eléctrica é vital em ambiente competitivo,
permitindo reduzir o risco de subestimar ou sobrestimar o lucro potencialmente obtido
(Bastian et al., 1999). Os erros de previsão têm implicações significativas para as
empresas produtoras ao nível dos lucros, quotas de mercado, e, em última instância, na
valorização bolsista (Bunn, 2000).
O perfil dos preços da energia eléctrica exibe maior complexidade que o perfil da
procura de energia eléctrica, dadas as particularidades associadas ao perfil dos preços.
Na maioria dos mercados eléctricos competitivos o perfil dos preços apresenta as
seguintes particularidades (Nogales et al., 2002):
• Não estacionaridade, i.e., média e variância não constantes;
• Sazonalidade diária e semanal;
• Efeito de calendário, i.e., fins-de-semana e feriados públicos;
• Aleatoriedade e volatilidade.
A previsão dos preços da energia eléctrica assumiu importância relevante no final da
década de noventa, tendo sido propostas diversas abordagens para essa previsão. Em
geral, dois tipos de abordagens podem ser utilizados para a previsão dos preços da
energia eléctrica: (1) séries temporais; (2) inteligência artificial.
As abordagens baseadas em séries temporais (Nogales et al., 2002), em particular a
abordagem AR — Auto Regressive (Fosso et al., 1999) e a abordagem ARIMA — Auto
Regressive Integrated Moving Average (Contreras et al., 2003; Zhou, 2006), podem ser
muito exactas, mas requerem vasta informação e o tempo de computação é geralmente
elevado (Rodriguez and Anders, 2004). Ainda, a abordagem GARCH — Generalized
Autoregressive Conditional Heteroskedastic (Garcia et al., 2005) e a abordagem WaveletARIMA (Conejo et al., 2005) foram propostas com o intuito de melhorar o desempenho das
abordagens anteriores.
As abordagens baseadas em inteligência artificial, nomeadamente redes neuronais
artificiais e lógica difusa, são comparativamente às anteriores menos exigentes no que
respeita ao tempo de computação. Em particular, as redes neuronais artificiais, utilizadas
com sucesso para a previsão da procura de energia eléctrica (Hippert et al., 2001; Saini
and Soni, 2002), são também utilizadas para a previsão dos preços da energia eléctrica
(Szkuta et al., 1999; Wang and Ramsay, 1998; Yamin et al., 2004, Catalão et al., 2006).
Neste artigo é apresentada uma ferramenta computacional, baseada em redes
neuronais artificiais, para a previsão dos preços da energia eléctrica no apoio à decisão
em ambiente competitivo. Apresentam-se os resultados numéricos obtidos para um caso
de estudo, e conclui-se sobre o desempenho da ferramenta computacional proposta
comparativamente a uma abordagem baseada em séries temporais.
2 Redes Neuronais Artificiais
O cérebro humano é constituído por cerca de 1011 células nervosas ou neurónios. Cada
neurónio, por sua vez, é constituído por: dendrites, corpo central, axónio e sinapses. O
neurónio recebe estímulos de entrada por intermédio das dendrites, sinais que são
posteriormente adicionados pelo corpo central e difundidos pelo axónio para as sinapses.
As redes neuronais artificiais, ou, simplesmente, redes neuronais, resultam da
interligação massiva de unidades de processamento simples, projectadas de forma a
replicar o funcionamento do cérebro humano (Haykin, 1999).
A estrutura de cada unidade de uma rede neuronal é apresentada na figura 1.
Figura 1: Estrutura de cada unidade de uma rede neuronal: entradas, termo de polarização,
função de activação e saída
Cada unidade de uma rede neuronal realiza a soma ponderada das suas entradas, às
quais é adicionado um termo constante denominado de termo de polarização. A saída
depende de uma função de activação ou de transferência, sendo do tipo: linear, sigmóide
ou tangente hiperbólica.
A organização das unidades define a arquitectura ou topologia da rede neuronal. Nas
redes unidireccionais ou redes de alimentação directa, cujo grafo não apresenta
realimentação, as unidades são frequentemente distribuídas em camadas — redes
multicamada — uma camada de entrada, uma ou mais camadas intermédias, também
denominadas camadas escondidas, e uma camada de saída. As unidades em cada
camada podem compartilhar as mesmas entradas, mas não são conectadas umas às
outras. A camada de entrada tem por objectivo adquirir os dados, sendo os dados
propagados à camada seguinte sem qualquer processamento. Assim, os dados são
processados apenas pelas unidades nas camadas escondidas e na camada de saída.
A topologia de uma rede neuronal unidireccional genérica com três camadas é
apresentada na figura 2. A rede neuronal considerada é dita completamente interligada,
visto que, toda a unidade pertencente a uma determinada camada está ligada a toda a
unidade pertencente à camada adjacente.
Figura 2: Rede neuronal unidireccional com três camadas e uma unidade na camada de saída
A selecção da topologia da rede neuronal é uma decisão importante e complexa. Por
um lado, a escolha de uma topologia demasiado simples pode resultar na incapacidade de
reproduzir correctamente os dados — sub-ajustamento dos dados. Por outro lado, uma
topologia demasiado flexível pode resultar numa má capacidade de generalização, em
consequência da susceptibilidade de ajustamento ao ruído e a outras peculiaridades dos
dados — sobre-ajustamento dos dados. Assim, a selecção da topologia da rede deve ser
norteada de acordo com um compromisso entre a simplicidade e a flexibilidade, visando a
obtenção de redes com capacidade de generalização aceitável.
Tipicamente, a selecção da topologia da rede que permite obter os melhores resultados
para a previsão com redes neuronais obriga à avaliação de diversas combinações. Estas
combinações incluem redes com diferentes números de camadas escondidas, diferentes
números de unidades em cada camada, e diferentes tipos de funções de activação. A
topologia da rede em que as funções de activação são contínuas e limitadas, e o número
de unidades na camada escondida é suficiente, é considerada um aproximador universal
(Principe et al., 2000). Neste artigo, a rede neuronal usada consiste em: uma camada
escondida com função de activação do tipo tangente hiperbólica; uma camada de saída
com apenas uma unidade e função de activação do tipo linear. O número de unidades na
camada escondida é tipicamente determinado por um processo de tentativa-e-erro, tendose convergido para cinco unidades na camada escondida.
O conhecimento necessário para a previsão com redes neuronais envolve dois
processos: o treino e a aprendizagem.
O processo de treino é tipicamente realizado de forma supervisionada, sendo
assumido que um conjunto de treino representativo está disponível, obtido através dos
dados históricos, contendo as entradas e as correspondentes saídas desejadas. A recolha
adequada dos dados para o treino da rede neuronal assume uma influência significativa
no sucesso do treino.
O processo de aprendizagem é um processo de optimização. No processo de
aprendizagem supervisionada a rede neuronal aprende a partir do conjunto de treino
constituído por pares entrada-saída, ajustando os pesos e as polarizações em cada
iteração de forma a minimizar uma determinada medida de erro entre a saída produzida e
a saída desejada. Este processo é repetido até que um critério de paragem seja alcançado.
O conhecimento adquirido pela rede neuronal através do processo de aprendizagem é
testado com um conjunto de teste diferente do conjunto de treino. A rede deve ser capaz
de generalizar e reproduzir, com exactidão aceitável, dados nunca antes apresentados.
Para além da importância da selecção adequada da topologia da rede neuronal, bem
como dos dados a recolher, é conveniente que o treino não seja demasiadamente
prolongado — sobre-treino da rede — visto que, pode resultar na deterioração dos
resultados da previsão. Tipicamente, à medida que se ajustam os pesos e as polarizações
da rede o erro de treino diminui, acompanhado pela diminuição do erro de teste. Porém,
um treino demasiado prolongado faz com que a rede memorize o conjunto de treino, pelo
que o erro de treino continua a diminuir, deixando contudo a rede de possuir poder de
generalização, pelo que o erro de teste começa a aumentar.
O sobre-treino é geralmente evitado estabelecendo um critério de paragem antecipada
do treino da rede por: perda de generalização; quebra no progresso do treino; atingir um
número máximo de iterações. Na paragem antecipada os dados recolhidos são divididos
em conjunto de treino e conjunto de validação. O conjunto de validação é usado para um
pseudo-teste, durante o treino da rede. Assim, em cada iteração a rede é treinada apenas
com o conjunto de treino, sendo avaliado o erro com o conjunto de validação. O conjunto
de validação não deve ser demasiado pequeno comparativamente ao conjunto de treino,
visto que, o treino poderá parar numa altura indesejada, não sendo a rede
convenientemente testada. O conjunto de teste é novamente utilizado para medir o
desempenho da rede após o treino.
O algoritmo de aprendizagem supervisionada mais popular é o algoritmo de
retropropagação do erro (Szkuta et al., 1999; Wang and Ramsay, 1998). Os dados
recolhidos pela camada de entrada são propagados até à camada de saída. A saída
produzida é comparada com a saída desejada para avaliar o erro, que é retropropagado ao
longo das várias camadas. Cada unidade na camada escondida recebe apenas uma
porção do erro, proporcional à contribuição relativa dessa unidade na elaboração da
saída. Os pesos e polarizações são actualizados progressivamente visando a minimização
da função que determina a soma do quadrado dos erros, podendo ser usado o método do
gradiente nessa minimização. Contudo, apesar da sua simplicidade o método do gradiente
apresenta uma velocidade de aprendizagem reduzida, exigindo um tempo de computação
significativo e não garantindo sempre a convergência para o mínimo global.
O processo de aprendizagem depende da taxa de aprendizagem e do termo de
momento, que podem ser ajustados. A taxa de aprendizagem é a proporção do erro
determinado pelo gradiente segundo a qual os pesos devem ser actualizados. O termo de
momento representa a fracção dos pesos anteriores que deve ser incluída no cálculo dos
novos pesos. Por um lado, uma taxa de aprendizagem reduzida tem a vantagem de
permitir alterar de forma suave os pesos em cada iteração, mas conduz a uma velocidade
de aprendizagem reduzida que se manifesta sob a forma de tempos de treino elevados. Por
outro lado, uma taxa de aprendizagem elevada pode fornecer uma convergência mais
rápida, mas pode também ocasionar instabilidade. Assim, a taxa de aprendizagem deve
ser aumentada progressivamente, evitando a instabilidade pelo ajuste do termo de
momento (Almeida, 1997).
Neste artigo é utilizado o método de Levenberg-Marquardt para treinar uma rede
neuronal unidireccional com três camadas e uma unidade na camada de saída. O método
de Levenberg-Marquardt, que corresponde a uma variante do método de Newton, é cerca
de 10 a 100 vezes mais rápido que o método do gradiente (Hagan and Menhaj, 1994).
O método de Newton é um processo iterativo que visa a minimização de uma função
Ω através da seguinte equação de actualização:
[
]
∆ x = − ∇2 Ω ( x )
em que ∇2 Ω
gradiente g .
−1
∇Ω ( x )
(1)
corresponde à matriz Hessiana H , e ∇ Ω corresponde ao vector do
Assumindo que a função Ω determina a soma do quadrado dos erros, sendo dada
por:
K
Ω ( x ) = ∑ ek2 ( x )
(2)
k =1
e seja e o vector dos erros, e J a matriz Jacobiana dada por:
∂ e1 ( x )
∂x
1
∂ e2 ( x )
J ( x) = ∂ x
1
∂ e ( x)
K
∂ x1
∂ e1 ( x )
∂ x2
∂ e2 ( x )
∂ x2
∂ eK ( x)
∂ x2
∂ e1 ( x )
∂ xk
∂ e2 ( x )
∂ xk
∂ e K ( x )
∂ x k
(3)
tem-se que:
∇ Ω ( x ) = 2 J T ( x ) e( x )
(4)
∇2 Ω ( x ) = 2 J T ( x ) J ( x ) + 2 S ( x )
(5)
sendo a matriz S dada por:
S( x) =
K
∑e
k =1
k
( x ) ∇ 2 ek ( x )
(6)
Desprezando as segundas derivadas do vector dos erros, i.e., assumindo que S ≈ 0 , a
matriz Hessiana é dada por:
∇2 Ω ( x ) = 2 J T ( x ) J ( x )
(7)
e substituindo (7) e (4) em (1) obtém-se a equação de actualização do método de GaussNewton, dada por:
[
]
∆ x = − J T ( x) J ( x)
−1
J T ( x ) e( x )
(8)
A vantagem do método de Gauss-Newton comparativamente ao método de Newton
reside no facto de se evitar o cálculo das segundas derivadas do vector dos erros, que
podem ser difíceis de obter. Contudo, uma desvantagem reside no facto da matriz J T J
poder não ser invertível. Esta desvantagem é ultrapassada pelo método de LevenbergMarquardt, cuja equação de actualização é dada por:
[
∆ x = − J T ( x) J ( x) + ς I
]
−1
J T ( x ) e( x )
(9)
em que I é a matriz identidade, sendo o parâmetro ς convenientemente modificado
durante as iterações.
Quando o segundo termo entre parênteses rectos em (9) pode ser desprezado
comparativamente ao primeiro, i.e., quando o parâmetro ς é suficientemente pequeno, o
método de Levenberg-Marquardt tem um desempenho idêntico ao do método de GaussNewton, apresentando em consequência uma convergência rápida. Quando o primeiro
termo entre parênteses rectos em (9) pode ser desprezado comparativamente ao segundo,
i.e., quando o parâmetro ς é suficientemente grande, o método de Levenberg-Marquardt
tem um desempenho idêntico ao do método do gradiente, apresentando em consequência
uma convergência lenta (Saini and Soni, 2002).
3 Medida do Erro de Previsão
O erro de previsão do preço da energia eléctrica na hora k é dado por:
e k = λˆ k − λ k
k ∈K
(10)
em que λ̂ k e λ k são, respectivamente, o preço previsto e o preço verificado na hora k .
Para avaliar o desempenho da ferramenta computacional proposta para a previsão dos
preços da energia eléctrica são utilizados os seguintes critérios: MAPE — Mean Absolute
Percentage Error; SSE — Sum Squared Error; SDE — Standard Deviation of Error.
O critério MAPE corresponde ao erro médio absoluto em percentagem, sendo dado
por:
MAPE =
100
K
K
∑
λˆ k − λ k
k ∈K
λ
k =1
(11)
em que λ é o preço médio da energia eléctrica, durante o horizonte temporal considerado,
sendo dado por:
λ=
1
K
K
∑λ
k =1
k ∈K
k
(12)
Os preços da energia eléctrica podem atingir valores muito acima do normal em
alguns intervalos de tempo, denominados de picos de preço, mas podem também atingir
valores nulos em outros intervalos de tempo. Assim, em (11) é utilizado o preço médio da
energia eléctrica durante o horizonte temporal, visando evitar a dificuldade motivada por
preços próximos de zero (Shahidehpour et al., 2002).
O critério SSE corresponde à soma do quadrado dos erros, sendo dado por:
SSE =
K
∑ (λˆ
k =1
k
− λ k )2
k ∈K
(13)
O critério SDE corresponde ao desvio padrão, sendo dado por:
SDE =
1
K
K
∑ (e
k =1
k
− e )2
k ∈K
(14)
em que e é o erro médio, durante o horizonte temporal considerado, sendo dado por:
e=
1
K
K
∑e
k =1
k
k ∈K
(15)
4 Caso de Estudo
O caso de estudo é constituído pelos dados históricos dos preços do Mercado Eléctrico
Espanhol em 2002, sendo o horizonte temporal de 168 horas. As abordagens propostas
para a previsão dos preços do Mercado Eléctrico Espanhol têm sido baseadas apenas em
séries temporais, em particular na abordagem ARIMA. Assim, a ferramenta
computacional proposta neste artigo, baseada em redes neuronais artificiais, é estudada
comparativamente à abordagem ARIMA.
A ferramenta computacional proposta foi implementada num computador com
processador a 1.6-GHz e 512 MB de RAM, usando a aplicação informática MATLAB.
A previsão dos preços da energia eléctrica é realizada para quatro semanas do ano,
nos meses de Fevereiro, Maio, Agosto e Novembro. Os preços previstos e os preços
verificados com a ferramenta computacional para as semanas de Inverno, Primavera,
Verão e Outono são apresentados, respectivamente, nas figuras 4 a 7. Assim, os quatro
perfis dos preços da energia eléctrica apresentados, um para cada estação do ano,
permitem ilustrar resultados indicativos para o ano inteiro.
Figura 4: Preços previstos e preços verificados para a semana de Inverno. As linhas a traço
interrompido e as linhas a traço contínuo representam, respectivamente, os preços previstos e os
preços verificados
Figura 5: Preços previstos e preços verificados para a semana de Primavera. As linhas a traço
interrompido e as linhas a traço contínuo representam, respectivamente, os preços previstos e os
preços verificados
Figura 6: Preços previstos e preços verificados para a semana de Verão. As linhas a traço
interrompido e as linhas a traço contínuo representam, respectivamente, os preços previstos e os
preços verificados
Figura 7: Preços previstos e preços verificados para a semana de Outono. As linhas a traço
interrompido e as linhas a traço contínuo representam, respectivamente, os preços previstos e os
preços verificados
Os dados usados na previsão dos preços da energia eléctrica correspondem aos dados
históricos dos preços verificados nas sete semanas precedentes à semana considerada.
Assim, os dados usados na previsão dos preços para a semana de: Inverno, 18-24 de
Fevereiro de 2002, correspondem aos preços horários de 7 de Janeiro a 17 de Fevereiro de
2002; Primavera, 20-26 de Maio de 2002, correspondem aos preços horários de 8 de Abril
a 19 de Maio de 2002; Verão, 19-25 de Agosto de 2002, correspondem aos preços horários
de 8 de Julho a 18 de Agosto de 2002; Outono, 18-24 de Novembro de 2002,
correspondem aos preços horários de 7 de Outubro a 17 de Novembro de 2002.
Na tabela 1 é apresentada a análise estatística do erro de previsão obtido com a
ferramenta computacional. A primeira coluna indica a semana considerada, a segunda
coluna indica o valor do MAPE, a terceira coluna indica a raiz quadrada do valor do SSE,
e a quarta coluna indica o valor do SDE.
Tabela 1: Análise estatística do erro de previsão
A ferramenta computacional, baseada em redes neuronais artificiais, permite obter
uma exactidão aceitável na previsão dos preços da energia eléctrica, com um valor médio
de 8.91% para o MAPE.
Na tabela 2 é apresentado o valor do MAPE para a ferramenta computacional, baseada
em redes neuronais artificiais, e para a abordagem ARIMA.
Tabela 2: Valor do MAPE para a ferramenta computacional, baseada em redes neuronais artificiais,
e para a abordagem ARIMA
A exactidão na previsão dos preços da energia eléctrica é superior à obtida com
abordagem ARIMA, visto que, o valor do MAPE para a ferramenta computacional é
inferior. Ainda, o tempo de computação requerido pela ferramenta computacional é de 20
segundos, enquanto que a abordagem ARIMA requer cerca de 5 minutos, para cada
semana considerada.
5 Conclusões
A previsão fiável dos preços da energia eléctrica representa uma vantagem competitiva
para as empresas produtoras. Esta previsão tem uma influência decisiva na optimização
da exploração de recursos energéticos.
Uma ferramenta computacional, baseada em redes neuronais artificiais, foi proposta
para a previsão dos preços a curto prazo do Mercado Eléctrico Espanhol. A topologia da
rede neuronal consiste em três camadas, tendo a camada escondida cinco unidades com
função de activação do tipo tangente hiperbólica, e a camada de saída apenas uma
unidade com função de activação do tipo linear. O treino da rede foi efectuado pelo
método de Levenberg-Marquardt.
Os resultados numéricos confirmam o bom desempenho da ferramenta computacional
proposta, visto que, obtém uma maior exactidão na previsão dos preços da energia
eléctrica comparativamente à abordagem ARIMA, com um tempo de computação inferior.