• Nenhum resultado encontrado

6 StockMOS: STOCK MARKET OPERATION SYSTEM

7.2 Estudo e ajuste do módulo Preditores

Como visto no Capítulo 6, o módulo Preditores permite que sejam utilizados quaisquer técnicas capazes de realizar a predição um passo à frente de séries temporais. No entanto, neste trabalho optou-se pela utilização apenas de Redes Neurais Artificiais, dadas as vantagens de tais preditores discutidas no Capítulo 4.

Para identificar qual modelo de rede neural leva aos melhores resultados para o contexto deste trabalho, experimentos foram realizados com os papéis apresentados na Seção 7.1. Os resultados obtidos serão apresentados e discutidos nesta seção.

7.2.1 Metodologia

Para cada ação listada na Tabela 7.1, o histórico de cotações no período entre janeiro de 2010 e dezembro de 2013 foi utilizado nos experimentos. Sendo assim, o conjunto de amos- tras para cada ação selecionada foi dividido em 60% para treinamento, 20% para validação e

20% para testes seguindo a ordem natural dos dados, ou seja, o conjunto de testes formado pe- los dados mais recentes da série temporal. Além disso, os dados foram normalizados entre os intervalos −1 e 1 sobre os valores máximos e mínimos do conjunto de treinamento e validação. A janela de predição utilizada para as séries temporais dos experimentos foi de 3 atrasos para prever 1 passo adiante (Shynkevich et al., 2014). Esta abordagem foi adotada conforme recomendação de estudos da literatura que identificaram o tamanho ideal de janelas de predição de séries financeiras para uso em redes neurais artificiais (González et al., 2011). Dada a confi- guração da janela de predição, as redes neurais artificiais do tipo Multi-Layer Perceptron, Elman Neural Networke Jordan Neural Network, definidas com três entradas e uma saída, foram pre- paradas para atuar sobre cada ação apresentada na Tabela 7.1. Com exceção dos neurônios da camada de contexto das redes recorrentes, todos os neurônios artificiais das redes neurais avali- adas foram definidos com a função de ativação da tangente hiperbólica.

A definição da quantidades de neurônios artificiais na camada oculta, principalmente das redes do tipo MLP, sempre foi um desafio no estudo de redes neurais artificiais (González et al., 2011). A literatura indica que uma camada oculta de neurônios é suficiente para obter bons resultados e que a inclusão de novas camadas ocultas pode não melhorar significativamente o modelo (González et al., 2011). Por esta razão, apenas uma camada oculta para os preditores foi utilizada nos experimentos do sistema. Além disso, Murata et al. (1994) realizaram uma pesquisa sobre a quantidade de neurônios na camada oculta de uma rede MLP e concluíram que as seguintes regras podem atender diversas aplicações:

∘ O número de neurônios na camada oculta, deve estar entre a quantidade de entradas e saídas.

∘ O número de neurônios na camada oculta, deve ser 2/3 do tamanho da entrada somado ao tamanho da saída.

∘ O número de neurônios na camada oculta, deve ser menor que duas vezes o tamanho da entrada.

Sendo assim, a definição da estrutura das redes neurais artificiais, principalmente a quan- tidade de neurônios na camada oculta, ficou por conta do algoritmo de Incremental Pruning (Poda Incremental) aliado às regras apresentadas por Murata et al. (1994).

A técnica de Incremental Pruning (Poda Incremental) é um procedimento realizado para identificar um número adequado de neurônios da camada oculta (Masters, 1993; Heaton, 2015). Este método requer o conjunto de dados de treinamento e os números máximo e mínimo de neurônios na camada oculta para executar uma busca exaustiva para encontrar a melhor confi- guração de rede neural.

Durante a execução do Incremental Pruning, uma rede neural é criada com os parâmetros iniciais da busca exaustiva e treinada com o conjunto de treinamento. O algoritmo de treina- mento utilizado nesta abordagem é o Resilient Propagation, tendo como condição de parada 1000 épocas e MSE (erro quadrático médio) menor ou igual a 0,0001.

obtida nestas repetições é utilizada na comparação. Isto é feito para garantir que a inicialização aleatória dos pesos não interfira nos resultados.

Definida a configuração das redes neurais artificiais, a abordagem híbrida de treinamento composta pelos algoritmos Resilient Propagation e Simulated Annealing apresentada no Se- ção 6.3 foi adotada como principal método de treinamento para as redes neurais do projeto. Além disso, cada configuração de rede neural artificial foi executada 10 vezes, para garantir que a inicialização aleatória dos pesos não interferisse nos resultados dos experimentos. Como condição de parada do treinamento, o número de épocas para todos os componentes foi definido como 2000 e o erro aceitável foi de 0,0001.

7.2.2 Resultados

Os experimentos desta seção foram executados sobre cada ação apresentada na Tabela 7.1. Para cada ação, os três tipos de redes neurais artificiais foram testados e avaliados pelo MSE.

A Tabela 7.2 apresenta os MSEs da rede neural que, durante o treinamento, apresentou o menor MSE no conjunto de validação, operando sobre o conjunto de teste para cada ação selecionada.

Observando a Tabela 7.2, é possível notar que a rede neural artificial do tipo MLP que apresentou o menor erro para as ações ABEV3, BBDC4, GGBR4 e VALE5. Para a rede neural recorrente de Elman, apresentou o melhor desempenho para as ações BBAS3 e PETR4. A rede neural do tipo Jordan, apesar de ter apresentado um erro pequeno, não foi a melhor das três em nenhum caso. Já a rede neural do tipo MLP apresentou o melhor desempenho sobre as demais ações, ABEV3, BBDC4, GGBR4 e VALE5.

Ação MLP Elman Jordan Perceptron

ABEV3 0,1643 0,1865 0,2348 0,1732 BBAS3 0,1237 0,1123 0,1226 – BBDC4 0,1443 0,1697 0,2017 0,1487 GGBR4 0,1248 0,1282 0,1452 – PETR4 0,1569 0,1411 0,1712 – VALE5 0,2560 0,2642 0,2687 –

Tabela 7.2: Média dos erros quadráticos médios dos experimentos realizados para cada ação selecionada em cada tipo de rede neural artificial presente na implementação do sistema, desta- cando em negrito os menores erros sobre o conjunto de testes.

Cada preditor avaliado utilizou uma janela de predição com três entradas e uma saída, portanto, a camada de entrada para cada experimento contêm três neurônios e a camada de saída um neurônio. A Tabela 7.3 apresenta o número de neurônios na camada oculta definido pelo Incremental Pruningpara cada experimento que obteve o menor erro apresentado na Tabela 7.2.

Conforme a Tabela 7.3 podemos notar que houve alguns experimentos que apresentaram um neurônio na camada oculta, caracterizando uma arquitetura semelhante a um único Per- ceptron. Sendo assim, para os experimentos onde um neurônio foi definido pelo método de

Incremental Pruningna camada oculta, um Perceptron também foi avaliado para verificar se

houve semelhança, tendo como função de ativação, assim como nos experimentos da rede do tipo MLP, a função Tangente Hiperbólica. O experimento foi repetido 10 vezes e um erro médio é apresentado na Tabela 7.2 sendo possível notar pouca diferença entre o modelo da MLP com um neurônio na camada oculta e um Perceptron.

Ação Arquitetura Número de neurônios na

camada oculta ABEV3 MLP 1 BBAS3 Elman 2 BBDC4 MLP 1 GGBR4 MLP 2 PETR4 Elman 1 VALE5 MLP 2

Tabela 7.3: Tipo de rede neural que apresentou o menor erro para cada ação selecionada e o número de neurônios na camada oculta definido pelo Incremental Pruning.

A Figura 7.1 ilustra os resultados da previsão realizada por uma rede neural do tipo MLP sobre a fatia do conjunto de testes para as ações da Ambev (ABEV3). Visualmente é possível notar que a rede consegue realizar uma boa aproximação do início do gráfico até o mês de outubro e, a partir deste ponto, a rede neural começa a apresentar um desvio da série original.

As figuras 7.1 a 7.6 ilustram, para cada papel avaliado, os resultados da previsão da rede neural artificial que obteve o melhor desempenho sobre o conjunto de validação, sendo operada sobre o conjunto de testes. A partir destas figuras, pode-se observar que as redes neurais conse- guem aproximar a série real das cotações com a previsão de um passo adiante, porém em alguns pontos elas tendem a oscilar esta aproximação.

Figura 7.1: Gráfico do melhor preditor - Multi-Layer Perceptron - para ações da Ambev (ABEV3) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Figura 7.2: Gráfico do melhor preditor - Elman Neural Network - para ações do Banco do Brasil (BBAS3) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Figura 7.3: Gráfico do melhor preditor - Multi-Layer Perceptron - para ações do Banco Bradesco (BBCD4) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Figura 7.4: Gráfico do melhor preditor - Multi-Layer Perceptron - para ações da Gerdau (GGBR4) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Figura 7.5: Gráfico do melhor preditor - Elman Neural Network - para ações da Petrobrás (PETR4) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Figura 7.6: Gráfico do melhor preditor - Multi-Layer Perceptron - para ações da Vale (VALE5) operando sobre o conjunto de testes. A linha em azul representa a cotação real e a linha em vermelho a previsão fornecida pela rede MLP.

Sendo assim, os três modelos de redes neurais propostos apresentaram-se capazes de re- alizar a previsão de um passo adiante de uma série temporal, como ilustrado nos gráficos apre- sentados e nos resultados listados na Tabela 7.2. Dado que a rede neural artificial do tipo MLP

definida pelo método de Incremental Pruning e treinada com a estratégia híbrida dos algoritmos

Resilient Propagatione Simulated Annealing apresentou o melhor desempenho em quatro dos

seis casos avaliados, optou-se pela escolha desta arquitetura de rede neural como preditor prin- cipal do módulo de Preditores do sistema StockMOS. No entanto, é importante destacar que o sistema permite facilmente a troca do preditor para os modelos apresentados ou novos métodos de previsão de séries temporais.

Documentos relacionados