Pós-Graduação em Ciência da Computação
“Previsão de séries temporais utilizando pools
de preditores criados a partir do
particionamento da série e da divisão da tarefa
de previsão”
Por
Sérgio René Pessoa Vila Nova Filho
Dissertação de Mestrado
Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Sérgio René Pessoa Vila Nova Filho
“PREVISÃO DE SÉRIES TEMPORAIS UTILIZANDO POOLS DE
PREDITORES CRIADOS A PARTIR DO PARTICIONAMENTO DA
SÉRIE E DA DIVISÃO DA TAREFA DE PREVISÃO"
ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.
ORIENTADOR(A): George Darmiton da Cunha Cavalcanti CO-ORIENTADOR(A): Paulo Salgado Gomes de Mattos Neto
Catalogação na fonte
Bibliotecária Jane Souto Maior, CRB4-571
V696p Vila Nova Filho, Sérgio René Pessoa
Previsão de séries temporais utilizando pools de preditores criados a partir do particionamento da série e da divisão da tarefa de previsão / Sérgio René Pessoa Vila Nova Filho – Recife: O Autor, 2015.
103 f.: il., fig., tab.
Orientador: George Darmiton da Cunha Cavalcanti.
Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2015.
Inclui referências.
1. Inteligência computacional. 2. Previsão de séries temporais. 3. Redes neurais. I. Cavalcanti, George Darmiton da Cunha
(orientador). II. Título.
Dissertação de Mestrado apresentada por Sérgio René Pessoa Vila Nova Filho à Pós Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Previsão de Séries Temporais Utilizando Pools de Preditores Criados a partir do Particionamento da Série e da Divisão da Tarefa de Previsão” orientada pelo Prof. George Darmiton da Cunha Cavalcanti e aprovada pela Banca Examinadora formada pelos professores:
______________________________________________ Prof. Adriano Lore Inacio de Oliveira
Centro de Informática/UFPE
______________________________________________ Prof. Paulo Renato Alves Firmino
Centro de Ciências e Tecnologia / UFCA
_______________________________________________ Prof. George Dartmiton da Cunha Cavalcanti
Centro de Informática / UFPE
Visto e permitida a impressão. Recife, 28 de agosto de 2015.
___________________________________________________ Profa. Edna Natividade da Silva Barros
Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.
Dedico este trabalho aos meus pais, minha irmã, meus avós e à minha namorada.
Agradecimentos
Primeiramente, agradeço a Deus por ter me dado saúde e força para chegar até esse momento.
Agradeço aos meus pais, Maria Theresa Gomes Pessoa e Sérgio René Pessoa Vila Nova, à minha irmã Larissa Pessoa Vila Nova e à minha avó Maria Pompéia Gomes Pessoa, por todo o apoio e incentivo durante o mestrado, e pela base educacional proporcionada, que possibilitou dar mais esse passo na vida acadêmica e profissional.
Agradeço à minha namorada, Nathalia Vieitez Rodrigues Moreira por ter me incentivado e ajudado durante o desenvolvimento deste trabalho e por todo o amor, carinho, companheirismo e compreensão.
Agradeço ao meu orientador, Prof. George Darmiton da Cunha Cavalcanti e ao meu co-orientador Prof. Paulo Salgado Gomes de Mattos Neto, por toda a disponibilidade, apoio, orientação e compreensão durante todo o período do mestrado.
Por fim, agradeço aos professores do curso de Pós-graduação em Ciência da Computação do Centro de Informática da UFPE, pela boa formação e orientação que recebi.
A distinção entre passado, presente e futuro é apenas uma ilusão teimosamente persistente.
Resumo
A análise de séries temporais é uma importante área de estudo em diversos domínios. Grande parte das pesquisas em análise de séries temporais objetivam encontrar um modelo de previsão que utiliza dados passados da série para prever o seu valor no futuro, e então utiliza-o para a tomada de decisões. Algumas séries temporais apresentam padrões de comportamento que se repetem ao longo dela, tais padrões possuem tamanhos variados e podem ser utilizados para auxiliar a previsão. Esta dissertação propõe um sistema para previsão de séries temporais baseado em dois métodos principais: o primeiro consiste em particionar a série a fim de separar seus padrões de comportamento, o segundo divide a tarefa de previsão nas subtarefas de estimar o sentido da série no futuro e na de estimar o próximo valor a partir da previsão do sentido e do comportamento anterior da série. Para cada uma dessas divisões, é treinado um preditor especialista na tarefa de predição e no padrão de comportamento contido na partição. Para realizar um estudo comparativo, foram utilizadas quatro séries temporais, sendo duas financeiras e duas bastante utilizadas em estudos recentes. Quatro métricas foram usadas para avaliar o modelo proposto, e seus resultados foram comparados às performances dos modelos de Rede Neural Multilayer Perceptron (MLP) e Máquina de Vetor de Suporte para Regressão (SVR), além de modelos de estudos recentes. Também foram analisados os impactos da variação de cada parâmetro do sistema proposto com relação ao desempenho da previsão. O modelo proposto apresentou desempenho superior aos outros modelos avaliados, nas quatro séries.
Palavras-chave: previsão de séries temporais. particionamento de séries temporais. redes neurais. máquinas de vetores de suporte para regressão. seleção de características. dynamic time warping. múltiplos preditores.
Abstract
Time series analysis is an important area of study in many expertise fields. Great part of the researches in time series analysis aims to find a prediction model, which analyzes the past data to predict the series future value, and then use it to make decisions. Some series exhibit behaviors patterns that repeat along it, such patterns have different sizes and could be used to help the forecast. This dissertation proposes a system to predict the future values of a time series, using two main methods: the first consist on partitioning the series, to segregate behaviour patterns, the second divides the prediction task in the subtasks of estimating the series future direction and the subtask of estimating the series future value from the direction forecast and the past values of the series. For each one of these divisions, a predictor is trained and becomes a specialist on the prediction subtask and in the behaviour pattern of the partition. To perform a comparative study, four time series were used, two are financial time series and two are used in many recent researches. Four performance metrics were used to evaluate, and the results were compared to the results of the Neural Network model (MLP) and the Support Vector Machine for Regression model (SVR), as well as other published studies models. The impacts of the variation of the models parameters on the prediction performance were analyzed as well. The proposed model presented better performance than the compared models on the four series evaluated.
Keywords: time series prediction, time series partitioning, neural networks, support vector machines for regression, characteristics selection, dynamic time warping, multiple predictors.
Lista de Figuras
2.1 Série mensal do número de passageiros de voos internacionais nos Estados
Unidos de 1949 à 1960 pela companhia aérea Pan Am . . . 21
2.2 Séries estacionárias . . . 22
2.3 Série de ruído branco e seu autocorrelograma . . . 25
2.4 Autocorrelograma da série de passageiros . . . 26
2.5 Autocorrelograma parcial x Autocorrelograma da série de preço de fechamento ajustado das ações da Goldman Sachs . . . 26
2.6 Fechamento mensal do IBOVESPA de Jan/1997 a Dez/2011 . . . 29
2.7 Fechamento mensal do IBOVESPA de Mai/1998 a Abr/1999 e de Nov/2007 a Mar/2010 . . . 29
2.8 Modelo de neurônio artificial . . . 35
2.9 Rede neural Multilayer Perceptron . . . 36
2.10 Support Vector Regression . . . 38
2.11 Séries A, B e X . . . 42
2.12 Mapeamento entre as séries A e X realizado pelo DTW . . . 44
3.1 Arquitetura de treinamento . . . 46
3.2 Arquitetura de testes . . . 46
3.3 Arquitetura de treinamento de um pool de preditores . . . 49
3.4 Série particionada com k = 200 e pint = 25% . . . 50
3.5 Autocorrelação de uma série temporal . . . 51
3.6 Seleção do melhor preditor . . . 54
4.1 Série do preço de fechamento ajustado das ações da Goldman Sachs . . . 57
4.2 Série do preço de fechamento ajustado das ações da Microsoft . . . 58
4.3 Série Mackey-Glass . . . 58
4.4 Série Laser . . . 59
4.5 Variação da quantidade de janelas por série avaliada . . . 62
4.6 Processo de escolha do melhor preditor . . . 63
5.1 Percentual de utilização dos lags pelas abordagens sem particionamento e com particionamento (k = 150, lmax = 30 e pint = 90%) . . . 70
5.2 MAPEs da previsão do próximo valor da série de preço de fechamento ajustado da ação da Goldman Sachs utilizando MLP . . . 71
5.3 MAPEs da previsão do próximo valor da série de preço de fechamento ajustado da ação da Goldman Sachs utilizando SVR . . . 73
5.4 Previsão da abordagem SVRPART que obteve o melhor score na série GS . . . 74 5.5 Percentual de utilização dos lags pelas abordagens sem particionamento e com
particionamento (k = 350, lmax = 30 e pint = 50%) . . . 76 5.6 MAPEs da previsão do próximo valor da série de preço de fechamento ajustado
da ação da Microsoft utilizando MLP . . . 77 5.7 MAPEs da previsão do próximo valor da série de preço de fechamento ajustado
da ação da Microsoft utilizando SVR . . . 79 5.8 Previsão da abordagem MLPPART que obteve o melhor score na série MSFT . 80 5.9 MAPEs da previsão do próximo valor da série Mackey-Glass utilizando MLP . 83 5.10 MAPEs da previsão do próximo valor da série Mackey-Glass utilizando SVR . 84 5.11 Previsão da abordagem SVRPART que obteve o melhor score na série
Mackey-Glass . . . 86 5.12 Percentual de utilização dos lags pelas abordagens sem particionamento e com
particionamento (k = 450, lmax = 30 e pint = 50%) . . . 89 5.13 MAPEs da previsão do próximo valor da série Laser utilizando MLP . . . 90 5.14 MAPEs da previsão do próximo valor da série Laser utilizando SVR . . . 91 5.15 Previsão da abordagem SVRPART que obteve o melhor score na série Laser . . 92 5.16 Análise das métricas de desempenho da abordagem MLPMS pela variação da
taxa de acerto na série GS . . . 96 5.17 Análise das métricas de desempenho da abordagem MLPMS pela variação da
taxa de acerto na série MSFT . . . 97 5.18 Previsão da abordagem MLPPART que obteve o melhor score na série MSFT
Lista de Tabelas
2.1 Exemplo de entradas para o modelo de previsão . . . 39
2.2 Matriz W do DTW entre as séries A e X. Melhor caminho em destaque . . . . 43
2.3 Matriz W do DTW entre as séries B e X. Melhor caminho em destaque . . . 43
3.1 Exemplo da função CMS sobre uma série temporal . . . 47
4.1 Séries utilizadas . . . 56
4.2 Estatísticas das séries . . . 57
4.3 Configurações dos testes . . . 61
4.4 Configurações das MLPs . . . 64
4.5 Configurações das SVRs . . . 65
5.1 Janelas selecionadas durante os testes na série GS com a abordagem com partici-onamento (k = 150, pint = 90% e lmax = 30) . . . 69
5.2 Resultados das abordagens para a série GS . . . 74
5.3 Testes estatísticos para as abordagens na série GS . . . 75
5.4 Janelas selecionadas durante os testes na série MSFT com a abordagem com particionamento (k = 350, pint = 50%, lmax = 30) . . . 75
5.5 Resultados das abordagens para a série MSFT . . . 80
5.6 Testes estatísticos para as abordagens na série MSFT . . . 81
5.7 Janelas selecionadas durante os testes na série Mackey-Glass com a abordagem com particionamento (k = 450, pint = 50%, lmax = 30) . . . 81
5.8 Resultados das abordagens para a série Mackey-Glass . . . 85
5.9 Comparação da melhor abordagem proposta com estudos recentes para a série Mackey-Glass . . . 85
5.10 Testes estatísticos para as abordagens na série Mackey-Glass . . . 86
5.11 Janelas selecionadas durante os testes na série Laser com a abordagem com particionamento (k = 450, pint = 50%, lmax = 30) . . . 88
5.12 Janelas selecionadas durante os testes na série Laser com a abordagem com particionamento (k = 450, pint = 50%, lmax = 30) . . . 88
5.13 Resultados das abordagens para a série Laser . . . 92
5.14 Comparação da melhor abordagem proposta com estudos recentes para a série Laser . . . 92
5.15 Testes estatísticos para as abordagens na série Laser . . . 93
Lista de Acrônimos
k Tamanho da janela do pool de preditoreskms Tamanho da janela do pool de preditores de mudança de sentido kpv Tamanho da janela do pool de preditores do próximo valor pint Percentual de interseção entre janelas adjacentes
pintms Percentual de interseção entre janelas adjacentes do pool de preditores de mudança de sentido
pintpv Percentual de interseção entre janelas adjacentes do pool de preditores do próximo valor
lmax Lag máximo
lmaxms Lag máximo do pool de preditores de mudança de sentido lmaxpv Lag máximo do pool de preditores do próximo valor Sms Série das mudanças de sentido da série original Spms Série das previsões de mudança de sentido MS Poolde preditores de mudança de sentido PV Poolde preditores do próximo valor PMS Série de previsões de mudança de sentido Ppred Parâmetros de treinamento do preditor
CMSn O n-ésimo valor da série de mudança de sentido q j Quantidade de janelas
J Partições
L Lags selecionados de cada partição V Conjuntos de validação de cada partição
F Conjunto de preditores treinados com seus respectivos lags selecionados f0 Preditor mais apto segundo o algoritmo DTW
Ω Base de dados de treinamento Λ Base de dados de testes
Sumário
1 Introdução 16 1.1 Motivação . . . 16 1.2 Objetivo . . . 18 1.3 Estrutura da dissertação . . . 19 2 Conceitos e técnicas 20 2.1 Séries temporais . . . 20 2.2 Função de Autocorrelação . . . 232.3 Estacionariedade em Séries Temporais . . . 27
2.4 Mudanças nas séries temporais . . . 28
2.5 Modelos para previsão de séries temporais . . . 30
2.5.1 Modelos estatísticos . . . 31
2.5.2 Rede Neural Artificial Multilayer Perceptron . . . 33
2.5.3 Máquinas de vetor de suporte para regressão (SVR) . . . 37
2.6 Seleção de características . . . 39
2.7 Dynamic Time Warping . . . 40
3 Método proposto 45 3.1 Módulo de mudança de sentido (MS) . . . 47
3.1.1 Criação da série de mudança de sentido . . . 47
3.1.2 Treinamento do pool de preditores . . . 48
3.1.2.1 Particionamento . . . 48
3.1.2.2 Seleção de lags . . . 51
3.1.2.3 Seleção dos dados de validação . . . 52
3.2 Módulo de previsão do próximo valor . . . 52
3.3 Testes . . . 53
3.3.1 Previsão de mudança de sentido . . . 53
3.3.2 Seleção do melhor preditor . . . 54
3.3.3 Previsão do próximo valor . . . 55
4 Metodologia dos experimentos 56 4.1 Bases de dados . . . 56
4.2 Medidas de desempenho . . . 57
4.3 Metodologia de avaliação . . . 60
4.4 Testes Estatísticos . . . 65
4.4.2 Teste F . . . 66 4.4.3 Teste t-Student . . . 66 4.4.4 Teste de Wilcoxon . . . 67 5 Análise e resultados 68 5.1 Goldman Sachs . . . 68 5.1.1 LagsSelecionados . . . 68 5.1.2 Resultados . . . 70 5.2 Microsoft . . . 75 5.2.1 LagsSelecionados . . . 75 5.2.2 Resultados . . . 76 5.3 Mackey-Glass . . . 81 5.3.1 LagsSelecionados . . . 81 5.3.2 Resultados . . . 82 5.4 Laser . . . 87 5.4.1 LagsSelecionados . . . 87 5.4.2 Resultados . . . 88 5.5 Considerações Finais . . . 93 5.5.1 Resultados . . . 94
5.5.2 Simulação mudança de sentido . . . 95
6 Conclusão 98 6.1 Contribuições . . . 98
6.2 Trabalhos Futuros . . . 99
16 16 16
1
Introdução
Este capítulo introdutório está dividido em três seções. A primeira (Seção 1.1) apresenta o problema da análise e previsão de séries temporais, assim como a motivação desta dissertação. Na segunda (Seção 1.2) são apresentados os objetivos deste trabalho. Por fim, na terceira (Seção 1.3), a estrutura da dissertação é apresentada.
1.1
Motivação
A análise de séries temporais é uma tarefa bastante relevante (DONATE et al.,2013), e é aplicada em diversos domínios (COWPERTWAIT; METCALFE,2009;ADEBIYI; ADEWUMI; AYO,2014). Dentre os quais podem ser citados o mercado financeiro (ATSALAKIS;
VALA-VANIS,2009), hidrologia (DI; YANG; WANG,2014;ALMEIDA,2014), análise de poluentes
(MATTOS NETO et al.,2014), entre outros domínios (DONATE et al.,2013;ISMAIL; SHABRI;
SAMSUDIN,2011;EBADZADEH; SALIMI-BADR,2015). Grande parte das pesquisas em
análise de séries temporais tem como objetivo desenvolver um modelo de previsão que utilize dados passados para prever valores futuros. Diversos modelos foram desenvolvidos e analisados
(HSU,2011;ISMAIL; SHABRI; SAMSUDIN,2011;EBADZADEH; SALIMI-BADR,2015;
MATTOS NETO et al.,2014;JUANG; HSIEH,2012;MIRANIAN; ABDOLLAHZADE,2013;
SMITH; JIN,2014), contudo ainda existe a necessidade de desenvolver modelos mais acurados.
Dentre os modelos de previsão de séries temporais, existem os modelos estatísticos clássicos, como os modelos auto-regressivos, os que utilizam a média móvel e os que analisam a heteroscedasticidade condicional (BOX; JENKINS,1994;BOLLERSLEV,1986;ENDERS,
2003; COWPERTWAIT; METCALFE, 2009; SHUMWAY; STOFFER, 2011). Os modelos
estatísticos como o ARIMA e o GARCH são parcimoniosos, e seus parâmetros são geralmente calculados por métodos determinísticos. Além destes, os modelos da Inteligência Computacional, como as Redes Neurais Artificiais (RNA) e Máquinas de Vetores de Suporte (SVM), tem posição de destaque na literatura (LAHMIRI, 2011; ADEBIYI; ADEWUMI; AYO, 2014;
HSU, 2011; TICKNOR, 2013; DI; YANG; WANG, 2014; HSU et al., 2009; MIRANIAN;
1.1. MOTIVAÇÃO 17 temporais, pois conseguem criar um modelo a partir de dados já observados, e que pode ser aplicado a outros dados do problema que não se encontravam no conjunto observado (ADEBIYI;
ADEWUMI; AYO,2014). Por fim, para séries não-lineares, não é necessária a definição de
uma função não-linear a priori para a aproximação da série, o que é necessário nos modelos da estatísticos (ADEBIYI; ADEWUMI; AYO,2014;COWPERTWAIT; METCALFE,2009).
Estudos sugerem que alguns tipos de séries temporais, como as séries financeiras e hidrológicas, possuem padrões de comportamento que se repetem ao longo do tempo na série
(NI; YIN, 2009; DABLEMONT et al., 2003). Esta repetição de padrões pode ser utilizada
para melhorar a acurácia das previsões, pois, segundo estes estudos, séries dessa natureza geralmente apresentam repetição de padrões de comportamento.HSU(2011) utiliza um modelo de RNA para criar grupos de conjuntos de dados semelhantes, e treina preditores para cada grupo. Este modelo de previsão com modelos locais também é utilizado emISMAIL; SHABRI;
SAMSUDIN(2011). EmMIRANIAN; ABDOLLAHZADE(2013), os autores criam vários
preditores baseados em características diferentes da série. Nestes estudos citados, os autores alcançam resultados melhores com as abordagens propostas do que com os outros modelos que avaliaram.
Já outros estudos dividem a previsão de séries temporais em tarefas menores, realizando a previsão em etapas que focam em resolver apenas um problema. EmDI; YANG; WANG (2014), é utilizada uma abordagem de previsão em quatro passos, que são: suavização de ruído, decomposição, componentes de previsão e combinação de previsões, para prever séries referentes às vazões de rios chineses, chegando a conclusão de que a suavização do ruído e a decomposição da série melhoram significativamente o resultado da previsão, pois eles deixam a série com uma variação de valores mais uniforme. Já emMATTOS NETO et al.(2014), os autores utilizam uma estratégia de previsão para séries de partículas de poluentes da cidade de Helsinki em dois passos: no primeiro é realizada uma previsão preliminar da série (fase de otimização de parâmetros) e o seu resultado é acrescentado à série como o valor mais atual. Esta série modificada é então apresentada ao segundo passo, que realiza um ajuste de fase da previsão do passo anterior.
Outra finalidade da análise de séries temporais, é a de realizar comparações entre duas ou mais séries, obtendo como resultado o nível de semelhança entre elas, que pode auxiliar os processos de agrupamento e de classificação de séries. O algoritmo Dynamic Time Warping (DTW) (SAKOE; CHIBA,1978) foi criado com este propósito. O DTW calcula a distância entre as duas séries amenizando o efeito negativo do deslocamento temporal em uma das séries.
EmJEONG; JEONG; OMITAOMU(2011), os autores adaptam o algoritmo DTW para que
aplique penalidades nesta comparação de distâncias entre séries, com a finalidade de diminuir a influência de outliers no cálculo da distância. EmRODRIGUEZ; KUNCHEVA(2007) os autores utilizam o DTW a fim de calcular a distância entre uma série que desejam classificar e algumas séries pré-determinadas, obtendo um resultado bastante satisfatório.
A partir dos estudos citados nos parágrafos anteriores, é possível perceber que a iden-tificação de padrões de comportamento e sua posterior utilização na previsão pode melhorar
1.2. OBJETIVO 18 o resultado da previsão (NI; YIN,2009; DABLEMONT et al.,2003; HSU, 2011; ISMAIL;
SHABRI; SAMSUDIN,2011;MIRANIAN; ABDOLLAHZADE,2013). Foi visto também
que a estratégia de dividir o problema de previsão em problemas menores, também melhora os resultados (DI; YANG; WANG,2014;MATTOS NETO et al.,2014). Esta estratégia é muito utilizada na computação sendo comumente chamada de dividir para conquistar (CAO,2003;
ISMAIL; SHABRI; SAMSUDIN,2011;NI; YIN,2009). Por fim, foi constatado que o DTW
é um bom algoritmo para analisar a semelhança entre duas séries temporais (RODRIGUEZ;
KUNCHEVA,2007).
Além das conclusões do parágrafo anterior, nos estudos analisados (TICKNOR,2013;
HSU,2011;NI; YIN,2009), na maioria das vezes em que a série muda de sentido (isto é, os
seus valores estavam aumentando de valor com o passar do tempo e então passam a diminuir, ou quando o contrário ocorre, os valores estão diminuindo e então passam a aumentar), os modelos de previsão erram a previsão, pois costumam realizar a previsão sem alterar o sentido da série. Uma possível solução para isto, consiste em tratar o problema da previsão do sentido separadamente, para então utilizá-la como mais uma informação para a previsão do próximo valor da série.
1.2
Objetivo
O objetivo principal desta dissertação é propor uma arquitetura para a análise e previsão de séries temporais com os seguintes conceitos:
1. Preditores especializados em padrões de comportamento específicos de amostras da série temporal, buscando uma melhor acurácia na previsão
2. Módulo especializado na predição do sentido futuro da série e outro especializado na predição do próximo valor da série, buscando uma melhor acurácia na previsão Este trabalho propõe um sistema para previsão de séries temporais, que utiliza os concei-tos de particionamento da série para a identificação de padrões de comportamento, e também a abordagem de dividir a tarefa de previsão em subtarefas menores. O sistema possui dois passos de previsão, no primeiro é tratado o problema de predizer o sentido da série no próximo instante, enquanto o segundo realiza a previsão do próximo valor. Nos dois passos a série é dividida em janelas, e cada uma possui um preditor associado, de modo que ele se torna especialista na previsão de um padrão de comportamento da série. Além disso, a arquitetura trata dos problemas que ocorrem quando não existem muitos dados para realizar o treinamento, através de um algoritmo proposto para a seleção de dados para a validação do treinamento. O algoritmo Dynamic Time Warping(DTW) auxilia na escolha do melhor preditor para realizar a previsão, uma vez que a arquitetura possui diversos preditores, é necessário realizar esta seleção. Este algoritmo também é utilizado no algoritmo de seleção de dados para a validação.
1.3. ESTRUTURA DA DISSERTAÇÃO 19 A arquitetura proposta define uma metodologia para o treinamento e execução da previsão com diversos módulos, cada um com seu objetivo. Tais módulos podem ser modificados e otimizados posteriormente, sem prejuízos para o funcionamento do sistema, desde que o objetivo continue o mesmo. Para a avaliação do sistema proposto foram utilizadas algumas métricas muito utilizadas na literatura.
1.3
Estrutura da dissertação
Esta dissertação está organizada em seis capítulos. No Capítulo 2 são abordados conceitos básicos e técnicas utilizadas na área de análise e previsão de séries temporais, além de apresentar trabalhos recentes na área. No Capítulo 3, a arquitetura proposta é descrita, sendo detalhadas todas as suas etapas. O Capítulo 4 apresenta as bases de dados e as medidas de desempenho utilizadas para a avaliação do sistema proposto, e também detalha a metodologia de avaliação. O Capítulo 5 apresenta a análise dos parâmetros do sistema proposto e os resultados obtidos, além de realizar a comparação com outros sistemas da literatura. Por fim, o Capítulo 6 apresenta as conclusões acerca do estudo realizado, e apresenta proposições de trabalhos futuras a partir deste estudo.
20 20 20
2
Conceitos e técnicas
Este capítulo aborda conceitos e técnicas utilizados na construção do sistema proposto e que são tradicionais na área de análise e previsão de séries temporais. A Seção 2.1 apresenta o conceito de série temporal e algumas características comumente encontradas, a Seção 2.2 apresenta a definição de autocorrelação e como ela é usada na análise das séries temporais. A Seção 2.3 define o conceito de estacionariedade, sua importância e o procedimento para tornar uma série estacionária. Na Seção 2.4 é apresentado o conceito de variações nos padrões de comportamento de uma série temporal, o qual estuda como as características da série se comportam ao longo do tempo e como essa análise pode ajudar na sua previsão. A Seção 2.5 descreve os modelos estatísticos e da Inteligência Computacional para a previsão de séries temporais. A Seção 2.6 descreve como são construídos os conjuntos de entrada para os modelos de previsão que utilizam Inteligência Computacional, e por fim, a Seção 2.7 apresenta o algoritmo Dynamic Time Warping (DTW) que possui grande importância na seleção de características temporais do modelo proposto.
2.1
Séries temporais
Cowpertwait e Metcalfe definem série temporal como sendo observações de uma variável que são coletadas periodicamente durante um intervalo de tempo (período amostral) (
COW-PERTWAIT; METCALFE,2009). Shumway e Stoffer a definem como uma coleção de variáveis
aleatórias ordenadas no tempo (SHUMWAY; STOFFER,2011) . Uma série temporal pode ser representada como Xt = {x1, x2, . . . , xn}, com n sendo o número de medições realizadas da variável x. Como exemplos de séries temporais temos:
Índice de inflação mensal no Brasil;
Valor diário do preço de fechamento da ação da Petrobras;
Temperatura média global mensal;
2.1. SÉRIES TEMPORAIS 21
Taxa de desemprego mensal;
Índice pluviométrico mensal de uma região;
Características de uma série temporal
A Figura 2.1 apresenta um exemplo de série temporal que representa o número mensal de passageiros de voos internacionais nos Estados Unidos no período de 1949 à 1960 pela companhia aérea Pan Am (COWPERTWAIT; METCALFE,2009). Na série é possível identificar algumas características que uma série temporal pode possuir, como tendência, sazonalidade, correlação entre os valores e ruído.
0 100.000 200.000 300.000 400.000 500.000 600.000 700.000 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 Qu an tidade de passa gei ro s Tempo
Quantidade mensal de passageiros internacionais pela companhia aérea Pan Am
Figura 2.1: Série mensal do número de passageiros de voos internacionais nos Estados Unidos de 1949 à 1960 pela companhia aérea Pan Am
A primeira que pode ser identificada é a tendência, que é caracterizada na figura pelo aumento no número de passageiros a cada ano. A tendência é definida como uma mudança sistemática nos valores da série e que não aparenta ser periódica (COWPERTWAIT; METCALFE, 2009). Essa mudança é caracterizada pela existência de uma sequência de valores na série, que aumentam ou diminuem consistentemente por um longo período de tempo, ocasionando um aumento ou diminuição da média dos valores da série ao logo do tempo.
Outra característica encontrada nesta série é a sazonalidade. A sazonalidade pode ser definida como padrões que se repetem periodicamente dentro de um intervalo de tempo
(COWPERTWAIT; METCALFE,2009), que no caso da Figura 2.1 é de um ano. Na Figura 2.1
pode ser visto um comportamento sazonal que se repete em todos os anos. Nos meses de Julho e Agosto ocorre um aumento no número de passageiros, ocasionando picos no meio do ano, e então o número de passageiros diminui, esse movimento sazonal ocorre em todos os anos da série.
2.1. SÉRIES TEMPORAIS 22 Uma característica muito importante a ser observada é a estacionariedade. Para uma série ser estacionária em sua média, a média não pode estar em função do tempo, isto é, a média da série não deve alterar com o passar do tempo. A Figura 2.2(a) apresenta uma série que é estacionária em sua média, mostrando que os valores variam sempre em torno do valor zero, e desta forma, não apresentam a característica de tendência.
-45 -35 -25 -15 -5 5 15 25 35 45 1 251 501 751 1.001 1.251 1.501 1.751 2.001 2.251 2.501 2.751 3.001 V al o r Tempo
(a) Série estacionária em sua média
-10 -8 -6 -4 -2 0 2 4 6 1 251 501 751 1.001 1.251 1.501 1.751 2.001 2.251 2.501 2.751 3.001 V al o r Tempo
(b) Série estacionária em sua variância
Figura 2.2: Séries estacionárias
Apesar da Figura 2.2(a) ser estacionária em sua média, ela não é estacionária em sua variância, pois a variância no final da série é maior que no início. A Figura 2.2(b) apresenta uma série que é estacionária também em relação à sua variância. A análise da estacionariedade da série é importante, pois se a série é estacionária, suas propriedades estatísticas (média e variância)
2.2. FUNÇÃO DE AUTOCORRELAÇÃO 23 são estáticas, isto é, não mudam com o passar do tempo. Isto ajuda ao realizar a previsão da série temporal, pois pode-se considerar que o valor previsto deve ser proveniente de uma distribuição na qual a média e a variância é conhecida.
2.2
Função de Autocorrelação
Séries temporais como a temperatura global mensal, vazão mensal de um determinado rio, taxa de natalidade de determinado país, quantidade mensal de passageiros de avião, entre outras séries temporais, possuem uma tendência natural a apresentar correlação entre observações próximas no tempo (COWPERTWAIT; METCALFE, 2009). A correlação é uma medida sem dimensão que objetiva medir a relação linear entre duas variáveis (COWPERTWAIT;
METCALFE,2009). Em se tratando da dependência linear, ela pode ser derivada da covariância
(γ) que é definida pela Equação2.1 .
γ (x, y) = E [(x − µx) (y − µy)] 2.1 A correlação linear (ρ), a covariância amostral e a correlação linear amostral (Cor) são definidas pelas Equações2.2 , 2.3 e 2.4 , respectivamente.
ρ (x, y) = γ (x, y) σxσy 2.2 Cov(x, y) = n ∑ i=1 (xi− x) (yi− y) n− 1 2.3 Cor(x, y) =Cov(x, y) sxsy 2.4 A autocorrelação na análise de séries temporais mede a correlação entre o valor no instante xt e o valor no instante xt+k, em que k é um valor inteiro denominado lag (retardo temporal), que representa a quantidade de passos de tempo entre dois pontos de uma série temporal (COWPERTWAIT; METCALFE,2009). Para calcular a autocorrelação linear do lag k (ρk) e a autocorrelação amostral (rk) são utilizadas as Equações
2.5 ,2.6 , 2.7 e 2.8 . γk= E [(xt− µ) (xt+k− µ)] 2.5 ρk= γk σ2 2.6 rk= ck c0 2.7
2.2. FUNÇÃO DE AUTOCORRELAÇÃO 24 ck= 1 n n−k
∑
t=1 (xt− x) (xt+k− x) 2.8 No cálculo da autocovariância (Equação2.5 ), não há um limite superior ou inferior dos valores, já na autocorrelação (Equação2.6 ), os valores ficam entre -1 e 1 ( COWPERTWAIT;METCALFE, 2009). Um valor de autocorrelação zero significa que não há autocorrelação
linear para o lag analisado, já um valor menor que zero ou maior que zero, significa que há autocorrelação negativa ou positiva, respectivamente (COWPERTWAIT; METCALFE,2009).
Na previsão de séries temporais, o erro da previsão geralmente é calculado como a diferença ou razão entre o valor previsto pelo modelo e o valor real da série. Desta forma, é possível criar uma série que representa o erro da previsão, também chamada de série residual, e é dada pela Equação2.9 para o caso da diferença, na qual x i é o i-ésimo valor desejado da previsão e modeloié o i-ésimo valor previsto pelo modelo. Uma previsão com uma ótima acurácia, geralmente produz uma série residual semelhante à série da Figura 2.3(a), a qual apresenta uma série característica no estudo de séries temporais e da engenharia, denominada ruído branco. Ela é formada por valores aleatórios, identicamente distribuídos com média zero e variância finita σw2 (COWPERTWAIT; METCALFE,2009;SHUMWAY; STOFFER,2011). As principais características desta série são a estacionariedade e a ausência de correlação entre os valores da série. Por não existir correlação e ser formada por valores aleatórios, é muito difícil realizar a previsão de seus valores.
resi= xi− modeloi 2.9 A partir dos valores de autocorrelação (ck ou ρk) com k entre 1 e n é possível desenhar um gráfico chamado de autocorrelograma, o qual exibe quais são os lags que possuem alto grau de correlação temporal. A Figura 2.3(b) que exibe o autocorrelograma para o ruído branco mostrado na série da Figura 2.3(a), apresenta linhas tracejadas que delimitam o intervalo de confiança para o valor de autocorrelação zero, de modo que só existe correlação estatisticamente significante (nível de confiança de 95%) se o valor estiver acima ou abaixo destas linhas. No caso do ruído branco, não existem lags com tais valores de autocorrelação, provando que a série possui apenas valores aleatórios identicamente distribuídos e independentes. (FIRMINO;
MATTOS NETO; FERREIRA,2014,2015)
Ao contrário da Figura 2.3(b), na Figura 2.4, é possível observar a alta correlação que existe na série de passageiros da Figura 2.1. Isto ocorre porque a série possui as características de tendência ascendente, que indica que o próximo valor da série é o valor anterior acrescido de um valor constante, e sazonalidade que se repete anualmente, o que indica uma correlação alta para o lag de 12 meses (1 ano).
Apesar da autocorrelação prover indícios de quais retardos temporais (lag) influenciam no valor atual da série, podem haver interferências entre os próprios retardos. Nesse caso o ideal
2.2. FUNÇÃO DE AUTOCORRELAÇÃO 25 -3,5 -3,0 -2,5 -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476 V al o r Tempo Ruído branco
(a) Série de ruído branco
-0,2 0,0 0,2 0,4 0,6 0,8 1,0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Aut o co rr ela ção Lag
(b) Autocorrelograma da série de ruído branco
Figura 2.3: Série de ruído branco e seu autocorrelograma
é que essa interferência seja anulada. A autocorrelação parcial representa a correlação de um determinado lag k depois da remoção dos efeitos de qualquer correlação dos lags anteriores à k, ou seja, menores que k (COWPERTWAIT; METCALFE,2009). A correlação parcial do lag k é o valor do k-ésimo coeficiente de um modelo AR(k) ajustado à série (o modelo AR é descrito na Seção 2.5.1).
Para melhor visualizar a diferença entre o autocorrelograma parcial e autocorrelograma, a Figura 2.5 apresenta no mesmo gráfico a autocorrelação e a autocorrelação parcial da série de preço de fechamento ajustado das ações da Goldman Sachs. Esta série foi escolhida por apresentar tendência e ter seus valores correlacionados. A correlação é uma característica presente na maioria das séries de preços de ações, uma vez que, no processo de decisão de
2.2. FUNÇÃO DE AUTOCORRELAÇÃO 26 -0,2 0,0 0,2 0,4 0,6 0,8 1,0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Aut o co rr elação Lag
Figura 2.4: Autocorrelograma da série de passageiros
-0,2 -0,1 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A u to co rr ela ção Lag
Autocorrelação parcial Autocorrelação
Figura 2.5: Autocorrelograma parcial x Autocorrelograma da série de preço de fechamento ajustado das ações da Goldman Sachs
2.3. ESTACIONARIEDADE EM SÉRIES TEMPORAIS 27 compra de uma ação, geralmente o investidor leva em consideração o histórico de preços até o momento da compra. Para calcular os valores do gráfico não foi realizado nenhum tratamento na série, ou seja, não houve nenhum tratamento de remoção de tendência, sazonalidade, nem normalização. É possível notar que pelo valor de autocorrelação, todos os lags podem ser considerados significantes (acima da linha tracejada), enquanto na autocorrelação parcial, apenas os lags 1, 2 e 11 são considerados significantes. No entanto, após realizar tratamento descrito na Seção 2.3 a fim de remover a tendência e sazonalidade desta série, a diferença entre os valores calculados de autocorrelação e autocorrelação parcial na série tratada foi pequena, não ocorrendo diferença na significância dos lags.
2.3
Estacionariedade em Séries Temporais
O processo de previsão de uma série temporal não estacionária (Seção 2.2) é mais difícil de ser realizado quando comparado ao processo em uma série estacionária. Isso acontece porque o preditor também deverá ser modelo para capturar a tendência e a sazonalidade da série temporal, ao invés de focar na modelagem dos resíduos da série. A série de resíduos neste caso, é a série resultante da subtração da tendência e sazonalidade da série original, nela geralmente existe pouca tendência e sazonalidade, os quais não são perceptíveis (COWPERTWAIT; METCALFE,
2009;ZHANG,2007). Com o objetivo de remover a tendência e sazonalidade da série, de forma
que o preditor necessite apenas realizar a análise e previsão do valor sem estes componentes, foram criadas técnicas para tornar uma série estacionária em sua média. A diferenciação é a principal delas (COWPERTWAIT; METCALFE,2009).
Para verificar se há a necessidade da diferenciação é realizado um teste estatístico que verifica se a média da série temporal muda ao longo do tempo. Uma maneira de fazer isso é aplicar o teste t-Student (GHEYAS; SMITH,2011) com a hipótese nula (H0) sendo Xincio= Xf im, na qual Xinciocorresponde à média amostral da metade inicial da série e Xf imà média amostral da metade final da série, sendo a média amostral definida pela Equação2.11 . Se H 0for rejeitada, a diferenciação deve ser aplicada n vezes até que H0seja aceita. A diferenciação consiste na aplicação da Equação2.10 em toda a série temporal, isso irá originar um novo conjunto de dados que pode ainda não ser estacionária em sua média, nesse caso o procedimento deve ser repetido sobre a nova série.
ValorNovot = Valort−Valort−1. 2.10
X = 1 n n
∑
i=1 xi 2.11 Ao criar um modelo de previsão com a série diferenciada (resultante da aplicação da Equação 2.10 ), a previsão dada pelo modelo em ValorNovo t consiste apenas na diferença entre Valort e Valort−1, não representando então o valor no domínio original da série. Para2.4. MUDANÇAS NAS SÉRIES TEMPORAIS 28 obter o valor no domínio original da série, é necessário realizar o procedimento inverso ao da diferenciação, chamado de integração, descrita pela Equação2.12 .
Valort = ValorNovot+Valort−1.
2.12
2.4
Mudanças nas séries temporais
Como vimos nas seções anteriores, algumas séries temporais possuem comportamentos que se repetem ao longo da série, tais como tendência e sazonalidade. Estas características podem mudar com o passar do tempo. Por exemplo, uma tendência descendente pode não existir a partir de um determinado ponto da série, ou essa tendência descendente pode virar ascendente. Comportamentos sazonais podem também sofrer modificações com o tempo.
A abordagem proposta nesta dissertação usa como base estas variações de comportamen-tos, muito comuns em séries financeiras (NI; YIN,2009). Nessas séries, eventos e notícias que impactam o mundo financeiro ocorrem constantemente, trazendo mudanças nas perspectivas futuras das empresas e do mercado em que estão inseridas, sendo refletidas no preço de suas ações. DABLEMONT et al. (2003) afirmam que os participantes do mercado financeiro já observavam que uma série financeira pode seguir diferentes comportamentos com o passar do tempo, como: ter uma reação exagerada, retornar a média histórica, entre outros. A partir disso eles justificam que as séries financeiras não devem ser modeladas por um processo único, como fazem os modelos ARIMA-GARCH clássicos (Seção 2.5.1), e sim por uma sucessão de vários processos, onde cada um está vigente durante um determinado espaço de tempo, e que geralmente se repete.
Esta também é a visão de HSU et al.(2009), eles afirmam que no universo de séries financeiras, muitas vezes ocorrem mudanças estruturais ocasionadas por eventos políticos, momentos econômicos, mudanças nas expectativas de quem opera no mercado financeiro, entre outros fatores. Sendo assim, é muito difícil para um único modelo conseguir capturar todas essas variações. Nesse estudo, eles propõem uma arquitetura em dois estágios, com o primeiro estágio agrupando comportamentos semelhantes das séries utilizando o Self-Organizing Maps (SOM), e no segundo estágio, as previsões são realizadas por meio de Support Vector Regressions (SVRs), que são treinadas sobre cada cluster formado pelo primeiro estágio.
A utilização do SOM para a formação de clusters a fim de posteriormente aplicar um modelo de previsão sobre eles também é utilizado porISMAIL; SHABRI; SAMSUDIN(2011). Nesse estudo, os autores também demonstram que o método proposto consegue ser melhor que o modelo com apenas um preditor.NI; YIN(2009) utiliza uma versão modificada do SOM, o Recurrent SOM(RSOM) em conjunto com SVRs e também conseguem resultados satisfatórios.
A suposição de que as séries temporais dos mercados financeiros devem ser modeladas por vários processos recorrentes pode ser observada no gráfico da Figura 2.6, que apresenta os valores de fechamento mensal do Índice da Bolsa de Valores de São Paulo (IBOVESPA)
2.4. MUDANÇAS NAS SÉRIES TEMPORAIS 29 no período de Jan/1997 a Dez/2011. Nele é possível visualizar um padrão que se repete duas vezes. O padrão inicia com os valores aumentando para então ocorrer uma queda brusca de quase 40% do valor em 1998 e de quase 50% em 2008. Após esta queda a série passa por um curto período de estabilidade e inicia uma subida moderada, até retornar a valores próximos ao período pré-queda. 10,707 6,472 72,593 37,257 0 10 20 30 40 50 60 70 80
jan/1997 set/1998 mai/2000 jan/2002 set/2003 mai/2005 jan/2007 set/2008 mai/2010
V al o r (em milhar es) Mês
Figura 2.6: Fechamento mensal do IBOVESPA de Jan/1997 a Dez/2011
1 3 5 7 9 11 13
mai/1998 ago/1998 nov/1998 fev/1999
V alo r (em mil h ar es) Mês 10 20 30 40 50 60 70 80
nov/2007 ago/2008 mai/2009 fev/2010
V al o r (em milhar es) Mês
Figura 2.7: Fechamento mensal do IBOVESPA de Mai/1998 a Abr/1999 e de Nov/2007 a Mar/2010
A Figura 2.7 apresenta os dois movimentos de forma mais clara. No período de Maio/1998 a Abril/1999 o movimento foi mais rápido, durando apenas 12 meses, enquanto no período de Novembro/2007 a Março/2010 o movimento durou 29 meses e por isso há uma pequena diferença nos gráficos. Estes dois períodos de tempo em que o padrão foi observado, foram marcados por crises financeiras que afetaram a economia brasileira.
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 30 Em seu estudo,CAO(2003) também concorda com a utilização de vários modelos para modelar uma série temporal complexa como as séries financeiras. Ele afirma que a modelagem de séries temporais possui 2 grandes problemas: o ruído e a não estacionariedade. O ruído é referente a não disponibilidade de todos os comportamentos passados da série a fim de se capturar toda a dependência entre o passado e o futuro. Já a não-estacionariedade implica que a série muda sua dinâmica com o passar do tempo, o que guiará mudanças na dependência entre os dados de entrada e as saídas. Desta forma, Cao sugere que é difícil criar um único modelo para uma série temporal que consiga capturar toda essa dinâmica da relação de entrada e saída e também dos ruídos, já que regiões diferentes das séries podem possuir ruídos diferentes. Em
FIRMINO; MATTOS NETO; FERREIRA(2014), os autores afirmam que a maioria dos estudos
assumem que existe um modelo para a série temporal e que ele é conhecido, restando apenas o trabalho de estimar os seus parâmetros. Contudo, estes estudos negligenciam a questão da incerteza de modelos (NEUMAN,2003), que sugere ser muito difícil encontrar um único modelo para uma série e que adotar apenas um modelo pode levar a solução a possuir um viés estatístico ou uma subestimação da incerteza.
Em um problema de classificação de séries temporais, RODRIGUEZ; KUNCHEVA (2007) também concordam com o conceito de que uma série muda de padrão de comportamento ao longo do tempo. Eles utilizam como entradas valores estatísticos das séries, como valor máximo, valor mínimo e o desvio-padrão em momentos distintos da série. Para isto, os autores derivam, da série original, todas as subséries possíveis de tamanho 2x, com 1 ≤ x ≤ log2(z), e zsendo o tamanho da série. Contudo em séries maiores eles precisam diminuir a quantidade de subséries por questões de desempenho. Com isto, eles conseguem utilizar a variação de indicadores estatísticos em diversos horizontes (curto, médio e longo prazo de acordo com o tamanho da série) como entradas para os classificadores, e assim, conseguem resultados bastante satisfatórios.
A partir desses estudos e experimentos (DABLEMONT et al., 2003; RODRIGUEZ;
KUNCHEVA,2007;NI; YIN,2009;HSU et al.,2009;ISMAIL; SHABRI; SAMSUDIN,2011),
conclui-se que para realizar boas previsões de séries temporais (principalmente as financeiras, contudo esta dinâmica não é exclusividade delas), uma boa estratégia consiste na criação de vários modelos locais de previsão, seguindo a abordagem dividir para conquistar. Neste trabalho, a criação dos modelos locais se dá a partir do particionamento da série em janelas, cada uma com um padrão de comportamento. A partir das janelas, os modelos locais de previsão são criados, cada um sendo especialista no padrão de comportamento de apenas uma janela.
2.5
Modelos para previsão de séries temporais
A previsão de séries temporais tem como objetivo estimar os valores futuros de uma série temporal dado seus valores passados e, em alguns casos, informações exógenas, que não estão contidas na série. Esta tarefa tem grande importância, pois auxilia na tomada de decisões. Como
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 31 exemplo temos a previsão do índice pluviométrico mensal de uma determinada região, o valor previsto, caso seja muito baixo, pode indicar que haverá necessidade de racionamento de água por parte da população, ou então, caso ele seja muito alto, pode levar o governo da região a tomar algumas medidas para evitar transtornos como alagamentos. A partir desta mesma previsão, uma indústria eletrointensiva pode decidir estimular seus funcionários a entrarem de férias nos meses em que a previsão de chuvas é menor, que tem como consequência no Brasil, tornar a energia mais cara. Desta forma, a indústria produziria menos e venderia o excedente que possui de energia por um preço mais alto do que comprou.
Além dos dados utilizados para prever a série temporal, também é preciso de um modelo de previsão. Diversos modelos de previsão são encontrados na literatura, entre eles podem ser destacados os modelos estatísticos como o ARIMA (BOX; JENKINS,1994) e GARCH
(BOLLERSLEV,1986) e os modelos da Inteligência Computacional, como Multilayer
Per-ceptron(MLP) (RUMELHART; MCCLELLAND; PDP RESEARCH GROUP,1986), Support Vector Regression(SVR) (BOSER; GUYON; VAPNIK,1992;CORTES; VAPNIK,1995),
Self-Organization Maps (HSU,2011), Redes Recorrentes de Jordan e Elman (DESELL et al.,2014), Reservoir Computing (ALMEIDA, 2014), Redes Neurais Fuzzy (EBADZADEH;
SALIMI-BADR,2015;JUANG; HSIEH,2012;MIRANIAN; ABDOLLAHZADE,2013).
2.5.1
Modelos estatísticos
Dentre os modelos estatísticos, um modelo muito citado na literatura é o ARIMA
(ADEBIYI; ADEWUMI; AYO,2014; ATSALAKIS; VALAVANIS,2009;KAO et al.,2013;
BOX; JENKINS,1994;COWPERTWAIT; METCALFE,2009;SHUMWAY; STOFFER,2011).
O ARIMA representa a junção de dois modelos, o Autoregressive (AR) e o Moving Average (MA), além da técnica de diferenciação da série, que obriga a série a ser agregada ou integrada (I) de volta ao seu estado original. O modelo AR possui um parâmetro que indica a ordem do processo. Uma série Xt = x1, x2, . . . , xn é um modelo AR de ordem p, ou AR(p), se seguir a Equação2.13 . xt= α1xt−1+ α2xt−2+ ... + αpxt−p+ wt 2.13 Na Equação2.13 w t representa um ruído branco com média zero e variância σ2, αi representa parâmetros do modelo que caracterizam a série, com αp6= 0 para um processo AR(p)
(COWPERTWAIT; METCALFE,2009). Ou seja, o modelo AR de ordem p, modela uma série
que consiste na soma ponderada dos últimos p valores da série temporal acrescidos de um valor retirado de uma série de ruído branco. Portanto, o termo wt representa um valor aleatório, que não é possível prever, porém a sua variância amostral pode ser estimada a partir dos dados da série.
Para usar o modelo AR na previsão de séries temporais, primeiro são utilizados o autocorrelograma e autocorrelograma parcial (Seção 2.2) para determinar a ordem do processo
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 32 AR da série. O próximo passo é estimar os parâmetros αi, geralmente é utilizado o método dos mínimos quadrados generalizado ou método da máxima verossimilhança (COWPERTWAIT;
METCALFE,2009;SHUMWAY; STOFFER,2011). Posteriormente, os parâmetros da série de
ruído branco é estimado da seguinte forma: a série original é subtraída da série do modelo (sem a parcela que se refere ao ruído) conforme a Equação2.9 , com objetivo de obter a série de ruído, e então é estimada a distribuição de probabilidade desta série. Com os parâmetros definidos, a previsão do próximo valor da série é a saída da fórmula do modelo AR.
O modelo MA, assim como o AR, possui um parâmetro (q) que indica a ordem do processo. Um modelo MA(q) define uma série que é uma combinação linear dos q mais recentes termos de uma série de ruído branco adicionados do termo corrente (COWPERTWAIT;
METCALFE,2009), ou seja, o modelo MA(q) é definido pela Equação2.14 .
xt= wt+ β1wt−1+ ... + βqwt−q 2.14 Na Equação2.14 , w irepresenta o i-ésimo termo de uma série de ruído branco de média zero e variância σ2e βisão parâmetros que caracterizam a série. No modelo MA, a ordem do processo também é estimada através do autocorrelograma, porém os valores dos parâmetros βido MA, geralmente são estimados pelo método da máxima verossimilhança. A previsão do próximo valor da série, é a saída da fórmula do modelo MA.
Como dito anteriormente, o ARIMA integra os modelos de autoregressão, da média móvel e também o método da diferenciação. Ele possui três parâmetros, p (ordem do AR), d(quantidade de diferenciações) e q (ordem do MA). No ARIMA, o AR tem como principal função, realizar a estimativa do quanto os valores passados da própria série temporal influenciam no valor atual, a diferenciação tem como objetivo tornar uma série não estacionária em uma série estacionária em relação a média, e por fim, o MA visa modelar o ruído (“choques aleatórios”) que a série possui e que influenciam em seu comportamento futuro.
O primeiro passo para realizar a previsão de uma série temporal utilizando o modelo ARIMA, é verificar se a série é estacionária. Caso não seja, a diferenciação deve ser aplicada e o teste de estacionariedade deve ser realizado novamente. Caso ela continue não-estacionária, a diferenciação é aplicada novamente, quantas vezes for necessário. A quantidade de diferenciações define o parâmetro d do ARIMA.
O próximo passo consiste em tentar encontrar a ordem p do modelo AR que melhor se ajusta a série já diferenciada, caso tenha sido necessário. Após encontrar a ordem do AR, é realizado o processo de encontrar a ordem q do modelo MA. Com o parâmetro d definido, é realizada uma busca para encontrar o melhor modelo ARIMA que se ajusta à série. A busca é realizada analisando todas as combinações de modelos ARIMA com os parâmetros variando da seguinte forma: 0 ≤ p ≤ pmax e 0 ≤ q ≤ qmax, com pmax e qmax sendo escolhidos de forma a limitar o tempo de processamento do modelo. O modelo que melhor se ajustar, ou seja, que tiver a melhor medida de verossimilhança é escolhido (COWPERTWAIT; METCALFE,2009).
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 33 Apesar do modelo ARIMA obter resultados satisfatórios, com ele não é possível fazer uma boa modelagem em uma série temporal não-linear, pois é necessário definir a priori a estrutura da função que melhor modela a série. Além disso o ARIMA também não modela bem uma série que não seja estacionária com relação a variância, o que é comum em séries financeiras. Para o caso da série não ser estacionária em sua variância, foi criado o modelo ARCH e posteri-ormente o GARCH (Generalised Autoregressive Conditional Heteroskedasticity). De acordo
comCOWPERTWAIT; METCALFE(2009), quando a variância de uma série muda conforme
o passar do tempo, de uma maneira regular, a série é chamada de heteroscedástica, e quando a série exibe uma variância correlacionada no tempo, ela é chamada de série condicionalmente he-teroscedástica. O modelo GARCH visa obter melhores resultados nessas séries. Para detectar se uma série temporal deve ser modelada com o GARCH, é realizada a análise do autocorrelograma da variância da série, para isso é criada uma nova série a partir da Equação2.15 .
σt2= (xt− µx)2 2.15 A partir da série X , é criada a série σ2através do quadrado da diferença entre o termo atual da série X (xt) e a média da série X (µx). No autocorrelograma desta nova série, se existirem lags com valores significantes, há uma indicação para o uso do modelo GARCH. O modelo GARCH possui dois parâmetros o q e o p, uma série pode ser descrita pelo modelo GARCH(q, p) se a série formada por sua variância (Equação2.15 ) seguir a Equação 2.17.
εt= w − t p ht 2.16 ht = α0+ p
∑
i=1 αiεt−12 + q∑
j=1 βjht− j 2.17 O GARCH(1, 1) na maioria dos casos, oferece uma solução adequada (COWPERTWAIT;METCALFE,2009). De acordo comENDERS(2003), para assegurar a estabilidade do modelo
GARCH(1, 1), a condição α1+ β1< 1 deve ser respeitada. Para a estimação dos parâmetros α e β são utilizados os mesmos métodos de estimação do AR e MA.
2.5.2
Rede Neural Artificial Multilayer Perceptron
A rede neural artificial (RNA) é uma técnica de aprendizagem de máquina inspirada no funcionamento do cérebro humano. De acordo comHAYKIN(1998), uma RNA é uma máquina projetada para modelar a maneira como o cérebro realiza uma tarefa particular ou função de interesse. A RNA é constituída de unidades de processamento simples e é maciçamente parale-lamente distribuída, se assemelhando ao cérebro humano na forma de adquirir conhecimento, através de um processo de aprendizagem, e também na forma de armazenar o conhecimento, através dos pesos sinápticos.
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 34 prever séries temporais e conseguirem resultados com boa acurácia, eles não conseguem uma acurácia tão boa quando aplicados às séries financeiras, devido ao alto nível de ruído presente e a natureza não-linear destas séries (LAHMIRI,2011).
As RNAs possuem a capacidade de aprender a resolver problemas a partir de um conjunto limitado de exemplos e, a partir deles, generalizar a solução para novos exemplos. As RNAs são utilizadas nos mais diversos problemas e geralmente conseguem resultados muito satisfatórios
(ADEBIYI; ADEWUMI; AYO,2014). As principais características das RNAs são:
Não-linearidade
Uma RNA tem a capacidade de resolver problemas lineares, além disso a não-linearidade ocorre de uma forma diferenciada nas RNAs, pois pode ser distribuída pela rede, em cada neurônio (HAYKIN,1998). A não-linearidade é uma característica im-portante para a previsão de séries temporais, pois muitas delas tem um comportamento não-linear.
Mapeamento entrada-saída
As RNAs podem aprender de forma não-supervisionada e supervisionada. As redes MLP aprendem de forma supervisionada, nela a rede recebe amostras de treinamento contendo os dados de entrada e a saída desejada. Através destas entradas a MLP ajusta seus pesos sinápticos a fim de minimizar o erro entre a resposta da rede e a saída desejada, através do algoritmo de retropropagação do erro. Desta forma, a rede aprende a realizar o mapeamento entre as entradas e saídas para o problema em questão. Este mapeamento é realizado de forma não-paramétrica, ou seja, o usuário não precisa informar mais parâmetros para a rede, basta que ela receba os dados de entrada e as saídas desejadas.
Generalização
As RNAs possuem a capacidade de generalizar, isto é, dado um conjunto de exemplos de treinamento, a RNA encontra uma solução para estes exemplos e também consegue apresentar respostas para exemplos em que não foi treinada, com uma boa taxa de acerto. Adaptabilidade
RNAs são adaptáveis, pois podem atualizar os valores de seus pesos sinápticos seguindo as mudanças do ambiente do problema. Elas podem ser facilmente retreinadas para lidar com essas modificações, e também, podem operar no modo online, o que significa que a rede fica constantemente corrigindo seus pesos sinápticos conforme recebe entradas para realizar a classificação ou previsão.
Paralelismo
Como dito anteriormente, a RNA possui natureza maciçamente paralela, o que a torna potencialmente rápida.
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 35 wk1 wk2 wkn . . . . . . Σ x1 x2 xn bias ϕ(.) yk vk Sinais de entrada Pesos
sinápticos Função aditiva
Função ativação
Saída do neurônio
Figura 2.8: Modelo de neurônio artificial
As redes neurais artificiais, são compostas por neurônios artificiais. A Figura 2.8 exibe o modelo de neurônio artificial, nela é possível visualizar um conjunto de conexões de sinapses, caracterizadas pelos pesos sinápticos. O cálculo do estímulo de uma sinapse em um neurônio é realizado da seguinte forma: a entrada xj na entrada j do neurônio k é multiplicado pelo peso sináptico wk j. O sinal bias especifica um limiar de ativação do neurônio, ou seja, caso os estímulos sejam inferiores ao limiar, o neurônio não é ativado. As sinapses e o bias seguem para o componente responsável por somá-los e sobre o resultado, é aplicada uma função de ativação que visa restringir a amplitude da saída do neurônio, tipicamente no intervalo [0, 1] ou [-1, 1]
(HAYKIN,1998).
Os pesos sinápticos dos neurônios são chamados de parâmetros livres das RNAs, são os parâmetros que são ajustados durante o treinamento e representam o conhecimento que a rede possui sobre o problema. Um dos métodos para ajustar os pesos sinápticos, é a aprendizagem supervisionada por correção de erro. Neste método os exemplos de treinamento são apresentados à rede, que por sua vez produz respostas a tais estímulos. Posteriormente, é calculado o erro da rede, que aciona um mecanismo de controle para corrigir os pesos sinápticos, a fim de que melhorem suas respostas para os exemplos apresentados, porém sem perder a capacidade de generalizar. O treinamento é realizado até o sistema atingir um estado estável, isto é, os pesos sinápticos não são mais alterados de forma significativa durante o treinamento.
Redes neurais do tipo Multilayer Perceptron (MLP), possuem uma arquitetura com diversas camadas, as quais possuem os neurônios. Uma rede neural MLP possui uma camada de entrada, onde os sinais do exemplo a ser computado entram na rede e são apenas repassados para as camadas posteriores denominadas de camadas intermediárias. A MLP pode possuir uma ou mais camadas intermediárias e é onde estão a maior parte dos neurônios da rede. Eles processam os dados recebidos pela camada anterior, capturando a relação não-linear das variáveis (LAHMIRI,2011), e em seguida, passam sua resposta para a camada de saída. Por fim,
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 36 é realizado mais um processamento pelos neurônios da camada de saída e a resposta da rede é retornada. Este processo de passagem do sinal para as camadas posteriores caracterizam uma rede neural do tipo feedforward.
. . . . . . x1 x2 xn Camada de entrada 1ª camada intermediária 2ª camada intermediária Camada de saída Saídas da rede . . .
Figura 2.9: Rede neural Multilayer Perceptron
A Figura 2.9 ilustra uma rede neural MLP com duas camadas intermediárias e com dois neurônios na camada de saída, o que significa que a saída da rede é composta por dois valores.
ATSALAKIS; VALAVANIS(2009) mostrou que a maioria dos treinamentos de redes neurais
de múltiplas camadas para previsão de ações no mercado financeiro é realizado pelo algoritmo de retropropagação do erro (backpropagation), que consiste em propagar a correção do erro da última camada até a primeira (HAYKIN,1998). Ou seja, após a rede neural emitir uma resposta para determinado exemplo de treinamento, o erro é calculado e os pesos sinápticos da camada de saída são ajustados. Após isso, os pesos da camada anterior à camada de saída são ajustados e assim sucessivamente até chegar na camada de entrada, resultando em um ajuste em todos os pesos sinápticos da rede.
Existem várias contribuições a fim de melhorar o backpropagation, tais contribuições podem ser agrupadas em duas categorias. A primeira consiste de técnicas heurísticas que objetivam acelerar o processo do algoritmo gradiente descendente que compõe o backpropagation. A segunda utiliza técnicas de otimização numérica (LAHMIRI,2011). Na primeira categoria estão os métodos de gradiente descendente com taxa de treinamento adaptativa, gradiente descendente com termo de momento, gradiente descendente com taxa de treinamento adaptativa e termo de momento e também o algoritmo resiliente. Ou seja, nesta categoria as propostas de melhoria atacam principalmente a grande quantidade de iterações do algoritmo gradiente descendente. Na segunda categoria estão incluídas os algoritmos de gradiente conjugado, BFGS-Quasi Newton e Levenberg-Marquardt. Na segunda categoria o foco consiste em reduzir o número de cálculos de derivadas e matrizes, utilizando aproximações, como no caso do
BFGS-2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 37 Quasi Newton, que não precisa calcular a segunda derivada e utiliza uma matriz Hessiana aproximada (LAHMIRI,2011).
O teorema da aproximação universal afirma que uma rede neural MLP com apenas uma camada intermediária, pode realizar a aproximação de qualquer função contínua com suporte em um hipercubo unitário. Contudo, o teorema não diz que apenas uma camada produz resultados ótimos do ponto de vista de tempo de aprendizagem, facilidade de implementação ou ainda de capacidade de generalização (HAYKIN,1998).
Neste trabalho foi utilizada a rede MLP com apenas uma camada intermediária e algo-ritmo de treinamento BFGS-Quasi Newton. Os parâmetros para o treinamento da MLP foram a taxa de aprendizagem (η), que informa o quão grande pode ser a modificação dos pesos sinápticos durante o treinamento, e o número de neurônios na camada escondida, que define o nível de complexidade da rede. Estes parâmetros foram variados durante os experimentos.
2.5.3
Máquinas de vetor de suporte para regressão (SVR)
Uma máquina de vetor de suporte ou Support Vector Machine (SVM) é uma máquina linear que tem como objetivo construir um hiperplano para separar duas classes de padrões, maximizando a margem de separação entre as classes (HAYKIN,1998). Ela é fundamentada na teoria de aprendizagem estatística, sendo a implementação do método de minimização estrutural de risco, que visa escolher um classificador com bom desempenho nos conjuntos de treinamento e teste. Isto é, ele é capaz de classificar os exemplos de treinamento da forma mais correta possível, porém sem dar atenção especial para qualquer exemplo individual, a fim de manter a capacidade de generalização do classificador (HAYKIN,1998;VAPNIK,1995).
Uma máquina de vetor de suporte para regressão ou Support Vector Regression (SVR) é uma adaptação da SVM, que resolve problemas de classificação, para o problema de regressão não-linear. As SVRs, assim como as MLPs, são bastante utilizadas em problemas de previsão de séries temporais e em muitos casos obtém resultados ainda melhores que as MLPs.
O funcionamento de uma SVR aplicada a uma série temporal, visa encontrar uma função f(x) que pode ter um desvio menor ou igual a ε. Isto é, o erro máximo entre a resposta obtida pela SVR e a resposta desejada, sobre os exemplos de treinamento, é ε (SMOLA; SCH;
SCHöLKOPF,2004). Além de ter a limitação do erro máximo, o SVR também tem como objetivo
encontrar a função mais plana possível. Nas SVMs e SVRs alguns exemplos de treinamento são criteriosamente escolhidos (se encontram na região de fronteira entre duas classes) para serem os chamados vetores de suporte. O hiperplano de separação é construído com o objetivo de separar os vetores de suporte de maneira ótima, e uma separação ótima deles equivale a uma separação ótima de todos os dados (VAPNIK; GOLOWICH; SMOLA,1996).
A versão da SVR com margens suaves foi criada porque há a possibilidade de não existir uma função que limite os erros em ε no conjunto de treinamento. Para resolver esse problema, foram incluídas as variáveis de folga ξ− e ξ+, que medem o custo dos erros de previsão para
2.5. MODELOS PARA PREVISÃO DE SÉRIES TEMPORAIS 38 menos e para mais. Sendo assim, o objetivo da SVR é encontrar um vetor de pesos w e um limiar bque minimize a função descrita na Equação2.18 .
1 2kwk 2 +C l
∑
i=1 ξi−+ ξi+ 2.18 Com as restrições impostas pelas Equações2.19 , 2.20 e 2.21y1− hw, xii − b ≤ ε + ξi− 2.19 hw, xii + b − yi≤ ε + ξi+ 2.20 ξi−, ξi+≥ 0 2.21 Nas Equações2.19 e 2.20 , h., .i representam o produto interno no espaço do vetor de pesos w. A constante C > 0 determina a troca entre a complexidade da função (quanto mais complexa, menos plana) e a quantidade de desvios maiores que ε que são tolerados (SMOLA;
SCH; SCHöLKOPF,2004). Quanto maior for o valor de C, mais complexa é a função, quanto
menor for o valor de C mais suave é a função. A Figura 2.10 ilustra o modelo de SVR apresentado.
+ε
0
-ε
ξ ξ* y tFigura 2.10: Support Vector Regression
Com o objetivo de melhorar a classificação ou regressão, as SVMs e SVRs transformam os dados de entrada que estão no espaço de entrada para uma dimensão maior, chamado de espaço de características. Eles fazem isso pois, de acordo com o teorema de Cover, um padrão não-linearmente separável tem uma alta probabilidade de ser não-linearmente separável em uma dimensão maior, desde que a transformação para o novo espaço seja não-linear e que a dimensionalidade dele seja suficientemente grande (HAYKIN,1998).
Para realizar esta transformação do espaço de entrada para um espaço de características com maior dimensionalidade, é utilizado o chamado truque do kernel, que permite o cálculo dos dados em dimensões maiores sem precisar calcular suas coordenadas nessa dimensão. Para isso,