2.2 Modelos de previs˜ao de vaz˜oes
2.2.3 Bases de regras nebulosas
Um sistema nebuloso ´e um modelo baseado em regras lingu´ısticas do tipo se-ent˜ao. Estas re- gras s˜ao as respons´aveis por representar o conhecimento adquirido pelo especialista, ou extra´ıdo de dados, os quais fornecem informa¸c˜oes atrav´es de vari´aveis de entrada e sa´ıda do sistema. Dado que n˜ao existe uma maneira formal e efetiva de extra¸c˜ao do conhecimento, a an´alise dos dados dispon´ıveis para a extra¸c˜ao de informa¸c˜ao pelo especialista, com o objetivo de determinar o n´umero de regras adequadas e assim, definir a estrutura do sistema nebuloso, torna-se uma tarefa dif´ıcil de ser resolvida (Er & Wu 2002).
Geralmente, sistemas baseados em regras nebulosas do tipo se-ent˜ao s˜ao compostos por um mecanismo de inferˆencia nebulosa, uma base de regras e um defuzzificador, o qual ´e o respons´avel pelo processamento das sa´ıdas locais de cada uma das regras nebulosas (Luna 2003). J´a o mecanismo de inferˆencia ´e o encarregado de mapear a transforma¸c˜ao nebulosa do espa¸co de entrada para o espa¸co de sa´ıda, utilizando por sua vez, a base de regras que comp˜oe o sistema. Os sistemas nebulosos ou modelos baseados em regras nebulosas do tipo Takagi-Sugeno (Takagi & Sugeno 1985) tˆem se convertido em uma poderosa ferramenta na ´area de engenharia para modelagem e controle de sistemas complexos (Angelov & Filev 2004), pois estes utilizam uma combina¸c˜ao n˜ao linear de modelos simples, geralmente lineares, localizados em sub-regi˜oes do espa¸co de entrada, de tal forma que o problema global ´e dividido em problemas “locais”, sendo a sa´ıda final do sistema uma combina¸c˜ao n˜ao-linear das solu¸c˜oes locais estimadas. Estes sistemas s˜ao capazes de processar o conhecimento de forma compreens´ıvel e de manipular incertezas e imprecis˜oes visando solucionar problemas reais complexos (Zimmermann 1987).
Existem duas abordagens gerais para a otimiza¸c˜ao de modelos baseados em regras nebulosas. A primeira abordagem engloba os algoritmos de aprendizado realizados de forma offline ou em batelada. Esta abordagem consiste em definir uma estrutura do modelo que ser´a mantida fixa durante o processo de aprendizado, no qual os parˆametros do modelo definido previamente ser˜ao ajustados. Para tal, o conjunto total de dados entrada-sa´ıda dispon´ıveis para o ajuste ser´a utilizado a cada ´epoca do processo.
Uma abordagem diferente ´e proposta em (Luna, Soares & Ballini 2007a), onde, embora o algoritmo de aprendizado seja baseado em uma abordagem em batelada, este utiliza em paralelo ao ajuste do modelo, crit´erios de adi¸c˜ao de regras nebulosas, assim como crit´erios de poda, modificando a estrutura inicial durante o aprendizado. Ap´os a etapa de ajuste construtivo, a estrutura ´e mantida fixa e a previs˜ao m´ultiplos passos `a frente ´e realizada para um conjunto de s´eries financeiras e econˆomicas.
A vantagem do aprendizado em batelada ´e que, devido `a utiliza¸c˜ao de todos os dados dis- pon´ıveis para o ajuste do modelo a cada ´epoca do processo de aprendizado, em geral, obt´em-se ´otimos locais adequados, por´em, com um maior custo computacional, j´a que a cada ´epoca do
aprendizado, processa-se o total de dados dispon´ıveis para o treinamento. Al´em disso, a estru- tura e parˆametros do modelo se mant´em constante durante e ap´os o aprendizado, independente de existir ou n˜ao varia¸c˜oes consider´aveis na dinˆamica do problema em estudo.
No entanto, devido `a pr´opria complexidade dos problemas reais, os quais s˜ao, em geral, de natureza n˜ao linear, torna-se imposs´ıvel saber com antecedˆencia o n´umero adequado de regras que ir˜ao compor a estrutura do modelo. Este problema ´e normalmente tratado via tentativa e erro. Estruturas de diferentes tamanhos s˜ao constru´ıdas, ajustadas e testadas. O modelo com melhor desempenho ´e escolhido como o mais adequado.
Como alternativa a esta abordagem, surge um segundo grupo de algoritmos de aprendizado, o qual engloba os algoritmos de aprendizado de natureza dinˆamica ou incremental, tamb´em co- nhecidos na literatura como modelos com aprendizado online. Nesta abordagem, uma estrutura inicial ´e modificada a cada itera¸c˜ao, a medida que novos dados entrada-sa´ıda s˜ao apresentados ao modelo. A estrutura ´e modificada acrescentando ou eliminando regras nebulosas no decorrer do aprendizado, de acordo com crit´erios de adi¸c˜ao de regras e de puni¸c˜ao ou poda previamente estabelecidos. Ou seja, n˜ao existe uma estrutura fixa, j´a que tanto a estrutura do modelo como os parˆametros s˜ao vari´aveis no tempo.
O trabalho proposto em (Hong & White 2009) sugere a utiliza¸c˜ao de um modelo dinˆamico baseado em regas nebulosas, denominado de DNFLMS, para a constitui¸c˜ao de um modelo hidrol´ogico para a previs˜ao um passo `a frente da vaz˜ao di´aria do rio Pupu Springs, localizado no vale Takaka na Nova Zelˆandia.
Por outro lado, o trabalho apresentado em Luna, Soares, Lopes & Ballini (2009), mostra a capacidade de predi¸c˜ao dos modelos dinˆamicos baseados em regras nebulosas, quando utilizados na previs˜ao v´arios passos `a frente das vaz˜oes incrementais m´edias di´arias para a UHE de Porto Primavera, Brasil. Al´em disso, o modelo FIS ´e proposto em (Zambelli, Luna & Soares 2009), mostrando a utiliza¸c˜ao de uma base de regras com aprendizado offline, para a previs˜ao um passo `a frente de s´eries de vaz˜oes anuais.
Este modelo surgiu da simplifica¸c˜ao do modelo construtivo proposto em (Luna, Soares & Ballini 2007b). O sistema de inferˆencia proposto (FIS, do termo em inglˆes Fuzzy Inference System), ´e baseado em regras nebulosas e em modelos de primeira ordem, compondo um sistema nebuloso do tipo Takagi-Sugeno (TS) (Takagi & Sugeno 1985). Assim, o FIS codifica na sua estrutura uma base de regras do tipo Se-Ent˜ao, adotando a seguinte representa¸c˜ao:
Se < antecedente > Ent˜ao < consequente >
A parte do antecedente representa uma sub-regi˜ao do espa¸co de entrada. Esta sub-regi˜ao define a regi˜ao ativa associada `a regra nebulosa. A parte do consequente ´e definida por um modelo local que contribuir´a com uma parcela na estimativa da sa´ıda final. A estrutura geral do FIS ´e descrita a seguir.
Estrutura geral
A estrutura do FIS ´e composta por um conjunto de M regras nebulosas de primeira ordem, do tipo Takagi-Sugeno (TS) (Takagi & Sugeno 1985), e ´e ilustrada na Figura 2.3.
xk xk
xk
Parti¸c˜ao do espa¸co de entrada R1 R2 .. . . . . RM y1k y2k ykM × × × P g1k gk2 gkM gik Base de regras ˆ yk
Figura 2.3: Estrutura geral do FIS. Seja xk= [xk
1, xk2, . . . , xkp] ∈ Rp o vetor de entrada no instante k, k ∈ Z+0; ˆyk∈ R ´e a sa´ıda
do modelo que representa em termos de previs˜ao, a estimativa um passo `a frente da s´erie em estudo, dada a entrada xk.
O espa¸co de entrada, representado por xk ∈ Rp ´e particionado em M sub-regi˜oes, sendo
cada sub-regi˜ao representada por uma regra nebulosa. os antecedentes de cada regra nebulosa Ri (do tipo Se-Ent˜ao), s˜ao definidos pelos respectivos centros ci ∈ Rp e matrizes de covariˆancia
Vi|p×p. Os consequentes s˜ao representados por modelos locais lineares com sa´ıdas denotadas
por yi, i = 1, . . . , M e definidas de acordo com:
yik= φk× θiT, (2.44)
onde φk= [1 xk
1 xk2 . . . xkp]; θi = [θi0 θi1 . . . θip] ´e o vetor de coeficientes do modelo local para a
i − th regra nebulosa.
A cada padr˜ao de entrada associa-se um grau de pertinˆencia referente `as sub-regi˜oes do espa¸co de entrada. Os graus de pertinˆencia s˜ao calculados utilizando fun¸c˜oes de pertinˆencia gaussianas gi(xk), dadas pela seguinte equa¸c˜ao:
gi(xk) = gik= αi· P [ i | xk ] M X q=1 αq· P [ q | xk ] , (2.45)
onde αi s˜ao coeficientes positivos que satisfazem a condi¸c˜ao de unicidade M
X
i=1
e P [ i | xk] ´e definida de acordo com a Equa¸c˜ao (2.46) a seguir P [ i | xk ] = 1 (2π)p/2det(V i)1/2 exp −1 2(x k − ci)V−1i (xk− ci)T , (2.46) onde det(·) representa o operador determinante. Assim, a sa´ıda do FIS y(k) = ˆyk, ´e calculada
como uma combina¸c˜ao n˜ao linear dos consequentes yk
i ponderados pelos seus respectivos graus
de pertinˆencia gk i, ou seja: ˆ y(xk) = ˆyk = M X i=1 gik yki. (2.47) A Equa¸c˜ao (2.46) tamb´em pode ser interpretada como a probabilidade do vetor de entrada xk pertencer `a regi˜ao ativa da i−´esima regra, j´a que, a medida que o dado de entrada encontra-
se mais pr´oximo do i−´esimo centro, maior ser´a o valor do i−´esimo grau de pertinˆencia. Em outras palavras, cada sub-regi˜ao nebulosa ´e representada pelo respectivo centro ci, assim como
os parˆametros de dispers˜ao codificados na diagonal principal da matriz de covariˆancia associada Vi.
Assim, a dinˆamica do modelo pode ser interpretada como um mecanismo de inferˆencia nebulosa, sendo a base de regras composta por regras Ri, i = 1, . . . , M, do tipo
Rki : Se xk pertence a i−´esima regi˜ao com grau
de pertinˆencia gk
i Ent˜ao yik = φk× θiT.
M´etodo de ajuste dos parˆametros
A obten¸c˜ao do modelo final ´e realizada em duas etapas: a inicializa¸c˜ao do modelo e o ajuste dos seus parˆametros.
Inicializa¸c˜ao Uma das formas comumente utilizadas para a inicializa¸c˜ao de modelos baseados em regras nebulosas consiste na utiliza¸c˜ao de algoritmos de agrupamento, os quais como ser´a visto, influenciam diretamente na estrutura e otimiza¸c˜ao dos modelos.
Neste trabalho, a inicializa¸c˜ao do modelo ´e realizada utilizando o algoritmo de agrupamento conhecido como algoritmo SC ou Subtractive Clustering, o qual foi originalmente proposto em (Chiu 1994). O algoritmo SC agrupa o conjunto de dados entrada-sa´ıda -utilizados para fins de ajuste do FIS- em um total de M conjuntos, sendo o processo realizado de forma n˜ao supervisionada.
O algoritmo SC proposto em (Chiu 1994), vem sendo um algoritmo bastante empregado para a gera¸c˜ao de modelos baseados em regras, devido a sua simplicidade e capacidade para determinar de forma autom´atica o n´umero de centros necess´arios para representar de forma adequada o conjunto de dados, o qual ´e uma grande vantagem quando comparado a outros algoritmos de agrupamento, como por exemplo, o algoritmo tradicional Fuzzy C-Means (FCM) (Bezdek 1981).
A id´eia base do algoritmo SC ´e a seguinte. O algoritmo define um ´ındice de potencial Pkpara
cada dado entrada-sa´ıda, com k = 1, . . . , N0. O potencial de cada dado depende diretamente
da distˆancia deste para todos os outros dados do conjunto apresentado. Assim, quanto menor for a distˆancia do dado aos outros, seu potencial ser´a maior. Desta forma, o potencial pode ser definido como: Pk = N X j=1 exp{−αkψk− ψjk2} (2.48)
com ψk = [xk yk], α = 4/r2a, onde xk ´e o vetor de entrada ao modelo composto por p com-
ponentes; yk ´e a sa´ıda unidimensional e r
a ´e um termo constante e positivo que representa o
parˆametro de dispers˜ao associado a cada grupo.
Deve-se observar que, todo dado localizado em uma regi˜ao com uma densidade alta de dados, ter´a um potencial maior, tendo assim, uma possibilidade mais alta de se tornar um novo centro. Al´em disso, o parˆametro ra definir´a o raio de influˆencia na vizinhan¸ca de cada um dos
centros, ou seja, a regi˜ao na qual os centros exercer˜ao a sua influˆencia. Assim, ra ´e o primeiro
hiperparˆametro do modelo proposto.
Seja ψ1 o dado entrada-sa´ıda com o maior potencial P1∗. Assim, o potencial para todos os
outros dados ser˜ao atualizados como:
Pk = Pk× (1 − exp{−βkψk− ψ1k2}) (2.49)
com β = 4r2
a/rb2 e rb/ra = rba. Desta maneira, quanto mais pr´oximo esteja um dado entrada-
sa´ıda de um centro j´a definido, menor ser´a o seu potencial, sendo menor a sua possibilidade de se tornar um novo centro. Neste caso, a rela¸c˜ao de proximidade est´a diretamente vinculada ao valor de rba, o qual torna-se assim no segundo hiperparˆametro do FIS, e em conjunto com ra
influencia diretamente na estrutura do modelo FIS a otimizar na segunda etapa de ajuste de parˆametros.
O Algoritmo 2.2.3 resume os passos que devem ser seguidos para a defini¸c˜ao dos centros. Assim, ap´os a identifica¸c˜ao do n´umero de regras, os parˆametros do FIS s˜ao inicializados seguindo os seguintes crit´erios:
1. c0
i = ψi0|1...p, onde ψi0|1...p ´e composto pelos primeiros p elementos do i−´esimo centro
encontrado pelo algoritmo SC; 2. σ0
i = 1.0;
3. θ0
i = [ψi0|p+1 0 . . . 0]1×p+1, onde ψ0i|p+1 ´e a p + 1−´esima coordenada do i−´esimo centro
encontrado pelo algoritmo SC; 4. V0
i = 10
−4I, onde I ´e a matriz identidade de ordem p;
Algorithm 1 Algoritmo de agrupamento Subtrativo - SC Sejam N dados entrada-sa´ıda [xk
1, . . . , xkp, yk], k = 1, . . . , N dispon´ıveis para o ajuste do
modelo de previs˜ao. Definir o valor de ra e rba. Calcular o potencial de todos os N dados
utilizando a Equa¸c˜ao (2.48) e selecionar o primeiro centro como sendo igual ao padr˜ao com maior potencial (P∗
1).
Passo 1. Atualizar os potenciais Pk de todos os dados utilizando a Equa¸c˜ao (2.49).
Passo 2. Verificar qual ´e o dado com potencial mais alto, sendo o potencial maior denotado por P∗ k; Passo 3. Se P∗ k > ¯εP ∗ 1, com ¯ε = 0, 5, ent˜ao ψ ∗
k ´e definido como um novo centro, ir ao Passo
5. Sen˜ao, ir ao Passo 4. Passo 4. Se P∗
k < εP1∗, com ε = 0, 15, ent˜ao o poss´ıvel centro ´e rejeitado e o processo
termina. Sen˜ao, ir ao Passo 6.
Passo 5. Atualizar os potenciais utilizando a Equa¸c˜ao (2.49) e voltar ao Passo 2.
Passo 6. Seja dmin a distˆancia m´ınima entre ψk∗ e todos os outros centros j´a selecionados.
Se dmin ra + P ∗ k P∗ 1 ≥ 1 ent˜ao ψ∗
k ´e definido como um novo centro e retorne ao Passo 5. Sen˜ao, ψ ∗
k ´e rejeitado e
P∗
k = 0. Selecionar o pr´oximo dado com maior potencial e defini-lo como um poss´ıvel novo
centro. Verificar novamente a condi¸c˜ao do Passo 6.
Ajuste Ap´os a inicializa¸c˜ao do FIS, os seus parˆametros s˜ao re-ajustados utilizando o algoritmo da Maximiza¸c˜ao da Verossimilhan¸ca (EM), na sua vers˜ao offline, atrav´es de uma sequˆencia de passos E-M (Expectation-Maximization), originalmente proposto para o ajuste de modelos de mistura de especialistas (Jacobs, Jordan, Nowlan & Hinton 1991).
O objetivo do algoritmo EM ´e encontrar um conjunto de valores para os parˆametros do FIS, tal que a fun¸c˜ao de verossimilhan¸ca seja maximizada. Em termos pr´aticos, trabalha-se com o logaritmo da fun¸c˜ao de verossimilhan¸ca dos valores observados yk. Esta fun¸c˜ao objetivo ´e
denotada por L, e definida como segue
L(D, Ω) = N X k=1 ln M X i=1 gi(xk, C) × P (yk | xk, θi) ! (2.50)
onde D = {xk, yk|k = 1, . . . , N}, Ω representa o conjunto de parˆametros a otimizar e C cont´em
apenas os parˆametros dos antecedentes (centros e matrizes de covariˆancia). No entanto, para maximizar L(D, Ω), ´e necess´ario estimar os parˆametros incompletos ou desconhecidos hk
i du-
rante o passo E. Este dado faltante, ´e definido como a probabilidade a posteriori de xkpertencer
`a regi˜ao ativa da i−´esima regra nebulosa.
Quando o algoritmo EM ´e adaptado para o ajuste de sistemas nebulosos, hk
i pode ser inter-
pretado como a estimativa a posteriori do grau de pertinˆencia gk
hk
i ´e calculada de acordo com
hki = αiP (i | x k)P (yk | xk, θ i) PM q=1αqP (q | xk)P (yk | xk, θq) (2.51) para i = 1, . . . , M. Estas estimativas s˜ao chamadas a posteriori, pois s˜ao calculadas assumindo que yk, k = 1, . . . , N j´a ´e conhecida. Al´em disso, a probabilidade condicional P (yk|xk, θ
i) ´e dada por: P (yk | xk, θi) = 1 p 2πσ2 i exp −[y k− yk i]2 2σ2 i (2.52) com σ2
i estimada como segue:
σ2i = N X k=1 hki[yk− yik]2 ! / N X k=1 hki (2.53)
Portanto, o algoritmo EM para a otimiza¸c˜ao dos parˆametros do FIS pode ser resumido nos seguintes passos:
1. Passo E: estimar hk
i utilizando a Eq. (2.51);
2. Passo M: maximizar a fun¸c˜ao objetivo da Eq. (2.50) e atualizar os parˆametros dos modelos, com valores ´otimos dados por:
αi = 1 N N X k=1 hki (2.54) ci = N X k=1 hkixk ! / N X k=1 hki (2.55) Vi = N X k=1 hki(xk− ci)′(xk− ci) ! / N X k=1 hki (2.56) para i = 1, . . . , M, N ´e o total de dados entrada-sa´ıda dispon´ıveis para o ajuste do FIS. Em todas estas equa¸c˜oes, Vi foi considerada como uma matriz diagonal positiva, como
uma alternativa para simplificar o problema e evitar solu¸c˜oes infact´ıveis. Uma solu¸c˜ao ´otima para θi ´e obtida a partir da solu¸c˜ao da equa¸c˜ao seguinte:
N X k=1 hk i σ2 i yk− φk× θi · φk = 0 (2.57) onde σi ´e o desvio padr˜ao referente a cada sa´ıda local yi, i = 1, . . . , M, com σi2 definido
pela Eq.(2.53). Finalizado o passo M, calcular o novo valor de L(D, Ω).