Buscar

Metodos_para_Previsao_de_Series_Temporai

Prévia do material em texto

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
Monografias em Sistemas e Computação, No. 03/2009 ISSN: 1982-9035
Editor: 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 Choren
1Instituto Superior de Tecnologia do Rio de Janeiro – FAETEC
claudiovas02@yahoo.com.br, ronaldo.rgold@gmail.com, choren@ime.eb.br
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
Responsável por publicações:
Ricardo Choren
IME – Seção de Engenharia de Computação
Praça General Tibúrcio 80, Praia Vermelha
22290-270, Rio de Janeiro/RJ, Brasil
Tel. +55 21 2546-7090
E-mail: choren@ime.eb.br
iii
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
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 x
x
t t+1 t+2 t+h Tempo (t).....
Z(t)^
Ẑ(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
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
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
j
kjk xwv ∑=
= 0
)(vy kk ϕ=
4
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:
ve
v −+
=
1
1)(ϕ
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
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
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úmerode 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
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íni
n 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
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
fA(x) = { Axsesomente ∉,0 Axsesomente ∈,1
No 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 
comrelaçã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
É o modelo computacional mais simples, e pode ser descrito por três variáveis (a, m, 
b):
 
( ) ( ) ( ) ] [( ) ( ) ] [








≥
∈−−
∈−−
≤
=
bxse
bmxsembxb
maxseamax
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):
 
( )
( ) ( ) ] [
[ ]
( ) ( ) ] [








≥
∈−−
∈
∈−−
≤
=
dxse
dcxsecdxd
cbxse
baxseabax
axse
x
,0
,,/
,,1
,,/
,0
µ
 
 
Figura 10: Gráfico da Função de Pertinência Trapezoidal.
11
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
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
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
i
iC
m
i
iiC
y
yy
y
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
3 Métodos de Previsão de Séries Temporais
Um conjunto diversificado de métodos de previsão desé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
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
B1
B2
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
B1
B2
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 de
Treino
(conseqüente)
t1
t2t3t4
t5
x1x2x3
x4
0,1
0,3
0,4
0,6
0,9
0,7
0,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
ANTECEDENTES CONSEQUENTE
X1= { B1= 0,4 X2= { B2= 0,3 X5= { B2= 0,2B2= 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 ϕ=
∑
=
=
p
i
ijij 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 encerraa 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
ji
w
Enw
∂
∂−=∆ η
(n)(n)y(n)w ijji η δ=∆
ProdutoAlgoritmo de
Treinamento
∑
∑
kv )( kvϕ
)´( kvϕ
Taxa de aprendizado
pesos sinápticos
biasW0
W1
Wn
W2
saída
ky
saída
desejada
kd
+
X0 = 1
X1
X2
Xn
....
en
tr
ad
as
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
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
1
1
I
iW
∑
=
4
1I
iiWSaída
Saída Combinada
Figura 16: Estrutura de um comitê de previsores, considerando 4 componentes. 
fonte: [Leone Filho, 2006].
20
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
i
iic 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
i
ic fM
f
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
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 desempenhodos 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
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
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
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
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
	1 Introdução
	2 Conceitos Básicos
	2.1 Séries Temporais
	2.2 Redes Neurais Artificiais
	2.2.1 Neurônio Artificial
	2.2.2 Arquitetura de uma Rede Neural Artificial
	2.2.3 Metodologia de Previsão
	2.2.4 Processo de Aprendizagem
	2.3 LÓGICA NEBULOSA
	2.3.1 Conjuntos Nebulosos
	2.3.2 Variáveis Lingüísticas
	2.3.3 Operações Nebulosas Básicas
	2.3.4 Regras Nebulosas
	2.3.5 Inferência Fuzzy
	3 Métodos de Previsão de Séries Temporais
	3.1 Algoritmo de Wang-Mendel 
	3.2 Algoritmo Backpropagation
	3.3 Comitês de Aprendizado
	3.3.1 Combinação Linear
	3.3.2 Combinação Não-Linear
	3.3.3 Bagging
	3.3.4 Boosting
	3.3.5 Mistura de Especialistas (ME)
	3.3.6 Mistura Hierárquica de Especialistas (MHE)
	3.4 Tendências de Desenvolvimento
	3.4.1 Máquinas de Vetores-Suporte (Support Vector Machines)
	3.4.2 Wavelet Neural Networks
	3.4.3 Fractally Configured Neural Networks
	4 Conclusões
	5 Referências

Continue navegando