Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertação de Mestrado
Rio de Janeiro
Abril de 2014
Camilo Velasco Rueda
Ficha Catalográfica
CDD: 621.3
Agradecimentos
Aos meus pais, Luz Marina Rueda e Jaime Velasco, pela educação, atenção
e carinho.
foi criado um novo tipo de RNA, denominada Echo State Networks (ESN), as
quais diferem das RNA clássicas por apresentarem uma camada escondida com
conexões aleatórias, denominada de “Reservoir” (Reservatório). Este “Reservoir”
é ativado pelas entradas da rede e pelos seus estados anteriores, gerando o efeito
de “Echo State” (Eco), fornecendo assim um dinamismo e um desempenho
melhor para tarefas de natureza temporal. Uma dificuldade dessas redes ESN é a
presença de diversos parâmetros, tais como Raio Espectral, Tamanho do
Reservoir e a Percentual de Conexão, que precisam ser calibrados para que a ESN
forneça bons resultados. Portanto, este trabalho tem como principal objetivo o
desenvolvimento de uma ferramenta computacional capaz de realizar previsões de
séries temporais, baseada nas ESN, com ajuste automático de seus parâmetros por
Particle Swarm Optimization (PSO) e Algoritmos Genéticos (GA), facilitando a
sua utilização pelo usuário. A ferramenta computacional desenvolvida oferece
uma interface gráfica intuitiva e amigável, tanto em termos da modelagem da
ESN, quanto em termos de realização de eventuais pré-processamentos na série a
ser prevista.
Palavras-chave
Séries Temporais; Previsão; Echo State Networks; Particle Swarm
Optimization; Algoritmos Genéticos; Interface Gráfica.
Abstract
Velasco, Camilo. Vellasco, Marley Maria Bernardes Rebuzzi.
EsnPredictor: Time Series Forecasting Application based on Echo State
Networks Optimized by Genetics Algorithms and Particle Swarm
Optimization. Rio de Janeiro, 2014. 94p. MSc. Dissertation –
Departamento de Engenharia Elétrica, Pontifícia Universidade Católica do
Rio de Janeiro.
Keywords
Time Series; Forecasting; Echo State Networks; Particle Swarm
Optimization; Genetics Algorithms; GUI.
Sumário
1. Introdução 14
1.1. Motivação 14
1.2. Objetivos 15
1.3. Descrição do Trabalho 15
1.4. Organização da Dissertação 16
2. Fundamentação Teórica 18
2.1. Introdução 18
2.2. Echo State Networks (ESN) 18
2.2.1. Configuração 19
PUC-Rio - Certificação Digital Nº 1212960/CA
2.2.2. Reservoir 19
2.2.3. Estados do Reservoir 21
2.2.4. Treinamento 22
2.2.4.1. Treinamento On-Line 22
2.2.4.2. Treina mento Off-Line 23
2.3. Particle Swarm Optimization (PSO) 26
2.3.1. Representação 26
2.3.2. Algoritmo 27
2.3.3. Parâmetros 28
2.4. Algoritmos Genéticos (GA) 29
2.4.1. Representação 30
2.4.2. Decodificação 30
2.4.3. Avaliação 30
2.4.4. Seleção e Reprodução 31
2.4.5. Operadores Genéticos 31
2.4.6. Parâmetros 32
4.3.1. Partícula 46
4.3.2. Função de Avaliação 46
1.
Introdução
1.1.
Motivação
mesmo uma boa previsão do clima pode salvar milhares de vidas e, no setor
industrial, previsões de demanda fundamentam o planejamento de curto e longo
prazo de marketing, logística, produção e finanças (Barboza, 2011).
Existem diferentes técnicas para abordar a previsão de séries temporais:
métodos estatísticos, numéricos e os de inteligência computacional. Certamente as
técnicas estatísticas são as mais utilizadas, principalmente por apresentarem um
maior grau de interpretabilidade, garantido pelos modelos matemáticos gerados.
No entanto, as técnicas de inteligência computacional estão sendo cada vez mais
aplicadas em previsão de séries temporais, com destaque para as Redes Neurais
Artificiais (RNA) do tipo Multi-Layer Perceptron (MLP), por serem
aproximadores universais, podendo aprender qualquer mapeamento entre entrada
e saída (Haykin, 2000). Recentemente foi criado um novo tipo de RNA,
denominado Echo State Networks (ESN), as quais diferem das RNA clássicas por
terem uma camada escondida com conexões aleatórias, chamada “Reservoir”
(Jaeger, 2010). Este “Reservoir” é ativado pelas entradas da rede e pelos estados
anteriores do próprio reservoir, gerando o efeito de “Echo State” (Breve, 2005) e
fornecendo assim um dinamismo e um desempenho melhor para tarefas de
natureza temporal. Entretanto, essas redes possuem diversos parâmetros, tais
como Raio Espectral, Tamanho do Reservoir e a porcentagem de Conexão, os
quais precisam ser calibrados para que a rede funcione de forma adequada. Para
15
1.2.
Objetivos
1.3.
Descrição do Trabalho
1.4.
Organização da Dissertação
2.
Fundamentação Teórica
2.1.
Introdução
2.2.
Echo State Networks (ESN)
As ESN (Echo State Networks) foram propostas pelo Dr. Herbert Jaeger em
2001, artigo que foi corrigido no ano 2010 por ele mesmo em (Jaeger, 2010),
sendo este um dos métodos principais do “reservoir computing” junto com as
“Liquid States Machines” (Natschläger, 2002). Estas surgiram baseadas em
estudos prévios sobre neurociência computacional (Dominey, 1995), e
subsequentes ramificações do machine learning como a regra de aprendizagem
Backpropagation Decorrelation (Steil, 2004).
O modelo das ESN foi motivado pela ineficiência dos algoritmos atuais para
o treinamento das Redes Neurais Recorrentes (RNR), as quais são caracterizadas
pela presença de ao menos um laço de realimentação (“recorrência”) em seus
neurônios. Em geral, as RNRs apresentam um comportamento dinâmico não
linear, já que elas podem manter a ativação ou saída mesmo na ausência da
entrada, sendo esta característica chamada de “Memória Dinâmica”.
Os algoritmos usados para treinar as RNRs, propostos em (Willian &
Zipser, 1989; Werbos, 1990), adaptam de maneira incremental os pesos
sinápticos. No entanto, estes tem uso limitado devido a três problemas principais:
Convergência lenta;
As soluções encontradas, em muitos casos são subótimas;
19
2.2.1.
Configuração
Como ilustra a Figura 1, uma ESN é composta por uma camada de entrada,
um reservatório de neurônios interconectados de maneira recorrente e gerados
aleatoriamente, e uma camada de saída.
PUC-Rio - Certificação Digital Nº 1212960/CA
2.2.2.
Reservoir
0.8
0.5
0.6
0 0
0.4
-0.5
0.2
0 -1 -5
-5 0 5 -5 0 5 -5 0 5
Figura 2. Funções de ativação de neurônios típicas
21
2.2.3.
Estados do Reservoir
(2.1)
Onde:
Estado do Reservoir no instante .
Estado do Reservoir no instante .
Entradas da rede no instante .
Saída da rede no instante .
Matriz de pesos de entrada da rede.
Matriz de pesos do Reservoir.
Matriz de pesos de retroalimentação.
Função de ativação.
Para calcular a saída da rede é usada a equação (2.2):
(2.2)
Onde:
Saída da rede no instante .
Estado do Reservoir no instante .
Matriz de pesos de saída.
22
2.2.4.
Treinamento
As redes ESN têm dois tipos de treinamento, On-line e Off-line, mas os dois
tipos de treinamento são feitos para adaptar os pesos da camada de saída que
conecta os neurônios do Reservoir aos neurônios da camada de saída da rede.
2.2.4.1.
Treinamento On-Line
(2.3)
(2. 4)
PUC-Rio - Certificação Digital Nº 1212960/CA
Onde:
Matriz de pesos da camada de saída em .
Matriz de pesos da camada de saída em .
Estado do Reservoir no instante .
Estado do Reservoir no instante .
Erro da saída da rede no instante .
Erro da saída da rede no instante .
Taxa de aprendizado.
Momentum.
2.2.4.2.
Treinamento Off-Line
aleatórias além de ser escalada pelo Raio Espectral. Note-se que neste
tipo de treinamento a matriz de pesos da saída não é gerada, uma
vez que será calculada no último passo, depois da apresentação de todos
os padrões de treinamento.
2. O segundo passo do treinamento refere-se às definições das duas
condições iniciais, similar ao caso do treinamento On-Line:
Na primeira condição define-se o estado inicial do Reservoir como
, ou com valores aleatórios, nesse caso tem que considerar
que o eco produzido por valores aleatórios vai demorar mais para
desaparecer;
A segunda condição refere-se ao estado inicial da saída, podendo
ser , ou também um valor aleatório; se , deve-
se ter a mesma precaução da primeira consideração.
3. Calcula-se o estado do Reservoir no tempo , usando a equação
PUC-Rio - Certificação Digital Nº 1212960/CA
(2.5)
2.3.
Particle Swarm Optimization (PSO)
2.3.1.
Representação
2.3.2.
Algoritmo
(2.6)
Onde:
Velocidade da partícula na iteração .
Velocidade da partícula na iteração .
Posição da partícula na iteração .
Melhor posição local (histórico da partícula i).
Melhor posição global (histórico do enxame).
Valores aleatórios no intervalo (0,1).
Parâmetros de confiança.
Fator de inércia.
28
(2.7)
Onde:
Posição nova da partícula.
Posição antiga da partícula.
Velocidade nova da partícula.
2.3.3.
Parâmetros
2.4.
Algoritmos Genéticos (GA)
2.4.1.
Representação
Representação Problemas
PUC-Rio - Certificação Digital Nº 1212960/CA
2.4.2.
Decodificação
2.4.3.
Avaliação
A avaliação é feita por meio de uma função matemática que pretende ligar o
algoritmo genético com o mundo real. A função de avaliação representa o
31
problema e tem por objetivo fornecer uma medida numérica de aptidão de cada
indivíduo da população, que irá dirigir o processo de busca. Funções de avaliação
são específicas de cada problema, por isso uma boa função de avaliação, em
conjunto com uma boa representação, são elementos vitais na modelagem da
solução.
2.4.4.
Seleção e Reprodução
2.4.5.
Operadores Genéticos
2.4.6.
Parâmetros
3.
Técnicas de Previsão de Séries Temporais
3.1.
Introdução
(Wanke, 2006).
No setor financeiro, a previsão de séries centra-se, principalmente, no
mercado de ações na bolsa de valores (Fu-Yuan, 2008; Khoa, 2008; Bajestani,
2009; Hadavandi, 2010). Prever o valor de ações é de extrema relevância para os
investidores que buscam ampliar os seus lucros, a partir de valoração das ações,
opções ou dividendos. Contudo, na academia, pesquisadores buscam entender o
comportamento do mercado de ações (Fang, Luo, Fei e Li, 2010) (Du, Luo, He e
Xie, 2010), pois prever o valor das ações é uma questão em aberto, pois estas são
afetadas por diversas variáveis econômicas, sociais e políticas, que na maioria dos
casos estão inter-relacionadas de forma complexa.
Na economia, bancos centrais precisam de uma perspectiva da inflação
futura para controlar os instrumentos que afetam o comportamento da economia e
alertar os agentes econômicos e políticos. As decisões sobre política monetária
necessitam de diversas informações, tais como: compreender o processo gerador
da inflação futura; o mecanismo de transmissão dos juros de curto prazo para os
juros de longo prazo; as taxas de câmbio; a atividade econômica real e a dinâmica
da inflação (Kooths, Mitze e Ringhut, 2003). Na literatura são encontradas
inúmeras técnicas econométricas para calcular a previsão da inflação (Wang,
2010) (Chen, 2001) (Dongdong, 2010) (Chávez, 2013); embora ainda seja uma
34
3.2.
Técnicas Estatísticas
3.3.
Técnicas de Inteligência Computacional
PUC-Rio - Certificação Digital Nº 1212960/CA
3.4.
Sistemas de Inteligência Computacional Híbridos
3.5.
Avaliação do Desempenho de uma Previsão
(3.1)
(3.2)
(3.3)
(3.4)
Onde:
Valor real da série no instante .
Valor previsto da série no instante .
Quantidade total de instantes de tempo.
38
3.6.
Tipos de Previsão
janela de entrada.
3.7.
Parâmetros
4.
Modelos Híbridos para Previsão de Séries Temporais
4.1.
Introdução
4.2.
Modelo ESN-GA
4.2.1.
Cromossomo
Figura 8. Cromossomo do GA
Para o cálculo da quantidade de bits necessários para representar cada
parâmetro, primeiro foi calculada a quantidade de valores que o parâmetro pode
ter, a qual depende dos valores máximo, mínimo e um valor de precisão, como
ilustra a equação (4.1), seguido da aplicação do logaritmo em base dois da
equação (4.2), para obter a quantidade de bits. No caso do resultado ser um
número decimal, realiza-se um arredondamento para cima. A Tabela 2 contém os
resultados do cálculo da quantidade de bits que vão representar cada parâmetro.
(4.1)
(4.2)
PUC-Rio - Certificação Digital Nº 1212960/CA
mais pertinentes, pois nem sempre os valores da janela são relevantes. Por
exemplo, supondo que após uma otimização, onde o resultado da janela
foi isto indica que o terceiro, sexto e décimo segundo valor da
janela são relevantes e os outros são descartados como entrada da Echo State
Network, conforme ilustrado na Figura 9.
PUC-Rio - Certificação Digital Nº 1212960/CA
4.2.2.
Função de Avaliação
Decofidicação
Treinamento
do Criação da ESN Teste da ESN
da ESN
cromossomo
(4.3)
(4.5)
(4.6)
4.2.4.
Operadores Genéticos
híbrido.
4.3.1.
Partícula
5.
EsnPredictor: Ferramenta de Previsão de Séries Temporais
5.1.
Introdução
5.2.
Desenvolvimento
sistema operativo.
Além das nomeadas acima, foram usadas outras bibliotecas com diferentes
objetivos no desenvolvimento da ferramenta:
Dynamic Data Dysplay: biblioteca desenvolvida pelos doutores do
grupo oficial de pesquisa da Microsoft, Vassily Lyutsarev e Segey
Berezina (DYNAMICDATADISPLAY, 2014), usada para a criação
de gráficos e relatórios.
DotNetMatrix: Biblioteca desenvolvida por Paul Selormey
(DOTNETMATRX, 2014), usada para a manipulação de matrizes e
cálculo da inversa das mesmas.
5.3.
Estrutura e Metodologia
Importação e Visualização
Pré-processamento
Definição do Modelo
Execução do Modelo
PUC-Rio - Certificação Digital Nº 1212960/CA
Resultados e Exportação
Como ilustra a Figura 21, cada módulo tem uma aba associada, situadas na
parte superior e que estão desabilitadas inicialmente. As abas podem ser ativadas
na medida em que o usuário executa os processos de cada uma, garantindo o fluxo
correto da ferramenta.
54
5.4.
Módulo de Importação e Visualização
Onde:
Grid: Contém o nome e todos os valores numéricos da série
temporal;
Chart: Exibe o gráfico da série temporal;
Information Box: Apresenta as informações relevantes da série,
como a média, valores mínimo e máximo, o comprimento e o nome;
Clear: Botão que limpa o gráfico;
Update: Botão que atualiza o gráfico com a última série importada;
Go Preprocess: Botão inicialmente desabilitado, que conduz à
segunda aba de pré-processamento, que é habilitado após o usuário
importar uma série.
Para importar uma série temporal deve-se clicar no botão Upload da toolbar
(Figura 22), o qual abre a janela de importação (Figura 24) para localizar o
PUC-Rio - Certificação Digital Nº 1212960/CA
arquivo que contém a série temporal. São admitidos arquivos de Excel 97-2003
(.xls), Excel 2010 (.xlsx) e de texto (.txt) como ilustra o filtro na parte inferior
direita da Figura 24.
onde o primeiro valor deve ser o nome da série, e do segundo ao último valor da
coluna devem conter os valores da série temporal.
5.5.
Módulo de Pré-Processamento
5.5.1.
Normalização
Figura 28, obtém-se o resultado da Figura 31, onde os dois valores que se
destacavam na série original (valores próximos às amostras 40 e 110) ainda são os
maiores, mas agora sua distância com respeito aos demais é menor.
5.5.2.
Eliminação de Tendência
5.5.3.
Interpolação
5.6.
Módulo de Definição do Modelo
5.6.1.
Tipo de Previsão
Como ilustra a Figura 36, aqui é possível selecionar o tipo de previsão que
será realizado, seja Multistep ou Singlestep, os quais foram tratados na seção 3.6,
além de definir a quantidade de passos ou horizonte da previsão.
62
5.6.2.
Tipo de Modelo
Como ilustra a Figura 37, é possível selecionar o tipo de modelo que será
implementado, seja uma ESN simples, ou algum dos dois tipos de modelos
híbridos disponíveis (ESN-GA ou ESN-PSO).
PUC-Rio - Certificação Digital Nº 1212960/CA
5.6.3.
Parâmetros a serem Otimizados
5.7.
Módulo de Execução do Modelo
No caso de ter escolhido uma ESN simples, ao executar o modelo essa rede
vai ser criada, treinada e avaliada. No caso de ter sido escolhido algum tipo de
otimização, o gráfico da Figura 39 exibirá em tempo real a avaliação do melhor
cromossomo ou partícula respectivamente, além de atualizar o registro da geração
atual e o valor do erro. O EsnPredictor realiza uma única otimização na execução
do modelo, o usuário pode voltar para esse módulo e executar uma nova
otimização.
5.8.
Módulo de Resultados e Exportação
5.9.
Funcionalidades Básicas
5.10.
Extras
Mensagem Descrição
Ocorre quando o arquivo da importação não tem
a formatação correta, conforme ilustrada na
Figura 25.
6.
Estudo de Casos
6.1.
Introdução
6.2.
Dados Utilizados
PUC-Rio - Certificação Digital Nº 1212960/CA
6.3.
Metodologia
Para cada série temporal foram feitos três conjuntos de testes diferentes
(ESN, ESN-GA e ESN-PSO) e no final uma comparação dos melhores modelos
de cada conjunto. Em vista do número elevado de testes que poderiam ser feitos
69
8 6 50 60 0.6 Não MS
9 6 100 60 0.6 Sim SS
10 6 200 60 0.6 Não MS
11 6 50 0 0.6 Não MS
12 6 50 20 0.6 Sim SS
13 6 50 40 0.6 Não MS
14 6 50 60 0.6 Sim SS
15 6 50 80 0.6 Não MS
16 6 50 100 0.6 Não MS
17 6 50 60 0.2 Não MS
18 6 50 60 0.8 Não SS
19 6 50 60 0.6 Sim MS
20 6 50 60 0.6 Não MS
21 6 50 60 0.6 Não SS
22 6 50 60 0.6 Não MS
Tabela 6 Configurações para ESN.
Tipo de Representação
# Gerações Partículas C1 C2 W Previsão da Janela
1 100 100 1 1 1 SS Binária
2 120 80 1 1 4 MS Inteira
3 150 50 1 4 1 SS Binária
4 100 80 4 1 1 MS Inteira
5 120 100 2 2 1 SS Binária
6 150 80 1 1 1 MS Inteira
7 100 50 2 2 2 SS Binária
8 120 80 1 2 3 MS Inteira
9 150 100 1 3 2 SS Binária
10 100 80 3 1 2 MS Inteira
11 120 50 3 2 1 MS Binária
12 100 20 2 3 1 SS Inteira
13 120 100 3 2 3 MS Binária
14 150 80 1 1 1 SS Inteira
15 120 50 2 3 2 MS Binária
16 150 20 1 1 1 MS Inteira
Tabela 8 Configurações para ESN-PSO.
6.4.
Pré-Processamento dos Dados
Cada série temporal foi tratada de acordo com suas características, sendo
que na maioria das séries foi aplicada a normalização padrão entre 0-1 com
exceção de N3_108 e N3_110, nas que foi feita uma normalização linear por
71
partes. Além da normalização padrão, nas Séries N3_101, N3_105 e N3_109 foi
feita a eliminação da tendência.
A Tabela 9 relaciona o pré-processamento feito em cada uma das 11 séries,
e as Figuras (42-52) mostram graficamente a série original (parte superior) e a
série após do pré-processamento (parte inferior).
NN3_111 Padrão -
Tabela 9 Pré-processamento das Séries NN3.
6.5.
Resultados Obtidos
ESN-GA 8 4,5
ESN-PSO 1 4,2
Tabela 20. Resultados Série NN3_111.
6.6.
Resumo dos Resultados
14,2
11,2 10,5
10,2 9,8 9,4
9,2
7,9 7,4 7,1 7,2
6,4 6,2 5,6
4,9 5,2 5,4 5,3 5 4,5
4,3 4,8 4,1 3,7 4,2 4,2 4,2
3 4,3 2,4
1,3 2,1 2,2
Além de todos os testes realizados nas seções anteriores, foi feito mais um
grupo de experimentos, selecionando cada uma das melhores configurações para
cada tipo de modelo, e adicionando, na etapa de pré-processamento, uma
interpolação de valores novos entre duas amostras, onde , aumentando
assim o comprimento das séries. A Tabela 23 indica que, para todos os casos, o
desempenho foi melhor com o uso da interpolação.
82
7.
Conclusões e Trabalhos Futuros
7.1.
Conclusões
comparação com os dois anteriores, mas para valores muito baixos (<10%), o
desempenho piora devido a que o estado anterior tem pouca influência no estado
seguinte.
Para qualquer configuração dos parâmetros dos algoritmos de otimização
(GA ou PSO) obtém-se resultados aceitáveis com relação ao desempenho das
previsões; já os parâmetros próprios das ESN, como o tamanho do Reservoir e o
Raio Espectral, afetam de forma considerável o desempenho da previsão, sendo
esses parâmetros das ESN mais críticos do que os parâmetros do algoritmo de
otimização.
7.2.
Trabalhos Futuros
Referências Bibliográficas
CHAI, M.-L.; SONG, S.; LI, N.-N., A review of some main improved models
for Neural Network forecasting on time series. IEEE Intelligent Vehicles
Symposium, 2005. Proceedings, P. 866-868, 2005.
CHEN, S.-M.; CHEN, C.-D. Forecasting Based on Fuzzy Time Series and
Fuzzy Variation Groups. IEEE Transactions on Fuzzy Systems, P. 1-12, 2011.
CRONE F., A Naive Support Vector Regression, Benchmark for the NN3
Forecasting Competition 2007.
Acesso em 17/10/2013.
FANG, Z., LUO, G., FEI, F., LI, S., Stock Forecast Method based on Wavelet
Modulus Maxima and Kalman Filter. 2010 International Conference on
Management of e-Commerce and e-Government.
88
LEI, M.., Modeling Electricity Price Forecast with Grey and Correlation
Method in Competitive Markets. Asia-Pacific Power and Energy Engineering
Conference. 2010.
LI, Q.; CHEN, S.; WANG, D., An Intelligent Runoff Forecasting Method
Based on Fuzzy sets, Neural network and Genetic Algorithm. International
Conference on Intelligent Systems Design and Applications. p. 948-953, 2006.
QINGLE, P.; MIN, Z., Very Short-Term Load Forecasting Based on Neural
Network and Rough Set. International Conference on Intelligent Computation
Technology and Automation (ICICTA). p.1132-1135, 2010.
WANG, C.; WU, D., Modeling China's Inflation: Linear versus Nonlinear
Method. International Conference on Computational Intelligence and Software
Engineering. 2010.
WERBOS, P. J., Back propagation through time: What it does and how to do
it. Proc. IEEE, vol. 78 No. 10, pp. 1550–1560, 1990.
YIHANG, L.; LIELI, L., Sales Forecasting through Fuzzy Neural Networks.
International Conference on Electronic Computer Technology. p. 511-515, 2009.
YUE, L., A New Fuzzy Neural Networks Model for Demand Forecasting.
IEEE International Conference on Automation and Logistics. . p. 372-376, 2008.