series temporais

29
IME ISSN 1982-9035 Monografias em Sistemas e Computação n° 03/2009 Métodos para Previsão de Séries Temporais e suas Tendências de Desenvolvimento Claudio Vasconcelos Ribeiro Ronaldo Ribeiro Goldschmidt Ricardo Choren Seção de Engenharia de Computação INSTITUTO MILITAR DE ENGENHARIA PRAÇA GENERAL TIBÚRCIO 80 – CEP 22290-270 RIO DE JANEIRO – BRASIL

Upload: ticownando

Post on 08-Apr-2016

55 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Series Temporais

IMEISSN 1982-9035

Monografias em Sistemas e Computaçãon° 03/2009

Métodos para Previsão de Séries Temporais e suas Tendências de Desenvolvimento

Claudio Vasconcelos RibeiroRonaldo Ribeiro Goldschmidt

Ricardo Choren

Seção de Engenharia de Computação

INSTITUTO MILITAR DE ENGENHARIA

PRAÇA GENERAL TIBÚRCIO 80 – CEP 22290-270

RIO DE JANEIRO – BRASIL

Page 2: Series Temporais

Monografias em Sistemas e Computação, No. 03/2009 ISSN: 1982-9035Editor: Prof. Claudia Marcela Justel Setembro, 2009

Métodos para Previsão de Séries Temporais e suas Tendências de Desenvolvimento

Claudio Vasconcelos Ribeiro, Ronaldo Ribeiro Goldschmidt1 , Ricardo Choren1Instituto Superior de Tecnologia do Rio de Janeiro – FAETEC

[email protected], [email protected], [email protected]

Abstract. Time series forecasting is a challenge in the area of Data Mining. Predicting future values, based on past values, has become a subject of particular interest in aca-demy and industry, with applications in production planning, electricity demand pre-diction and stock market price estimative, among others. There are several methods to assist in the task of time series forecasting, such as models from the statistics, as well as those derived from technologies of neural networks, fuzzy logic and the genetic al-gorithms, which are some examples of computational intelligence. Other approaches combine these techniques in the form of hybrid systems or committees, looking for a better performance achieved by the fusion of various experts. This paper presents some of these techniques and current trends of research in this area.

Keywords: Time series, Artificial intelligence.

Resumo. Previsão de séries temporais é um desafio da área de Mineração de Dados. Prever valores futuros, em função de valores passados, tem se tornado um assunto de especial interesse na academia e na indústria, com aplicações em planejamento de pro-dução, matriz energética e mercado de ações, dentre outras. Existem diversos métodos para auxiliar na tarefa de previsão de séries temporais, tais como modelos provenien-tes da estatística, assim como aqueles derivados de tecnologias de redes neurais, de ló-gica nebulosa e de algoritmos genéticos, que são alguns exemplos de técnicas inteli-gência computacional. Outras abordagens que realizam a combinação destas técnicas, na forma de sistemas híbridos ou comitês, buscam alcançar um melhor desempenho por meio da fusão de várias opiniões individuais. Este trabalho apresenta algumas des-sas técnicas bem como as tendências atuais de pesquisa nessa área.

Palavras-chave: Séries temporais, Inteligência artificial.

iii

Page 3: Series Temporais

Responsável por publicações:

Ricardo ChorenIME – Seção de Engenharia de ComputaçãoPraça General Tibúrcio 80, Praia Vermelha22290-270, Rio de Janeiro/RJ, BrasilTel. +55 21 2546-7090E-mail: [email protected]

iii

Page 4: Series Temporais

1 Introdução

A importância da análise e previsão de séries temporais na ciência, engenharia, e negó-cios tem crescido e continua como interesse atual de engenheiros e cientistas. De forma objetiva, [Silva et al., 2007] descrevem uma série temporal como sendo um conjunto de observações discretas, realizadas em períodos eqüidistantes e que apresentam uma de-pendência serial entre essas observações . De forma ilustrativa, a Figura 01 exibe exemplos de séries temporais.

(a) (b)

Figura 01: (a) Série Dow Jones (Wessa, 2006). (b) Série Laser (Wan, 2006).

Conhecer previamente um valor futuro pode significar a diferença entre o sucesso e o fracasso em determinadas ocasiões. Diversos Sistemas de Apoio à Decisão (SAD) em-pregam métodos que envolvem previsões de fatos e situações futuras. Dentre eles, po-dem ser citados: previsão de vendas para planejamento de produção industrial, de-mandas de energia elétrica, previsões de temperaturas médias e da altura das marés, estimativa de preços de ações na bolsa de valores.

Para que seja possível prever os valores futuros com base em valores passados, é ne-cessário que se disponha de uma memória histórica de dados ocorridos anteriormente. Todavia, o conjunto de dados, por si só, não permite a previsão dos valores futuros. Para isso, é necessária a utilização de algoritmos, técnicas ou métodos de previsão de séries temporais, que podem envolver cálculos simples ou procedimentos complexos .

Existem diversos métodos para auxiliar na tarefa de previsão de séries temporais, como por exemplo: modelos de Suavização Exponencial, modelos auto-regressivos (AR), de médias móveis (MA) e Modelos ARIMA. Tecnologias de inteligência compu-tacional, tais como redes neurais, lógica nebulosa e algoritmos genéticos, proporcio-nam a criação de metodologias avançadas de previsão.

Os conceitos e definições descritos anteriormente podem ser observados em maio-res detalhes em [Palit e Popovic, 2005] [Ribeiro et al., 2008] [Silva et al., 2007] [Moret-tin e Toloi, 2006].

As capacidades e restrições individuais de tecnologias de inteligência computacio-nal têm sido a motivação principal por trás de suas fusões para a criação de sistemas híbridos inteligentes, capazes de solucionar muitos problemas complexos.

Assim, alternativas para combinação de métodos de previsão vêm sendo pesquisa-das. Entre elas existe a abordagem de combinação pela criação de comitês de máquinas de aprendizado. Comitê de máquinas de aprendizado é uma abordagem que trata da fusão do conhecimento adquirido por especialistas (métodos de previsão ou simples-

1

Page 5: Series Temporais

mente previsores) para atingir uma decisão global que visa ser superior àquela alcan-çável por qualquer um deles atuando isoladamente [Haykin, 2001].

Este trabalho tem por objetivo apresentar algumas das técnicas citadas para a previ-são de séries temporais, bem como as tendências atuais de pesquisa nessa área. A orga-nização desse trabalho segue em mais 3 Seções. A Seção 2 descreve as bases teóricas re-ferentes à previsão de séries temporais. Na Seção 3 são apresentados alguns métodos aplicados na previsão de séries temporais e as tendências nessa área. Finalizando o tra-balho, a Seção 4 contém um resumo e as suas conclusões.

2 Conceitos Básicos

Esta seção descreve os conceitos básicos sobre séries temporais e apresenta duas das mais importantes tecnologias de inteligência artificial que servem de base para a cria-ção de diversos algoritmos e métodos de previsão de séries temporais: redes neurais e lógica nebulosa.

2.1 Séries Temporais

Uma série temporal pode ser conceituada simplesmente como qualquer conjunto de observações ordenadas no tempo [Morettin e Toloi, 2006]. Pode-se expressar uma série temporal por:

1,2,3...N}t|{ZZ tt =ℜ∈=

Onde t é um índice temporal, e N é o número de observações. Considerando a exis-tência de observações de uma série temporal até o instante t, a previsão no instante t+h é denotada por Ẑt(h), cuja origem é t e o horizonte de previsão é h. As previsões em Z(t+1), Z(t+2), ... Z(t+h) podem ser ilustradas por meio do exemplo contido na Figura 02.

. . . .. . . .

x xx

t t+1 t+2 t+h Tempo (t).....

Z(t)^

Z(1)Z(2)

Z(h)^

^

Figura 02: Observações de uma série temporal com previsões de origem t e horizontes de previsão iguais a um, dois e h (adaptado de [Morettin e Toloi, 2006])

2

Page 6: Series Temporais

Além do horizonte de previsão, outro parâmetro usado pelo processo de previsão é o número de elementos históricos anteriores ao horizonte de previsão. Ele é chamado de janela de previsão e está presente em boa parte dos métodos de previsão de séries temporais [Silva et al., 2007]. A janela de previsão é utilizada para formar o exemplos (padrões) nos quais alguns métodos de previsão realizam a extração do conhecimento (aprendizado) para aplicação na previsão de valores futuros. O elemento que segue imediatamente à janela de previsão constitui o alvo, ou seja, o elemento que se deseja prever. A série temporal é normalmente dividida em dois conjuntos de elementos: o primeiro é destinado ao método de previsão para a obtenção do aprendizado (conjunto de treino) e o segundo é usado para verificação de seu desempenho na previsão de va-lores futuros (conjunto de teste). A Figura 03 mostra um exemplo da definição desses componentes para previsão de uma série temporal: a divisão da série em conjuntos para treinamento e teste, uma janela de previsão que possui cinco elementos e o hori-zonte de previsão de um elemento (o alvo).

Figura 03: Exemplo de uma janela de previsão com cinco entradas e horizonte de previ-são igual a um

2.2 Redes Neurais Artificiais

“Em termos intuitivos, redes neurais artificiais (RNAs) são modelos matemáticos ins-pirados nos princípios de funcionamento dos neurônios biológicos e na estrutura do cérebro ” [Goldschmidt e Passos, 2005].

RNAs são unidades de processamento numérico, cuja arquitetura em camada pro-duz um fluxo de informações com ou sem realimentação, possuindo uma estrutura de processamento de sinais com grande poder de adaptação e capacidade de representa-ção de processos não lineares [Silva,2003].

Entre as aplicações usuais das RNAs têm-se: reconhecimento e classificação de pa-drões, clustering ou agrupamento, previsão de séries temporais, aproximação de fun-ções, otimização, processamento de sinais, análise de imagens e controle de processos.

Uma rede neural se assemelha ao cérebro em dois aspectos [Haykin, 2001]:

O conhecimento é adquirido pela rede a partir de seu ambiente através de um processo de aprendizagem; e

Forças de conexão entre neurônios, conhecidas como pesos sinápticos, são utili-zados para armazenar o conhecimento adquirido.

3

Page 7: Series Temporais

No processo de aprendizagem, generalização significa que a rede neural produzirá uma saída desejada para valores de entrada não utilizados durante tal processo, sendo este constituído, geralmente, por meio de exemplos.

O elemento básico de construção de uma RNA é o neurônio artificial, cuja descrição é o estágio inicial para o entendimento dos conceitos associados às estruturas de redes existentes.

2.2.1 Neurônio Artificial

Um neurônio é uma unidade de processamento de informação que é fundamental para a operação de uma rede neural. O modelo de um neurônio é ilustrado na Figura 04 e sua estrutura é descrita a seguir com base nos conceitos definidos em [Haykin, 2001]. Outras informações complementares podem ser obtidas em [Goldschmidt e Passos, 2005] e [Rezende, 2003].

A estrutura de um neurônio permite um conjunto de valores como entradas (x1, x2, ..., xm) para a produção de uma saída única (yk). Tais entradas são ponderadas por respectivos pesos sinápticos (wk1, wk2, ...wk3) e somadas ao valor de um bias bk aplica-do externamente. O bias bk tem o efeito de aumentar ou diminuir a entrada líquida da função de ativação, dependendo se ele é positivo ou negativo. Em seguida uma função de ativação φ(.) é utilizada para restringir a amplitude do sinal de saída.

(a) (b)

Figura 04: Modelos de um neurônio. (a) Modelo não-linear de um neurônio; (b) Grafo de fluxo de sinal de um neurônio. fonte: [Haykin, 2001]

Tipicamente, o intervalo normalizado da saída de um neurônio é descrito como o intervalo unitário fechado [0,1] ou alternativamente [-1,1]. Considerando vk como o po-tencial de ativação ou campo local induzido, o neurônio pode ser descrito pelas se-guintes equações:

j

m

jkjk xwv ∑=

= 0

)(vy kk ϕ=

4

Page 8: Series Temporais

A função de ativação pode apresentar características lineares ou não-lineares, deter-minando a saída de um neurônio a partir do seu potencial de ativação. Dentre aquelas que possuem comportamento linear destacam-se a função linear e a função de limiar (referida normalmente na literatura de engenharia como função de Heaviside, função de-grau ou degrau unipolar). Em geral, uma função não-linear simula com maior precisão os neurônios biológicos, sendo a função sigmóide uma das mais utilizadas. A função sigmóide pode ser definida por:

vev −+

=11)(ϕ

As funções de ativação descritas anteriormente se estendem de zero a +1. Para a uti-lização de valores negativos, na forma correspondente de uma função sigmóide, pode-se empregar a função tangente hiperbólica definida por:

)tanh()( vv =ϕA Figura 05 ilustra os tipos de gráficos representados por meio das funções de ati-

vação mencionadas.

Figura 05: Tipos de função de ativação: (a) função de limiar. (b) função linear. (c) fun-ção sigmóide. (d) função tangente hiperbólica

2.2.2 Arquitetura de uma Rede Neural Artificial

A estrutura da rede neural, composta de interconexões de neurônios, pode variar quanto ao número de camadas, neurônios em cada camada, função de ativação dos neurônios em uma camada e a forma como as camadas são conectadas (totalmente ou parcialmente). Os detalhes de tal estrutura podem ser verificados em [Haykin, 2001][Rezende, 2003] e [Silva, 2003]. A utilização dessas informações para aplicações em previsão de séries temporais podem ser encontradas em [Palit e Popovic, 2005].

Existem basicamente três tipos de arquitetura: redes feedforward de camada única, redes feedforward de múltiplas camadas e redes recorrentes.

5

Page 9: Series Temporais

As redes feedforward de camada única são formadas por uma camada de entrada de nós fonte projetada sobre uma camada de saída de neurônios, mas não vice-versa.

Um exemplo de Redes Feedforward Multicamadas são as redes fundamentadas em perceptron de multicamadas (estas conhecidas como redes MLP, do inglês Multilayer Perceptron). Perceptron é um modelo de rede de um nível capaz somente de classificar padrões que sejam linearmente separáveis. As redes MLP possuem uma ou mais cama-das escondidas (ocultas), além das camadas de entrada e de saída, cuja estrutura des-sas redes supre as deficiências das redes do tipo perceptron.

Tipicamente, os neurônios em cada camada de uma rede MLP têm como suas entra-das apenas os sinais de saída da camada precedente. As redes MLP são geralmente usadas para determinar um mapeamento entre dois conjuntos de dados. A Figura 06 ilustra um exemplo de uma rede MLP.

Figura 06: Grafo arquitetural de um perceptron de múltiplas camadas com duas cama-das ocultas. fonte: [Haykin, 2001]

Uma rede neural recorrente se distingue de uma rede feedforward por ter pelo menos um laço de realimentação. Em função dessa característica, também são chamadas de RNAs com memória, respondendo a estímulos dinamicamente, isto é, após aplicar uma nova entrada, a saída é calculada e então realimentada para modificar a entrada. Exemplos desse tipo de rede são as redes Elman e as Redes Hopfield descritas em .

Diversas arquiteturas de rede são utilizadas para previsão de séries temporais, me-recendo destaque: redes MLP, redes de função de base radial (ou RBF, do inglês Radial Basis Function) e redes recorrentes. As arquiteturas MLP constituem os modelos de re-des neurais artificiais mais utilizados e conhecidos. A inerente capacidade de sua es-trutura de rede em três camadas promove qualquer mapeamento de entrada-saída, qualificando as redes MLP para uma previsão eficiente de séries temporais.

A escolha da estrutura da rede neural determina diretamente a qualidade do mode-lo obtido. Mesmo para uma estrutura definida, pode haver um número elevado ou mesmo infinito de soluções possíveis.

Diversas atividades são necessárias para a definição da arquitetura de uma rede neural para a qual um problema específico deverá ser resolvido de forma ótima. Após a determinação do tipo de arquitetura de rede que será empregada, conforme opções

6

Page 10: Series Temporais

exemplificadas anteriormente, diversas atividades são necessárias para a montagem da estrutura da rede, sendo algumas delas descritas adiante.

Na maior parte das aplicações de previsão, somente uma camada oculta é usada, embora algumas situações excepcionais justifiquem um número maior.

O número de neurônios nas camadas de entrada e de saída depende da dimensio-nalidade dos dados, enquanto que o número de neurônios nas camadas intermediárias depende da complexidade do problema. Quanto maior o número de neurônios nas ca-madas intermediárias, mais complexas são as funções mapeadas com a RNA.

Para o caso de previsão de valores futuros onde seja empregado o conceito de janela de previsão, a quantidade de nós de entrada da rede é diretamente determinada pelo tamanho dessa janela. A Figura 07 ilustra a quantidade de neurônios de entrada para a previsão do próximo valor (previsão também conhecida como um passo a frente, do in-glês one-step-ahead prediction) em uma rede MLP, considerando-se o valor atual x(t) e uma janela de previsão de n elementos. Nessa configuração ilustrada, o número de neurônios necessários para a camada de saída é apenas um.

Outra etapa de configuração das camadas de rede é a seleção das funções de ativa-ção dos neurônios, as quais serão idênticas para todos os neurônios de uma mesma ca-mada.

Figura 07: Número de neurônios de entrada para um horizonte de previsão igual a um. fonte: [Palit e Popovic, 2005]

O padrão de interconexão dos neurônios da rede neural refere-se a forma como a saída de cada neurônio de uma camada está conectada com a entrada de cada neurô-nio da camada subseqüente. Uma RNA é dita completamente conectada (full interco-nection) quando cada neurônio de uma camada, com exceção da camada de entrada, possui suas entradas ligadas às saídas de todos os neurônios da camada que a antece-de. Se esta condição não for atendida, a RNA é dita parcialmente conectada.

2.2.3 Metodologia de Previsão

A metodologia de previsão é geralmente compreendida como um conjunto de aborda-gens, métodos e ferramentas para coleta de dados de séries temporais para serem usa-das em previsão de valores futuros, baseados em valores passados [Palit e Popovic, 2005]. Os passos operacionais definidos por esses autores são: preparação de dados;

7

Page 11: Series Temporais

determinação da arquitetura da rede; projeto da estratégia de treinamento; e avaliação dos resultados da previsão.

A etapa de preparação dos dados envolve, entre outros aspectos, a forma de aquisi-ção, o pré-processamento, a normalização, a estrutura dos dados e a definição dos con-juntos de treino e teste.

As funções de ativação requerem valores normalizados e, dessa forma, há necessi-dade do emprego de procedimentos dedicados para preparação dos dados de entrada das redes neurais, adaptando-os às não-linearidades dos neurônios, visando não ultra-passar os limites de saturação.

[Goldschmidt e Passos, 2005] descrevem diversos tipos de normalização. Segundo esses autores, a normalização linear consiste em considerar os valores mínimo e máxi-mo de cada atributo no ajuste da escala, mapeando esse atributo no intervalo fechado de zero até 1(um). A equação que define a normalização linear é descrita como:

mínmáx

mínin xx

xxx−

−=

Onde:

xn = valor normalizado

xi = valor do atributo a ser normalizado

xmín = valor mínimo do atributo a ser normalizado

xmáx = valor mínimo do atributo a ser normalizado

Convém observar a necessidade de um pós-processamento dos dados ao final do processamento da rede (previsão de valores), revertendo a normalização realizada an-teriormente.

Na estruturação dos dados, pares de dados relacionando as entradas com as saídas desejadas deverão ser construídos para a etapa de aprendizado supervisionado. Con-forme ilustrada na Figura 07, a previsão de um valor em x(t+1), denotado como alvo, relacionará valores passados até x(t), inclusive. De forma análoga, um valor alvo em x(t+2) utilizará dados históricos até x(t+1), seguindo assim sucessivamente para os de-mais pares de valores.

A utilização de um conjunto de treinamento, composto pelos pares de dados (exem-plos) definidos anteriormente, permitirá a rede neural extrair o conhecimento (apren-dizado) necessário para sua utilização como previsor de valores futuros, cuja capacida-de poderá ser testada em um conjunto de teste dos pares de dados remanescentes. O aprendizado será o resultado de várias apresentações de um determinado conjunto de exemplos de treinamento. Uma apresentação completa de todo esse conjunto de treina-mento é denominado uma época.

De acordo com [Palit e Popovic, 2005], as recomendações sobre a divisão desses conjuntos em treinamento e teste vão desde um fator de 90% por 10%, até um fator de 50% por 50%.

2.2.4 Processo de Aprendizagem

A propriedade que é de importância primordial para uma rede neural é a sua habilida-de de aprender a partir de seu ambiente e de melhorar o seu desempenho através da

8

Page 12: Series Temporais

aprendizagem, cujos algoritmos de aprendizagem diferem entre si pela forma como é formulado o ajuste de um peso sináptico de um neurônio [Palit e Popovic, 2005].

Tais algoritmos ajustam iterativamente os pesos das conexões entre os neurônios até que os pares desejados de informações de entrada(s) e saída(s) sejam obtidos e as rela-ções de causa e efeito possam ser estabelecidas [Leone Filho, 2006].

Os algoritmos de aprendizado podem ser classificados em três paradigmas distin-tos: aprendizado supervisionado, aprendizado não-supervisionado e aprendizado por reforço. Seguem adiante algumas noções extraídas de [Rezende, 2003].

A aprendizagem supervisionada, também conhecida como aprendizagem com um professor, caracteriza-se pela existência de um professor ou supervisor, externo à rede que tem a função de monitorar a resposta da mesma para cada vetor de entrada.

No aprendizado não-supervisionado a rede é autônoma, ela não necessita de um “professor”, sendo o processo direcionado por correlações existentes nos dados de en-trada.

O aprendizado por reforço pode ser considerado um paradigma intermediário entre o aprendizado supervisionado e o não-supervisionado. O conjunto de treinamento é formado apenas pelos vetores de entrada, mas existe um crítico externo em substitui-ção ao supervisor do aprendizado supervisionado.

2.3 LÓGICA NEBULOSA

A lógica nebulosa, também conhecida como lógica fuzzy (do inglês fuzzy logic), é uma teoria matemática que permite modelar o modo aproximado do raciocínio humano, imitando assim a habilidade de tomada de decisão em ambientes de incerteza e impre-cisão [Goldschmidt e Passos, 2005].

Sistemas de apoio à decisão, algoritmos para aproximação de funções e sistemas de controle estão entre as formas mais populares de utilização dos conceitos relacionados com a lógica fuzzy [Rezende, 2003]. Esses conceitos viabilizam a construção de siste-mas inteligentes que lidem com informações imprecisas e subjetivas, tais como: inves-timento de alto risco, temperatura alta, pressão média, produção baixa, demanda ele-vada, dentre outras.

Um sistema baseado em Lógica Fuzzy é único com relação ao fato de possuir habili-dade para tratar simultaneamente dados numéricos e conhecimento lingüístico, repre-sentando um mapeamento não-linear de um vetor de dados de entrada em uma saída escalar. O estabelecimento desse mapeamento é proporcionado através da teoria de conjuntos fuzzy e da lógica fuzzy [Mendel, 1995].

A Lógica Fuzzy foi inicialmente construída à semelhança dos conceitos já estabeleci-dos da lógica clássica e da tradicional Teoria dos Conjuntos. Para uma melhor compre-ensão desses fundamentos, uma breve descrição será introduzida.

2.3.1 Conjuntos Nebulosos

Na teoria clássica dos conjuntos, o conceito de pertinência de um elemento a um dado conjunto A em um universo de discurso X (que provê o conjunto de valores permitidos para uma variável), associa a cada elemento deste universo X um valor binário. Dessa forma é indicado se tal elemento pertence ou não pertence àquele conjunto A. Isto pode ser expresso pela função característica fA:

9

Page 13: Series Temporais

fA(x) = { Axsesomente ∉,0

Axsesomente ∈,1No mundo real existem propriedades que são vagas, incertas ou imprecisas e, por-

tanto, impossíveis de serem caracterizadas por predicados da lógica clássica bivalente. A teoria dos conjuntos fuzzy foi criada para tratar graus de pertinência intermediários entre a pertinência total e a não-pertinência de elementos de um universo de discurso com relação a um dado conjunto [Rezende, 2003].

Na lógica fuzzy a função característica foi generalizada, de forma que ela pudesse assumir um número infinito de valores no intervalo [0,1]. Um conjunto fuzzy A em um universo X é definido por uma função de pertinência µA(x): X → [0,1], onde µA(x) é de-nominado como o grau de pertinência do elemento x ao conjunto A, indicando o quan-to x é compatível com o conjunto A.

Na Figura 08.a são ilustrados dois conjuntos ordinários (“crisp”), “baixa” e “alta”, que categorizam a estatura de uma pessoa. Observa-se que uma pessoa com altura de 1.79m seria classificada como “baixa”. Em contraste, uma pessoa que possui 1.8m seria conceituada “alta”. Pode-se notar que existe uma transição abrupta de conceitos, visto que uma diferença mínima de 0.01m pode ocasionar uma mudança no enquadramento do conjunto que classifica a estatura da pessoa. De forma similar, a Figura 08.b de-monstra o exemplo de dois conjuntos fuzzy que definem os mesmos tipos de conceitos, “baixa” e “alta”, buscando introduzir uma transição mais suave nos citados concei-tos. Nesses conjuntos uma pessoa é considerada baixa se a sua estatura for igual ou in-ferior a 1.5m, possuindo dessa forma um grau de pertinência 1.0 em relação ao conjun-to “baixa”. Para o caso de uma pessoa com 1.8m de altura, esta pertence à categoria “baixa” com grau de pertinência 0.5 e ao mesmo tempo também é considerada “alta” com grau de pertinência 0.5. Esse último caso demonstra que um determinado elemen-to pode pertencer a mais de um conjunto fuzzy, geralmente com diferentes graus de pertinência.

Figura 08: (a) Conjuntos ordinários (crisp). (b) Conjuntos fuzzy fonte: adaptada de [Palit e Popovic, 2005]).

Existem diversos formatos para a representação dos conjuntos nebulosos. A escolha de um determinado formato deve ser norteada pela compatibilidade do formato com o conceito que se deseja representar. As Figuras 09 e 10 mostram exemplos dos formatos de conjuntos triangular e trapezoidal e suas respectivas fórmulas descritas abaixo [Goldschmidt e Passos, 2005]:

Conjunto Triangular

10

Page 14: Series Temporais

É o modelo computacional mais simples, e pode ser descrito por três variáveis (a, m, b):

( ) ( ) ( ) ] [( ) ( ) ] [

≥∈−−∈−−

=

bxsebmxsembxbmaxseamax

axse

x

,0,,/

,,/,0

µ

Figura 09: Gráfico da Função de Pertinência Triangular.

fonte: [Goldschmidt e Passos, 2005].

Trapezoidal

Esse modelo pode ser descrito por quatro variáveis (a, b, c, d):

( )( ) ( ) ] [

[ ]( ) ( ) ] [

≥∈−−

∈∈−−

=

dxsedcxsecdxd

cbxsebaxseabax

axse

x

,0,,/

,,1,,/

,0

µ

Figura 10: Gráfico da Função de Pertinência Trapezoidal.

11

Page 15: Series Temporais

fonte: [Goldschmidt e Passos, 2005].

2.3.2 Variáveis Lingüísticas

Uma variável lingüística é definida como uma entidade utilizada para representar de modo impreciso e, portanto, lingüístico, um conceito ou uma variável de um dado problema. Ela admite como valores apenas expressões lingüísticas (freqüentemente chamadas de termos primários), como “frio”, “muito grande”, “aproximadamente alto” etc [Rezende, 2003].

Por exemplo, a temperatura de um determinado processo pode ser uma variável lingüística assumindo valores “Muito Baixa”, “Baixa”, “Agradável”, “Alta” e “Muito Alta”, sendo estes descritos por intermédio de conjuntos fuzzy, conforme Figura 11.

Figura 11: Partição fuzzy de uma variável lingüística representando a Temperatura.fonte: [Rezende, 2003].

2.3.3 Operações Nebulosas Básicas

De forma análoga ao que ocorre na clássica Teoria de Conjuntos, diversas operações podem ser realizadas envolvendo conjuntos fuzzy. Apresentam-se aqui as mais rele-vantes para uma apresentação do assunto.

Sendo A e B dois conjuntos nebulosos do universo de discurso U, podem ser defini-das as seguintes funções de pertinência para cada operação [Rezende, 2003]:

Interseção

A função de pertinência do operador nebuloso de interseção entre conjuntos fuzzy pode ser generalizada por meio de famílias específicas de funções, chamadas de nor-mas T. Dois dos exemplos mais usuais são:

(Mínimo) ( ) ( ) ( ){ }xxx BABA µµµ ,min=∩

(Produto) ( ) ( ) ( )xxx BABA µµµ *=∩

12

Page 16: Series Temporais

Assim como na Lógica Clássica, a operação de interseção corresponde ao operador lógico de conjunção “E”.

União

Similarmente, a função de pertinência do operador nebuloso de união entre conjun-tos fuzzy pode ser generalizada por meio de famílias específicas de funções, chamadas de normas S. Essas funções, também denominadas como T-Conorm, podem ser expres-sas, dentre outras formas, como:

(Máximo) ( ) ( ) ( ){ }xxx BABA µµµ ,max=∪

(Soma limitada) ( ) ( ) ( ){ }xxx BABA µµµ +=∪ ,1min

Assim como na Lógica Clássica, a operação de união corresponde ao operador lógi-co de disjunção “OU”.

Complemento

A função do operador nebuloso de complemento pode ser definida por:

( ) ( )xx AA µµ −=¬ 1

A operação de complemento corresponde ao operador lógico de negação “Não”.

2.3.4 Regras Nebulosas

A maneira mais comum de armazenar informações em uma Base de Conhecimento fuzzy é a representação por meio de regras de produção fuzzy [Rezende, 2003]. Uma regra de produção (ou regra nebulosa) é expressa por uma implicação do tipo:

SE <antecedente> ENTÃO <conseqüente>

O antecedente é formado por condições nebulosas que, quando satisfeitas, determi-nam o processamento do conseqüente por um mecanismo de inferência nebuloso. Essa noção é descrita de forma prática em [Goldschmidt e Passos, 2005], onde é exemplifica-do um sistema para definição do valor de apólice de seguro de vida de clientes de uma seguradora a partir dos valores de idade e de pressão desses clientes. Algumas regras possíveis são:

SE idade é meia-idade E pressão é baixa ENTÃO seguro é baixo

SE idade é jovem E pressão é alta ENTÃO seguro é alto

2.3.5 Inferência Fuzzy

A arquitetura geral de um sistema nebuloso pode ser representada graficamente pela Figura 12. A etapa de fuzzificação mapeia números (valores crisp) em conjuntos fuzzy. Isso é necessário de forma a ativar regras que estão no formato de variáveis lingüísti-cas, as quais possuem conjuntos fuzzy associadas com elas. A inferência nebulosa é a responsável por processar as regras nebulosas existentes na base de conhecimento, ge-rando um conjunto fuzzy de saída a partir da composição de todas as regras dispara-das.

13

Page 17: Series Temporais

Por uma regra disparada, entende-se uma regra cujo processamento do antecedente para as entradas atuais gerou graus de pertinência não-nulos [Rezende, 2003]. Na fase final, a defuzzificação realiza a transformação de conjuntos nebulosos em saídas numéri-cas.

Dentre vários modelos de Inferência Fuzzy, o modelo Mamdani foi durante muitos anos um padrão para a aplicação dos conceitos de Lógica Nebulosa em processamento do conhecimento [Goldschmidt e Passos, 2005].

Figura 12: Arquitetura geral de um sistema nebuloso. fonte: [Silva, 2006].

No modelo Mandami o processamento de inferências é denominado inferência Max-Min que corresponde às operações de união e interseção fuzzy (operadores máxi-mo e mínimo). Os antecedentes de cada regra são processados por meio da interseção fuzzy, gerando um grau de disparo que limitará os valores máximos dos conjuntos de saída. A composição de todas as regras disparadas (ou ativadas) é realizada através da operação de união fuzzy. Existem diversos métodos para realizar a transformação dos conjuntos fuzzy de saída em valores numéricos, tais como a Média dos Máximos e o Centro de Massa (também denominado Centro de Gravidade ou Centróide), esse ex-presso pela fórmula

( )( )∑

=

== m

iiC

m

iiiC

y

yyy

1

'

1

''

'*

µ

µ

onde “m” é o número de intervalos da saída, y'i é o valor da variável de saída para o intervalo “i ” e μC(y'i ) é o grau de pertinência da variável y'i no conjunto C.

14

Page 18: Series Temporais

3 Métodos de Previsão de Séries Temporais

Um conjunto diversificado de métodos de previsão de séries temporais estão disponí-veis. As modelagens existentes vão desde modelos estatísticos [Box e Jenkins, 1976] até aquelas derivadas de tecnologias de inteligência computacional, cuja teoria destas últi-mas pode ser verificada com maiores detalhes em [Palit e Popovic, 2005] . Além disso, tais modelagens podem ser combinadas, tanto na forma de sistemas híbridos como em comitês.

A escolha dos algoritmos e modelagens aqui descritas teve como escopo principal o uso de algumas técnicas de inteligência artificial, tais como lógica nebulosa e redes neurais artificiais. Essas técnicas permitem a criação de máquinas de aprendizado, que constituem sistemas capazes de adquirir conhecimento de forma automática.

Como exemplos de métodos que utilizam técnicas de inteligencia computacional são descritos: o algoritmo de Wang-Mendel [Wang e Mendel, 1992], que provê um meio de obtenção de regras lingüísticas a partir de pares de dados numéricos, gerando uma base de conhecimento para mapear o espaço de entrada no espaço de saída, e; um método baseado no algoritmo de aprendizado Backpropagation [Rumelhart e Mcclel-land, 1986], que é empregado para a previsão de séries a partir da utilização de janelas de previsão como exemplos para a etapa de treinamento de uma rede neural MLP.

Na abordagem de comitês, busca-se fundir o conhecimento adquirido por métodos de previsão construídos, basicamente, por máquinas de aprendizado, no intuito de atingir uma decisão global que visa ser superior àquela alcançável por qualquer um deles atuando isoladamente [Haykin, 2001]. Para essa abordagem a literatura utiliza uma gama de termos, tais como, comitê, ensembles, combinador, classifier fusion, agrega-ção e outros para denominar conjuntos de máquinas de aprendizado que trabalham acoplados para solucionar um problema de aprendizado de máquina [Valentini e Ma-sulli, 2002]. Visando englobar as variações de nomenclaturas e conceitos referentes aos citados métodos de combinação, este trabalho adotará a expressão comitê de aprendi-zado para descrever algumas estratégias associadas.

3.1 Algoritmo de Wang-Mendel

O algoritmo original de Wang-Mendel [Wang e Mendel, 1992] provê um método gené-rico de geração de regras nebulosas (fuzzy) que combina informações numéricas e lin-güísticas para uso, inclusive, em previsão de séries temporais.

O método sugere uma seqüência de 5 passos para geração de regras fuzzy: 1) Divi-são dos dados de entrada e de saída em conjuntos fuzzy; 2) Geração das Regras Fuzzy; 3) Definição de um grau para cada regra gerada; 4) Composição da Base de Conheci-mento; e 5) Defuzzificação (Previsão de valores futuros). Os quatro primeiros passos são responsáveis pela geração da base de conhecimento e compõem a chamada etapa de treinamento. O quinto passo realiza, a partir da base de conhecimento gerada, a previsão dos dados propriamente dita.

Considerando-se como exemplo um vetor de entrada (X1, X2, ..., Xn) que representa dados de uma série temporal, a Figura 13 ilustra a divisão do domínio em intervalos de mesmo tamanho para realização do primeiro passo do método. Os intervalos são divididos em 2N+1 conjuntos fuzzy. N é definido pelo usuário para cada variável. O conjunto CE (Center) representa o intervalo de valores que situa-se no ponto médio do domínio da variável do vetor de entrada. Os conjuntos denominados SN (Small N) re-ferem-se aos elementos que estão abaixo do conjunto CE e BN (Big N) para aqueles que

15

Page 19: Series Temporais

estão acima. Cada conjunto é associado a uma função de pertinência, nesse caso trian-gular, e tem por função mapear o vetor de entrada. Desse mapeamento serão defini-dos, posteriormente, os pares de dados que representarão a entrada (janela de previ-são) e a saída (alvo). Os conjuntos citados são sobrepostos, como ilustrado na Figura 13.

CE{{{{

{{ S1

B1B2

S2

B3

{S3

U+

U-

X

U+U-

S3 S2 S1 CE B1 B2 B3

X

µ(X)

t

Série Temporal

7 regiões(N = 3)

Figura 13: Divisão dos Intervalos de domínio em conjuntos fuzzy.

fonte: adaptada de [Wang e Mendel, 1992].

Para cada variável de entrada e saída, o método calcula o grau de ativação da fun-ção de pertinência correspondente e seleciona a maior delas. A geração de regras nebu-losas (passo 2) é realizada por meio de sentenças do tipo “Se <antecedentes> Então <conseqüente>”, onde as variáveis de entrada são designadas como antecedentes e a variável de saída como conseqüente. Para o exemplo proposto na Figura 14, a Tabe-la. 01 mostra a regra gerada a partir da escolha dos maiores graus de pertinência.

CE{{{{

{{ S1

B1B2

S2

B3

{S3

U+

U-

X

U+U-

S3 S2 S1 CE B1 B2 B3

X

µ(X)

t

Registros de Treino(antecedentes)

Janela = 4

Registro deTreino

(conseqüente)

t1t2t3

t4t5

x1x2x3x4

0,1

0,30,40,6

0,90,70,8

0,2

x5 Figura 14: Mapeamento das Variáveis de Entrada e Saída para uma Janela de Previsão

igual a 4

16

Page 20: Series Temporais

ANTECEDENTES CONSEQUENTE

X1= { B1= 0,4X2= { B2= 0,3

X5= { B2= 0,2

B2= 0,6 B1= 0,7 B1= 0,8

X3= { B1= 0,1 X4= { CE= 0,4

CE= 0,9 B1= 0,6

Regra: SE X1 = B2 E X2 = B1 E X3 = CE E X4 = B1 ENTÃO X5 = B1

Tabela 01: Regra gerada a partir da escolha dos maiores graus de perti-nência para o exemplo proposto na Figura 14.

Todas as regras geradas são armazenadas em uma base de conhecimento de onde as regras conflitantes (mesmos antecedentes) são excluídas, sendo preservadas aquelas que possuem maior grau (gerado pelo produto de todos os antecedentes e do respecti-vo conseqüente), concluindo-se, assim, o terceiro e quarto passo. Para a previsão de va-lores futuros (quinto passo), os dados de entrada são recebidos e a base de conheci-mento previamente construída é aplicada, onde um processo de defuzzificação combina as saídas das regras ativadas e calcula o valor previsto pelo método do Centro de Mas-sa (ou Gravidade). Maiores detalhes sobre o algoritmo de Wang-Mendel podem ser obtidos em [Wang e Mendel, 1992] [Silva et al., 2007] [Ribeiro et al., 2008] [Goldschmi-dt e Passos, 2005].

3.2 Algoritmo Backpropagation

O algoritmo de treinamento backpropagation emergiu como o algoritmo padrão para o treinamento de perceptrons de múltiplas camadas (redes neurais MLP). O termo bac-kpropagation surge do fato que o algoritmo se baseia na retropropagação dos erros para realizar os ajustes de pesos das camadas intermediárias.

De forma resumida, extraída de [Haykin, 2001], o algoritmo backpropagation deriva seu nome do fato de que as derivadas parciais da função custo (medida de desempe-nho) em relação aos parâmetros livres (pesos sinápticos e níveis de bias) da rede são determinados por retropropagação dos sinais de erro (calculados pelos neurônios de saída) através da rede, camada por camada.

A aprendizagem por retropropagação do erro pode ser descrita, basicamente, por dois passos computacionais: processamento para frente (propagação) e processamento para trás (retropropagação).

No processamento para frente (propagação), o vetor de entrada é aplicado aos neu-rônios da rede e seu efeito se propaga através da rede, camada por camada. Os pesos sinápticos w permanecem fixos e o sinal funcional que aparece na saída do neurônio j é calculado como:

onde φ(vj(n)) é a função de ativação do neurônio j, sendo n o n-ésimo padrão de treinamento e vj(n) o potencial de ativação do neurônio j. A função de ativação define a saída do neurônio. Os tipos básicos de funções de ativação são: Linear, Sigmóide e Tangente hiperbólica. Com relação ao potencial de ativação, este é representado por:

17

))(()( nvny jj ϕ=

Page 21: Series Temporais

∑=

=p

iijij nynwnv

0)()()(

onde p é o número total de entradas aplicadas ao neurônio j, wij(n) é o peso sinápti-co que conectada o neurônio i ao neurônio j, e yi(n) é o sinal de entrada do neurônio j (ou de forma equivalente, o sinal funcional na saída do neurônio i). O sinal de erro para o j-ésimo neurônio da camada de saída é definido por:

onde dj(n) é a resposta desejada. O cálculo desses sinais de erro encerra a fase de propagação do algoritmo.

No processamento realizado pela retropropagação, o ajuste dos pesos é realizado pelo método do gradiente e pode ser descrito pela equação a seguir:

Onde:

η é o parâmetro da taxa de aprendizado (que define a magnitude de atualização dos pesos) e ∂E/∂wji é a derivada parcial do erro E em relação ao peso wij.

A equação anterior é conhecida como Regra Delta. Outra forma de representar esse ajuste dos pesos é expressa por:

sendo o gradiente local δj (n) definido por:))((')()( nvnen jjjj ϕδ =

Esta última equação demonstra que o gradiente local δj (n) para o neurônio de saída j é igual ao produto do respectivo sinal de erro pela derivada φ'j(vj(n)) da função de ativação relacionada. A Figura 15 ilustra um diagrama da implementação desse treina-mento para um neurônio de saída.

18

)()()( nyndne jjj −=

)()(ji

jiwEnw

∂∂−=∆ η

(n)(n)y(n)w ijji η δ=∆

Page 22: Series Temporais

ProdutoAlgoritmo deTreinamento

kv )( kvϕ

)´( kvϕ

Taxa de aprendizado

pesos sinápticos

biasW0

W1

Wn

W2

saída

ky

saídadesejada

kd+

X0 = 1

X1

X2

Xn

....

entr

adas

Figura 15: Aplicação do treinamento de um simples neurônio localizado na camada de saída de uma rede MLP. fonte: traduzida e adaptada de [Palit e Popovic, 2005]

Para o caso de um neurônio j localizado em uma camada oculta, o sinal de erro ej(n) não pode ser obtido diretamente, pois não existe uma resposta desejada especificada para aquele neurônio. Nessa situação o cálculo do citado sinal de erro deve ser deter-minado de forma recursiva, em termos dos sinais de erro de todos os neurônios aos quais o neurônio oculto está diretamente conectado. Dessa forma, o cálculo do gradi-ente local é redefinido para:

∑=k

kjkjjj nwnnv'n )()())(()( δϕδ

onde o índice k se refere a um neurônio que se encontra em uma camada à direita do neurônio j, quando este pertence a uma camada oculta.

Uma alternativa para aumentar a taxa de aprendizagem ƞ evitando causar a instabi-lidade da rede é a inclusão do termo de momento α na regra delta, estendendo-a como:

)()()1()( nynnwnw ijjiji δα +−∆=∆

Esta equação é chamada de regra delta generalizada, pois inclui a regra delta como um caso especial onde α = 0. O termo de momento representa o valor memorizado do último incremento e, dessa forma, a próxima mudança no peso é mantida aproximada-mente na mesma direção da última [Palit e Popovic, 2005].

O emprego do algoritmo Backpropagation na previsão de séries é realizada a partir da utilização de janelas de previsão, as quais formarão os exemplos para a etapa de treinamento supervisionado em uma rede neural MLP. Uma ilustração de configura-ção para uma rede MLP destinada à previsão de valores futuros foi exibida na figura 07. Os parâmetros básicos para configuração do algoritmo backpropagation são: a taxa de aprendizagem, o termo momento e o número de épocas.

19

Page 23: Series Temporais

3.3 Comitês de Aprendizado

Um comitê de aprendizado representa a agregação de mais de uma máquina de apren-dizado na produção de uma única solução computacional para um determinado prob-lema [Lima, 2004]. Estas máquinas se referem, basicamente, aos métodos de previsão provenientes de técnicas de inteligência artificial, mas pode incluir outras derivadas da estatística, por exemplo. Algumas destas técnicas foram apresentadas nas seções ante-riores.

A Figura 16 ilustra a estrutura de um comitê que combina a saída de 4 previsores (máquinas de aprendizado). Segue adiante uma descrição do processo global [Leone Filho, 2006]:

Cada previsor recebe os dados de entrada do problema, que podem não ser os mesmos para previsores distintos;

Cada previsor (método base) faz um mapeamento f:Rm →R da saída a partir de m entradas;

Cada saída de cada previsor é multiplicada por um peso, onde o somatório de to-dos os pesos impostos às saídas deve ser igual a 1;

As saídas são selecionadas para formar o comitê, de tal forma que nem todas as saídas dos previsores são combinadas, mas somente aquelas que melhoram o de-sempenho do comitê; e

As saídas selecionadas e ponderadas são somadas para compor a solução do co-mitê.

Entradas

Previsor 1

Entradas Entradas Entradas

Previsor 2 Previsor 3 Previsor 4

(Saída 1)*W1 (Saída 2)*W2 (Saída 3)*W3 (Saída 4)*W4

COMITÊ∑

==

4

11

IiW

∑=

4

1IiiWSaídaSaída Combinada

Figura 16: Estrutura de um comitê de previsores, considerando 4 componentes. fonte: [Leone Filho, 2006].

20

Page 24: Series Temporais

Após a etapa de seleção dos membros do comitê, a combinação dos resultados indi-viduais de cada um destes pode ser feita por diversas maneiras. As mais comuns são votação múltipla ou votação majoritária para a tarefa de classificação de padrões e mé-dia aritmética ou média ponderada para a tarefa de regressão [Leone Filho, 2006].

Em um contexto mais amplo e não relacionado necessariamente à previsão de séries temporais, pode-se descrever tarefas de classificação e regressão como definidos em [Rezende, 2003]: uma tarefa de classificação consiste na predição de um valor categóri-co como, por exemplo, predizer se o cliente é bom ou mau pagador. Na regressão, o atributo a ser previsto consiste em um valor contínuo, como por exemplo, predizer o lucro ou a perda em um empréstimo.

Bagging [Breiman, 1994] e boosting [Freund e Schapire, 1997] são métodos popula-res de comitês de aprendizado e podem ser usados como algoritmos de lote dentro de outros comitês. [Oza, 2001] descreve que estes métodos processam repetidamente o conjunto inteiro de exemplos de treinamento e requerem no mínimo uma passagem através dos dados para cada modelo base que será gerado. Este último autor propôs uma abordagem onde os métodos citados processam uma única vez o citado conjunto, viabilizando a utilização de grandes bases de dados. Algumas formas de comitê são brevemente descritas adiante.

3.3.1 Combinação Linear

A estratégia mais simples de combinação é aplicar um somatório ponderado das saídas individuais dos membros do comitê. A equação descrita a seguir representa essa estra-tégia definida como combinação linear:

∑=

=M

iiic fwf

1

Onde fc é a saída combinada, M é o número de métodos base, fi é a saída individual de cada método base e wi é um peso positivo associado a essa saída, sendo a soma des-tes pesos iguais a 1 [Wichard e Ogorzalek, 2004] [Brown, 2003]. Algumas abordagens para obtenção dessas ponderações, em busca de combinações lineares ótimas, são apresentadas em [Perrone, 1993] [Hashem, 1993]. Quando os pesos são idênticos, a combinação é mencionada como média simples, sendo expressa por:

∑=

=M

iic f

Mf

1

1

3.3.2 Combinação Não-Linear

Nessa estratégia de combinação as saídas individuais dos métodos base são interrela-cionadas de forma não-linear. Esse mapeamento não-linear pode ser realizado por meio de implementações isoladas de tecnologias de inteligência artificial, tais como re-des neurais, lógica nebulosa e abordagem híbrida [Palit e Popovic, 2000]. A equação abaixo exibe uma representação adaptada de [Lai, 2006]:

)...,,,,( 321 nc fffff ψ=

Onde fc é a saída combinada, (f1, f2, f3,..., fn) é a saída individual de cada método base e Ψ(.) é uma função não-linear.

21

Page 25: Series Temporais

3.3.3 Bagging

Bagging [Breiman, 1994] é um método para geração de versões múltiplas de previsores e usá-los para obter um previsão agregada. Essa agregação realiza a média dessas versões quando prevê um valor numérico e faz um voto majoritário quando prevê uma classe. As versões múltiplas são formadas pelo uso de técnicas de bootstrap [Efron e Tibshirani, 1993] que replicam o conjunto de treinamento para formação de novos conjuntos de treinamento.

3.3.4 Boosting

Boosting [Schapire, 1990] é uma abordagem diferente da anterior, onde os conjuntos de treinamento da primeira não são gerados a partir de uma amostragem uniforme com reposição. Os membros do comitê são treinados seqüencialmente, e o treinamento de um membro em particular é dependente do treinamento e do desempenho dos mem-bros treinados previamente.

Uma limitação prática dessa abordagem é que requer freqüentemente uma grande amostra de treinamento. AdaBoost [Freund e Schapire, 1996] é uma variante de boos-ting sendo provavelmente a mais difundida.

3.3.5 Mistura de Especialistas (ME)

O princípio que rege a arquitetura de Mistura de Especialistas [Jacobs, 1991] é que vá-rios previsores (redes neurais) estarão aptos a “especializar” partes específicas do espa-ço de entrada. Uma rede de passagem (gating network) recebe as mesmas entradas e é responsável por aprender a combinação apropriada de pesos para modular as saídas de cada rede neural especialista.

3.3.6 Mistura Hierárquica de Especialistas (MHE)

O modelo de Mistura Hierárquica de Especialistas (MHE) [Jordan, 1994] é uma exten-são natural da abordagem Mistura de Especialistas (ME). Esse modelo é similar a uma árvore, na qual as redes de passagem estão em vários pontos não-terminais da árvore e os especialistas se encontram nas folhas das árvores. Tal modelo se diferencia na medi-da em que o espaço de entrada é dividido em conjuntos aninhados de subespaços, com a informação sendo combinada e redistribuída entre os especialistas sob o controle de várias redes de passagem arranjadas de forma hierárquica [Haykin, 2001].

3.4 Tendências de Desenvolvimento

Na última década, observa-se o crescente interesse em algumas abordagens tais como: máquinas de vetores-suporte (SVM, do inglês support sector machines), wavelet neural networks e fractally configured neural networks. Essas técnicas serão apresentadas adiante.

Quanto às técnicas baseadas em lógica fuzzy, merecem destaque aquelas direciona-das à extração de conhecimento a partir dos dados ou data understanding, por meio do uso de sistemas baseados em regras [Duch et al., 2004].

22

Page 26: Series Temporais

3.4.1 Máquinas de Vetores-Suporte (Support Vector Machines)

Baseada em uma abordagem computacional nomeada como princípio da minimização do risco estrutural, formulada por [Vapnik, 1992], os conceitos sobre máquinas de ve-tores-suporte foram fundamentados. Esses conceitos representam uma metodologia inovativa para o desenvolvimento de redes neurais para aplicações em aproximação de funções, processamento de sinal, reconhecimento de padrões e previsão de séries temporais.

Algumas potencialidades advindas da abordagem SVM com aquelas da abordagem de comitês são exploradas conjuntamente em [Lima, 2004]. Nesse trabalho, várias ex-tensões e novas configurações de comitês, tendo máquinas de vetores-suporte como componentes, são propostas e implementadas.

3.4.2 Wavelet Neural Networks

Uma nova e poderosa classe de redes neurais é denominada Wavelet Neural Networks. Essas redes preservam todas os aspectos comuns às redes neurais, porém, em adição, possui rigorosos fundamentos matemáticos. Elas possuem wavelets como funções de ativação e constituem uma alternativa para uso de redes com funções de ativação sig-móide [Alarcon-Aquino, 2005].

Diversas representações estruturais de redes wavelet têm sido desenvolvidas com base na abordagem de decomposição wavelet. O conceito wavelet deriva de uma exten-são sobre a teoria da transformada de Fourier [Palit e Popovic, 2005].

3.4.3 Fractally Configured Neural Networks

Como uma ferramenta para solucionar problemas envolvendo processos em alto nível ou funções cognitivas que, por exemplo, redes neurais convencionais não podem reso-lver, redes denominadas como fractal networks têm sido propostas. Essas redes são es-truturadas em forma de árvores construídas a partir de agrupamentos (clusters) de sub-redes distribuídas hierarquicamente [Palit e Popovic, 2005].

4 Conclusões

Diversas modelagens são empregadas para a previsão de séries temporais, estenden-do-se desde os modelos clássicos da estatística até aqueles baseados em técnicas de in-teligencia artificial. O problema geral quando se faz previsão de séries temporais é que não existe um único modelo que seja eficaz em todos os tipos de séries temporais [Leo-ne Filho, 2006]. A utilização de sistemas híbridos ou comitês busca o aproveitamento dos recursos individuais de diferentes métodos para tratar um determinado problema.

Diante das inúmeras abordagens possíveis para criação de métodos de previsão, o presente trabalho teve por objetivo apresentar algumas das mais importantes tecnolo-gias de inteligência computacional que são amplamente utilizadas para a construção de modelos para aplicação em previsão de séries temporais: redes neurais e lógica ne-bulosa. Este trabalho apresentou ainda diversas formas de combinação de métodos de previsão e algumas tendências de desenvolvimento nessa área.

23

Page 27: Series Temporais

5 Referências

ALARCON-AQUINO, V., GARCÍA-TREVIÑO, E. S., ROSAS-ROMERO, R., GUERRERO-OJEDA, L. G. Learning and approximation of chaotic time series using wavelet-networks. In: Sixth Mexican International Conference on Computer Science, ENC 2005.

BOX, G. E., JENKINS, G. M., Time series analysis forecasting and control. São Francisco, Califórnia: Holden-Day, 1976.

BREIMAN, L., Bagging predictors, Technical Report Tech. rep. 421, Department of Statistics, University of California, Berkeley, 1994.

BROWN, G. Diversity in Neural Network Ensembles. 2003. Tese (Doctor of Philosophy in Computer Science) - University of Birmingham, 2003.

DUCH, W., SETIONO, R., ZURADA, J. M. Computational Intelligence Methods, for Rule-Based Data Understanding. Proceedings of the IEEE 92(5): pp. 771-805. 2004.

FREUND, Y., SCHAPIRE, R. E, Experiments with a new boosting algorithm, In Machine Learning: Proceedings of the Thirteenth International Conference, 1996.

GOLDSCHMIDT, R. R., PASSOS, E. Data Mining: Um Guia Prático. 1. ed. Rio de Janeiro: Campos, 2005. 261p.

HASHEM, S. Optimal Linear Combinations of Neural Networks. 1993. Tese (Doctor of Philosophy) – Purdue University, 1993.

HAYKIN, S., Redes Neurais – princípios e prática. 2. ed. Porto Alegre: Bookman, 2001. 900p.

JACOBS, R. A., JORDAN, M. I., NOWLAN, S. J., HINTON, G. E. Adaptive mixtures of local experts. Neural Computation, vol. 3, no 1, pp. 79-87, 1991.

JORDAN, M. I., JACOBS, R. A. Hierarchical Mixtures of experts and the EM algorithm. In: Proceedings of 1993 International Joint Conference on Neural Networks, pp. 1339-1344. 1993.

LAI, K. K., et al. A Novel Nonlinear Neural Network Ensemble Model for Financial Time Series Forecasting. V.N. Alexandrov et al. (Eds.): ICCS 2006, Part I, LNCS 3991, pp. 790 – 793, 2006.

LEONE FILHO, M. de A., Previsão de carga de curto prazo usando ensembles de previsores selecionados e evoluídos por algoritmos genéticos. 2006. Dissertação (Mestrado em Engenharia Elétrica) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação, 2006.

LIMA, C. A. de M., Comitê de máquinas: uma abordagem unificada empregando máquinas de vetores-suporte. 2004. Tese (Doutorado em Engenharia Elétrica) - Universidade Estadual de Campinas, 2004.

MENDEL, J. M.: Fuzzy Logic Systems for Engineering: a Tutorial. In: Proc. IEEE, V. 83, No. 3, pp. 345-377 (1995)

24

Page 28: Series Temporais

MORETTIN, P. A., TOLOI, C. M. C. Análise de Séries Temporais. 2. ed. São Paulo: Edgard Blücher, 2006. 538p.

OZA, N. C. Online Ensemble Learning. 2001. Tese (Doctor of Philosophy in Computer Science) - University of California at Berkeley, 2001.

PALIT, A. K., POPOVIC, D. Computational Intelligence in Time Series Forecasting. 1. ed. Londres: Springer-Verlag, 2005. 372p.

PERRONE, MICHAEL P., COOPER, LEON N., When Networks Disagree: Ensemble Methods for Hybrid Neural Networks, 1993.

REZENDE, S. O. Sistemas Inteligentes: Fundamentos e Aplicações. 1. ed. São Paulo: Manole, 2003. 525p.

RIBEIRO, C. V., GOLDSCHMIDT, R. R., CHOREN, R., Uma Proposta de Método Híbrido Fuzzy para Previsão de Séries Temporais, 5º CONTECSI - Universidade de São Paulo, Junho de 2008.

RUMELHART, D. E., MCCLELLAND, J. L. Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations, The MIT Press, 1986.

SCHAPIRE, R. E., et al. Boosting the margin: A new explanation for the effectiveness of voting methods. The Annals of Statistics, 26(5):1651–1686, 1998.

SILVA, C. S. da, Previsão Multivariada da Demanda Horária de Água em Sistemas Urbanos de Abastecimento. 2003. Tese (Doutorado em Engenharia Civil), Universidade Estadual de Campinas, 2003.

SILVA, P. O. M. P., Previsão de Séries Temporais Utilizando Lógica Nebulosa. Trabalho de conclusão de curso de Bacharelado em Ciência da Computação, Centro Universitário da Cidade do Rio de janeiro, 2006.

SILVA, P. O. M. P., GOLDSCHMIDT, R. R., SOARES, J. A., FERLIN, C., Previsão de Séries Temporais Utilizando Lógica Nebulosa, 4º CONTECSI - Universidade de São Paulo, 2007.

VALENTINI, G., MASULLI, F. Ensembles of Learning Machines. In 13th Italian Workshop on Neural Nets, 2002, Volume 2486 of Lecture Notes in Computer Science. Berlin/Heidelberg: Springer, pp. 3–19. 2002

VAPNIK, V. N. Principles of risk minimisation for learning theory, Advances in Neural Information Processing Systems, 4:831-838. Morgan Kaufmann, San Mateo, CA. 1992.

WAN, E. A, Time Series Data, Oregon Health & Science University. Disponível em: <http://www.cse.ogi.edu/~ericwan/data.html>. Acesso em: 3 jun. 2006.

WANG, J., LEU, J. Stock Market Trend Prediction Using ARIMA-based Neural Networks. 1996.

WANG, L., MENDEL, J. M., 1992, Generating Fuzzy Rules by Learning from

25

Page 29: Series Temporais

Example. IEEE Transactions on System, Man and Cybernetics, Vol. 22, N. 6, 1992.

WICHARD, J. D., OGORZALEK, M. Time Series Prediction with Ensemble Models. 2004.

WESSA. P., Free Statistics Software, Office for Research Development and Education, versão 1.1.18. Disponível em: <http://www.wessa.net/finmardata.wasp?B1=1>. Acesso em: 18 mar. 2006.

26