nome completo do autor - coordenação de tcc - dsc fernando upe 29-06... · web viewas pessoas do...
TRANSCRIPT
Previsão de Vazões com Máquina de Vetor de Suporte
Trabalho de Conclusão de Curso
Engenharia da Computação
Nome do Aluno: Fernando José Barbosa de Brito FilhoOrientador: Prof. Mêuser Valença
Universidade de PernambucoEscola Politécnica de Pernambuco
Graduação em Engenharia de Computação
Fernando José Barbosa de Brito Filho
Previsão de vazões com Máquina de Vetor de Suporte
Monografia apresentada como requisito parcial para obtenção do diploma de Bacharel em Engenharia de Computação pela Escola Politécnica de Pernambuco –
Universidade de Pernambuco.
Recife, Junho de 2012.
2
De acordo
Recife
____/___________/_____
_____________________________________Orientador da Monografia
3
AgradecimentosA todos os meus amigos da Escola Politecnica de Pernambuco, pelo apoio e
e motivação, principalmente a Diogo e Cristiano.
As pessoas do Instituto de Tecnologia de Pernambuco, onde cumpri meu
estágio obrigatório, pelo apoio, auxílio e compreensão – principalmente pela
compreensão, não teria terminado a monografia sem isto.
A meu professor orientador Mêuser Valença, não só pela orientação, mas por
ter-me dado bastante estímulo para continuar nesta árdua jornada e com
principalmente bastante paciência.
5
ResumoEste trabalho tem como objetivo apresentar um método para prever vazões
médias diárias a partir de séries temporais de cinco fontes diferentes. Desta forma,
utilizando o algoritmo de Máquina de Vetor-Suporte, que é uma técnica de
classificação e regressão baseada no aprendizado estatístico, será possível
apresentar a utilização de uma ferramenta usada em aprendizagem de máquina e
mineração de dados, na resolução de problemas de previsão, usando para isto,
vários tipos de funções distintas e descobrindo a melhor .
Palavras-chave: previsão de vazões, MLP, SVM, usinas hidrelétricas
.
6
AbstractThis paper aims to present a method for predicting daily average flow time
series from five different sources. Thus, using the algorithm, Support Vector
Machine, which is a classification and regression technique based on statistical
learning, you can make use of a tool used in machine learning and data mining, in
solving problems of prediction , using for this, several different types of functions and
discovering the best.
Keywords: river flow forecasts, MLP, SVM, hydroelectric
7
Sumário
Capítulo 1 Introdução 1
1.1 Formulação do problema 1
1.2 Motivação 2
1.3 Estrutura da monografia 2
Capítulo 2 Revisão Bibliográfica 3
2.1 Introdução à SVM 3
2.2 Fundamentação Teórica 5
2.2.1 Teoria do Aprendizado Estatístico 5
2.2.2 Risco 6
2.2.3 Limites e minimização no Risco Estrutural 7
2.3 Classificação com SVM´s 11
2.3.1 Margens flexíveis 13
2.4 Regressão com SVMs 15
2.5 Kernels 19
2.6 Variações do SV 20
2.6.1 ν - Support Vector Classification 20
2.6.2 ∈- Support Vector Regression 21
Capítulo 3 Ferramentas 19
3.1 Préprocessamento 22
3.2 Weka 24
3.3 Medidas de performance 29
Capítulo 4 Resultados 31
8
Índice de FigurasFigura 1. Esquema da geração de um classificador.................................................6
Figura 2. Funções lineares de separação dos dados...............................................8
Figura 3. Subconjuntos de F, com ordem crescente deh.........................................9
Figura 4. Separação por hiperplanos de margem máxima.....................................10
Figura 5. Introdução das variáveis ξ.......................................................................13
Figura 6. (a) Função circular (b) Função linear em R3...........................................15
Figura 7. Mudança do espaço original para o de características............................16
Figura 8. Base de dados deslocada........................................................................23
Figura 9. Conjunto de treinamento e teste..............................................................24
Figura 10. Aumentando a memória virtual.............................................................25
Figura 11. Escolha variáveis dependentes e independentes.................................26
Figura 12. Escolha da base de treinamento..........................................................26
Figura 13. Variável independente..........................................................................27
Figura 14. Parâmetros de treinamento..................................................................28
Figura 15. Grupo de teste......................................................................................28
Figura 16. Série original da Usina Itaipu, sem normalização dos dados...............32
Figura 17. Série da Usina Itaipu, após a normalização..........................................32
10
Índice de TabelasTabela 1. Tipos de funções kernel................................................................................19
Tabela 2. Parâmetros das funções kernel....................................................................33
Tabela 3. Resultados Furnas........................................................................................34
Tabela 4. Resultados Itaipu.........................................................................................35
Tabela 5. Resultados Jordão.......................................................................................35
Tabela 6. Resultados Salto Santiago...........................................................................36
Tabela 7. Resultados Sobradinho................................................................................36
Tabela 8a. Usina Furnas- Kernel Linear- 7 dias à frente................................................37
Tabela 8b.Usina Furnas- MLP- 7 dias à frente..............................................................37
Tabela 8c. Intervalos de Confiança- Usina Furnas- 7 dias à frente................................37
Tabela 9a. Usina Jordão- Kernel Linear – 7 dias à frente...............................................38
Tabela 9b.Usina Jordão- MLP – 7 dias à frente.............................................................39
Tabela 9c. Intervalos de Confiança -Usina Jordão- Kernel Linear – 7 dias à frente.......39
Tabela 10a.Usina Salto Santiago- Kernel Linear – 7 dias à frente.................................40
Tabela 10b.Usina Salto Santiago- MLP – 7 dias à frente...............................................40
Tabela 10c. Intervalos de Confiança -Salto Santiago– 7 dias à frente...........................40
Tabela 11a.Usina Itaipú- Kernel Linear – 7 dias à frente...............................................41
Tabela 11b.Usina Itaipú- MLP – 7 dias à frente.............................................................41
Tabela 11c. Intervalos de Confiança -Usina Itaipú- 7 dias à frente................................42
Tabela 12a.Usina Sobradinho- Kernel Linear – 7 dias à frente......................................42
Tabela 12b.Usina Sobradinho- MLP – 7 dias à frente....................................................43
Tabela 12c. Intervalos de Confiança -Usina Sobradinho- 7 dias à frente......................43
11
Tabela de Símbolos e SiglasANEEL- Agência Nacional de Energia Elétrica
CC – Coeficiente de Correlação
CSV - Comma-separated values
libSVM- Library for Support Vector Machine
MAE- Mean Absolute Error
MEP- Mean Error Percentual
MLP- Multi Layer Perceptron
ONS- Operador Nacional do Sistema Elétrico
PMO- Programação Mensal da Operação
RMSE – Root Mean Square Error
SIN- Sistema Interligado Nacional
SRM- Structural Risk Minimization
SVC - Classificação de Vetor de Suporte
SVM - Support Vector Machine
SVR- Support Vector Regression
TAE- Teoria do Aprendizado Estatístico
VC- Vapnik e Chervonenkis
WEKA- Waikato Environment for Knowledge Analysis
12
Capítulo 1 - Introdução
Capítulo 1Introdução
Segundo dados recentes da ANEEL (Agência Nacional de Energia Elétrica)
[2], 66.11% da energia elétrica do país é hidrelétrica, em relação à capacidade
instalada, com quase 82 GW, espalhadas em 950 usinas. Além disso, o Brasil, em
todo mundo, é o país com maior potencial hidrelétrico,com um total de 260 MW,
segundo o plano 2015 da Eletrobrás, do último inventário produzido no país em
1992.
De acordo com o plano Nacional de Energia 2030, o potencial a aproveitar é
cerca de 126 GW.
A capacidade do país em produzir este tipo de energia está relacionada
principalmente às condições naturais intrínsecas da sua bacia hidrográfica [7]: rios
torrenciais com uma grande abundância de água e perenes, variações fluviais
devidas principalmente às chuvas e relevo adequado, onde os rios escoam suas
águas sobre planaltos e depressões.
1.1 Formulação do problema
A responsabilidade da previsão das vazões naturais para os locais de
aproveitamento hidrelétrico que constituem o SIN (Sistema Interligado Nacional) é
da ONS (Operador Nacional do Sistema Elétrico).
Os processos e modelos utilizados para previsão variam de acordo com a
agregação temporal utilizada [19]: diária, semanal ou mensal. Atualmente, as
previsões de vazões diárias têm como objetivo apenas possibilitar o cálculo das
vazões naturais afluentes (vazões para aproveitamento hidrelétrico em determinado
ponto, essenciais na avaliação da energia disponível) médias da semana em curso.
Fernando José Barbosa de Brito Filho Página 1
Capítulo 1 - Introdução
São utilizadas as previsões diárias elaboradas a partir dos modelos vazão x vazão
e/ou chuva-vazão do ONS.
Especificamente o objetivo do trabalho é prever vazões médias diárias, utilizando
SVM (Support Vector Machine) [13], com o horizonte de 7 dias à frente, um dos
padrões de previsão utilizado pelo setor elétrico no PMO (Programação Mensal da
Operação), levando em consideração 14 valores passados.
1.2 MotivaçãoPara um planejamento consistente na geração de energia, almejando sempre
seu patamar máximo, é preciso saber antecipadamente os níveis dos reservatórios.
Com este objetivo o setor elétrico nacional é coordenado pelo ONS, que é
responsável pela operação coordenada de todas as usinas hidrelétricas que fazem
parte do sistema interligado nacional. Para que esta coordenação ótima seja
executada faz-se necessário que para cada mês seja realizada uma programação
chamada de PMO onde se define o que será gerado por cada usina. Uma das
entradas fundamentais para esta tomada de decisão são os valores semanais de
vazões afluentes a cada usina.
Desta forma, neste trabalho vamos avaliar o desempenho destas previsões
para cinco usinas: Furnas, Itaipú, Sobradinho, Salto Santiago e Jordão, por meio da
técnica de máquinas de vetores de suporte e comparar seus resultados com outros
modelos utilizados.
1.3 Estrutura da monografiaNo capítulo 2, é apresentada uma revisão bibliográfica que abrange os
principais conceitos matemáticos necessários para a compreensão deste trabalho.
No capítulo 3, é apresentada a ferramenta usada para a previsão.
No capítulo 4, são descritas as metodologias utilizadas durante o
desenvolvimento e os resultados da aplicação dos algoritmos de SVM.
Fernando José Barbosa de Brito Filho Página 2
Capítulo 1 - Introdução
O capítulo 5 contém as conclusões e as sugestões para trabalhos futuros.
Capítulo 2Revisão Bibliográfica
Neste capítulo são apresentados conceitos e definições matemáticas e
estatísticas necessárias à compreensão deste trabalho. Na seção 2.1, são
apresentadas a noção básica da SVM e suas aplicações. Na seção 2.2 são
apresentados os conceitos da Teoria do Aprendizado Estatísitico e seu
embasamento matemático.
2
2.1 Introdução à SVM
Quando lê-se o termo relacionado à Máquina de Vetor de Suporte (SVM), os
primeiros questionamentos a aparecerem são: é um dispositivo mecânico ou
orgânico que executa ou ajuda no desempenho das tarefas1? O que está sendo
suportado? Como vetores podem suportar algo?
SVM é um algoritmo de classificação que provê o estado da arte para um
amplo domínio de aplicações, como reconhecimento de escrita, reconhecimento de
objetos, identificação de fala, detecção de face, categorização de texto; previsão de
iterações proteínas-proteínas2 em biologia, na previsão de séries temporais
1 Definição de Máquina: http://pt.wikipedia.org/wiki/M%C3%A1quina
2 Support vector machine applications in computational biology- William Sta®ord Noble -Department of Genome Sciences -University of Washington
Fernando José Barbosa de Brito Filho Página 3
Capítulo 1 - Introdução
financeiras3; análise de crédito4; em química, no projeto de
medicamentos5.Problemas de generalização de modelos matemáticos, como
classificadores, são relevantes em um projeto. Primeiramente, todo modelo tem que
ser treinado, usando exemplos para o mesmo. Portanto, o número e a qualidade dos
exemplos está intrisicamente relacionada ao seu desempenho. Paralelamente, a
finalidade de um modelo é relacionar entradas às saídas, tendo como resposta
deduções ainda não informadas, como previsões ou classificações, sua habilidade
de generalização.
O impulso para proposição das SVM´s foi justamente esse panorama, em que
modelos matemáticos de aproximação universal, como as redes neurais artificiais
[10], não tem capacidade sistemática de generalização, o que pode levar a um
overfiting do modelo, em relação aos dados.
Os algoritmos de vetor de suporte foram desenvolvidos na Rússia na década
de 60 [Vapnik and Lerner, 1963, Vapnik and Chervonenkis, 1964], tendo uma
abordagem similar nos EUA [Mangasarian,1965,1968,1969]. É baseado na teoria do
aprendizado estatístico ou teoria VC [21], que vem sendo desenvolvida por Vapnik e
Chervonenkis ao longo das últimas décadas. Em suma, a teoria VC caracteriza
propriedades das máquinas de aprendizagem que lhes permitam generalizar bem os
dados não conhecidos.
Nas SVM´s há uma minimização do Risco Empírico, como nas Redes Neurais
Artificiais, e uma minimização dos erros sobre a base de dados, juntamente com a
minimização do Risco Estrutural. Foi apresentado que o princípio SRM (Structural
Risck Minimization) é superior ao ERM (Empirical Risk Minimization) Vapnik et al
3 TAY, Francis E. H. and Lijuan CAO, 2001. Application of support vector machines in financial time series forecasting, Omega: The International Journal of Management Science, Volume 29, Issue 4, August 2001, Pages 309-317.
4 MARTENS, David, et al., 2006. Comprehensible Credit Scoring Models using Rule Extraction from Support Vector Machines, European Journal of Operational Research, Accepted for publication.
5 Applications of Support Vector Machines in Chemistry- Ovidiu Ivanciuc- Sealy Center for Structural Biology,Department of Biochemistry and Molecular Biology, University of Texas Medical Branch, Galveston, Texas
Fernando José Barbosa de Brito Filho Página 4
Capítulo 1 - Introdução
(1997), por envolver a imposição de um limite superior para a possilidade de
classificações erradas, diminuindo ao máximo o erro de generalização.
Neste trabalho, o termo SVM irá se referir tanto a classificação quanto
aos métodos de regressão, e os termos de classificação de Vetor de
Suporte (SVC) e Support Vector Regression (SVR) serão utilizados para a
especificação.
2.2 Fundamentação Teórica
A partir das subseções abaixo serão desenvolvidos os principais conceitos
necessários ao suporte teórico desse trabalho.
2.2.1 Teoria do Aprendizado Estatístico
Também conhecida como Teoria VC (Vapnik-Chervonenkis), abrange quatro
partes importantes para sua implementção: a Teoria da Consistência dos Processos
de Aprendizagem [26], Teoria da Taxa de Convergência dos Processos de
Aprendizagem [26], Teoria da Minimização do Risco Estrutural [26], e Teoria da
Otimização [26], que são sintetizadas e introduzidas a seguir.
Tendo dados de treinamento {(x1, y1),...,(xn,yn)}, conforme a figura 1, ∈ Rn x
Y , assume-se inicialmente que eles são gerados de forma independente e
identicamente distribuído (i.i.d.), de acordo com a probabilidade P(x , y), que
descreve a relação entre seus dados x e rótulos y. Sendo f um modelo e F um
conjunto de todos os modelos que um algoritmo pode gerar. Este, durante o
processo de aprendizagem, utiliza um processo de treinamento T , composto de n
Fernando José Barbosa de Brito Filho Página 5
Capítulo 1 - Introdução
Figura 1. Esquema da geração de um classificador
pares (x i , y i), para gerar um modelo particular j ∈F.
O objetivo de um processo de aprendizagem é encontrar um modelo, por
exemplo, que separara os dados de treinamento “-” e “+” . Através de funções de
separação (limites de decisão) as classes são separadas.
2.2.2 Risco
O risco R(g), também denominado erro, foi definido por Vapnik (1995) como a
probabilidade de classificação incorreta, tendo como argumento uma função g(.). O
risco esperado mede então a capacidade de generalização de g, para os dados de
teste, segundo a Eq.1, sendo c (g(x ) , y ) uma função custo relacionada a previsão
g(x ) quando a saida desejada é y e P(x , y) uma medida de probabilidade:
Eq.1 R (g )=∫ c(g (x) , y)dP(x , y)
Exemplificando, uma função custo utilizada em problemas de classificação,
12|y−g ( x )|, retorna 0 caso a classificação seja correta e 1 caso contrário. Uma
função comumente utilizada em problemas de regressão é ( y−g (x)) ².
O função de risco empírico g, dada pela Eq. 2, retorna a taxa de erro médio
do treinamento em T , medindo seu desempenho.
Eq.2 Remp (g )= 1N ∑
i=1
N
c (f (x i ) , y i)
Fernando José Barbosa de Brito Filho Página 6
Capítulo 1 - Introdução
Em geral, a distribuição de probabilidade P(x i , y i) não é conhecida, não sendo
possível minimizar a Eq. 1. O que é conhecido são as informações dos dados de
treinamento, também amostrados de P(x i , y i) . Então recorre-se à minimização do
risco empírico (Eq.2) e espera-se que esse procedimento também diminua o erro
sobre os dados de teste. Com um conjunto grande de dados, fazendo-se n→∞ é
possível fazer o R(emp) convergir para o R(g), mas com conjuntos de dados pequenos
não é possível. Como os dados de treinamento têm densidade amostral fixa, pois
correspondem a uma amostra da população, a relação entre os funcionais R(g) e
Remp (g) será determinada pela função g.
Tendo um conjunto F, sempre é possível encontrar uma função f , com risco
empírico pequeno, pois a tarefa de calcular este risco reduz-se a um simples média,
por exemplo, o erro médio quadrático. A TAE (Teoria do Aprendizado Estatístico)
provê diversos limites no risco esperado de uma função f , pois os exemplos de
treinamento podem se tornar pouco informativos para a tarefa de aprendizado,
podendo ser empregados na escolha do melhor classificador.
2.2.3 Limites e minimização no Risco Estrutural
Um índice importante intrínseco a classes de funções é introduzido abaixo,
antes da continuação da subseção.
A dimensão VC (Vapnik–Chervonenkis) do conjunto de funções de
classificação F, é o número máximo de exemplos de treinamento que podem ser
aprendidos pela máquina sem erro, para todas as rotulações possíveis das funções
de classificação [10] .
Fernando José Barbosa de Brito Filho Página 7
Capítulo 1 - Introdução
No exemplo da Figura 2, considera-se uma função linear no R2 como modelo
de
classificação. A função deve separar os dados dos pontos positivos dos pontos
negativos. Existem conjuntos de 3 pontos que podem realmente ser quebrados
usando este modelo (quaisquer 3 pontos que não sejam colineares, na mesma linha,
podem ser quebrados). No entanto, nenhum conjunto de quatro pontos pode ser
quebrado. Assim, a dimensão VC do classificador específicado é de 3. De forma
geral, em R2, com n≥2, a dimensão VC é n + 1 (Vapnik, 1995).
É primordial restringir a classe de funções f , para que se tenha capacidade de
adequar a quantidade de dados de treinamento disponíveis. A Teoria VC fornece
limites sobre o erro de teste. A minimização desses limites, que dependem tanto do
Remp quanto da capacidade da classe função, a dimensão VC, definido este como h,
leva ao princípio da minimização do risco estrutural R( f ) Eq.3. Esse limite é
garantido com probabilidade 1−∅ , em que ∅ pertence ao limite [0,1].
Eq.3 R ( f )≤ Remp (f )=√ h (ln( 2nh )+1)−ln (∅4 )
n
O termo n representa a quantidade de exemplos no conjunto de treinamento T
. Do limitante 1−∅ , deduz-se que a minimização do risco esperado está
relacionado tanto ao risco empírico Remp , a razão da dimensão VC como do número
de exemplos de treinamento. Há um valor ótimo para h, pois o risco empírico é uma
função decrescente do mesmo. O bom desempenho do modelo está relacionado
então a um bom valor para h, sendo controlado muitas vezes pelos seus parâmetros
livres.
Fernando José Barbosa de Brito Filho Página 8
Figura 1.
Capítulo 1 - Introdução
Mesmo um risco empírico Remp pequeno, não significa um risco estrutural R(f )
pequeno. O risco é chamado “estrutural” porque o termo h referencia-se a classe de
funções F e o risco empírico Remp ao classificador particular f e para minimizar
ambas as parcelas divide-se inicialmente F em subconjuntos de funções com
dimensão VC crescente [14], chamados estruturas. Então minimiza-se o limite de
cada estrutura dessas. Pondo as estruturas em ordem crescente de h (Figura 3),
tendo um classificador particular f k, a medida que k cresce, a complexidade dos
classificadores aumentam e o risco empírico Remp diminui.
Na
prática, no princípio SRM (Structural Risk Minimization), surgem alguns problemas,
dificuldades em sua implementação. Calcular o h não é uma tarefa trivial, já que ele
pode ser infinito ou desconhecido, além disso poucas são as classes de funções
para as quais se sabe como efetuar esse cálculo. V
O conceito de margem [23] pode ser aplicado, ao risco estrutural R(f ), como
forma alternativa, em funções lineares do tipo f ( x )= (W .x )+b (Eq.4). A margem de
um exemplo será uma medida de confiança de previsão do classificador. É definida
como a distância mínima de uma amostra (Figura 4) à superfície de decisão V [17], e
pode ser medida pelo comprimento do peso vetor V na Eq. 4. Assumindo que as
amostras de treinamento são linearmente separáveis, redimensiona-se w e b, tal que
os pontos mais próximos do hiplerplano satisfaçam |(w .x i )+b|=1 (Eq.5).
Fernando José Barbosa de Brito Filho Página 9
Figura 3. Subconjuntos de F, com ordem
crescente deh
Capítulo 1 - Introdução
Aplicando-se dois exemplos do treinamento, de classes diferentes, a Eq. 5,
tem-se |(w .x1 )+b|=1 e |(w .x2 )+b|=−1 . Em seguida, a margem é dada pela
distância destes dois pontos, medida perpendicular ao hiperplano: W¿¿ (Eq.6).
2.3 Classificação com SVM´s
O problema de classificação pode ser restrito ao problema de duas classes,
sem perda de generalidade [9].
Uma SVC acha o melhor hiperplano de separação entre as duas classes de
amostras de treinamento, no espaço de características, com margem máxima [15] .
O objetivo é produzir um classificador que funcionar bem com exemplos não
conhecidos, ou seja, um classificador que generaliza bem.
Uma função do tipo linear (Eq.4), correspondente ao hiperplano, separa o
espaço de características. Denotando-se y i∈{+1,−1} como o valor numérico das
saídas, x i os vetores de entrada, i=1 ,…N , w o vetor de pesos e m a margem
Fernando José Barbosa de Brito Filho Página 10
Figura 4. Separação por hiperplanos de margem máxima
Capítulo 1 - Introdução
máxima, o problema de classificação é equivalente a achar o funcional f , que
satisfaça y i ( (w ,xi )+b )≥m que maximize m.
Em termos geométricos, achar o hiperplano que maximize a margem m
¿∨m∨¿
, sendo H (w ,b ) : (w ,x )+b=0, é satisfazer y i ¿ para todos os exemplos de treinamento,
onde ||m|| é a norma Euclidiana da distânica máxima. A margem geométrica (Figura 4) representa a distância mínima dos exemplos de treinamento para as duas
classes, separadas pelo hiperplano H . Assumindo m = 1, chamado hiperplano
canônico, o problema de classificação torna-se equivalente a forma
H (w ,b ) : (w ,x )+b=0, maximizando a margem total (Eq.6), ou 12(¿∨w∨¿2) e
satisfazendo y i ( (w ,xi )+b )≥1.
O problema relacionado acima é de otimização quadrática6 (adotando-se a
norma euclidiana), com restrições de desigualdade linear e abordagem algébrica, e
por padrão, a solução é uso do método dos multiplicadores de Lagrange [16]:
Eq.7 L=12¿W∨¿2−∑
i=1
N
∝i {[ (w .x i )+b ] y i−1}¿
onde ∝i (i = 1,..,N) são os multiplicadores de Lagrange. O lagrangeano [13] da Eq.7
tem que ser minimizado com respeito a w e b e maximizado com respeito a ∝i . O
problema de otimização dual é equivalente a maximizar:
Lmax=∑i∝i−
12∑i
∑jy i y j∝i∝ j(x i , x j)
tendo como restrições ∝i ≥0 e ∑i yi∝i=0 ;então a solução[13] produzida é:
6 An Iterative Approach to Quadratic Optimization -H. K. XU - JOURNAL OF OPTIMIZATION THEORY AND APPLICATIONS: Vol. 116, No. 3, pp. 659–678, March 2003
Fernando José Barbosa de Brito Filho Página 11
Capítulo 1 - Introdução
Eq.8 ∝=argmin [ 12∑i=1
N
∑j=1
N
∝i∝ j y i y j (x i x j )−∑i−1
N
∝i]
Considerando as restrições impostas a Eq.8, a solução resultante:
w=∑i=1
N
∝i x i y i e b=−12
((w . xr )+(w . x s))
Onde xr e xs são os vetores de suporte da classe dada.
As condições de Karush-Kuhn-Tucker [12], que são condições necessárias e
suficientes, estabelecem que as soluções ótimas ∝¿ ,w¿ eb¿ devem satisfazer a
seguinte igualdade:
Eq.9 ∝¿ [ y j ( (w ¿ . x j)+b¿ )−1 ]=0, para j = 1,2...N.
Com base na equação acima (Eq.9), observam-se que os pontos y i((w .x j )+b)
=1 devem ter necessarimente ∝ = 0. Só os pontos com margem 1 podem ter os
correspondentes ∝=0 , chamados vetores-suporte (SVs).
2.3.1 Margens flexíveis
Nas seções anteriores foram levados em consideração apenas problemas em
que as amostras de treinamento eram linearmente separáveis. Agora analisa-se o
caso em que os exemplos de treinamento são não linearmente separáveis, onde não
é possível construir um hiperplano de separação que classifique corretamente todos
os exemplos.
A abordagem ainda continua sendo um hiperplano para a classificação, no
espaço orginal das amostras de treinamento. O conceito de espaço de
características será incorporado nas seções posteriores.
Fernando José Barbosa de Brito Filho Página 12
Capítulo 1 - Introdução
A formulação da SVM nesta seção permite erros de classificação, como na
Figura 5, introduzindo-se variáveis de erro não negativa ξ ≥0 [6] e uma função de
penalidade (Eq.10):
Eq.10 [ y j¿((w¿ . x j)+b
¿)+ξ j−1] para j = 1,2...N,
onde w é o vetor de pesos em Rn, o escalar b é o bias, e o ε j é a variável não
negativa associada a cada vetor de treinamento x j. Se ξ j encontra-se no intervalo
[0,1] , então o exemplo x encontra-se no lado certo do hiperplano, portanto,
classificado corretamente. Então os pontos x j em que o ξ j é maior que 1, são pontos
classificados incorretamente.
Quando sabe-se a priori, ou existe a possibilidade do hiperplano não separar
adequadamente os dados de treinamento, é introduzido um parâmetro C , chamado
também de constante de regularização, além da variável ξ j , associado também ao
erro de classificação. A equação contém abaixo com os dois parâmetros:
Eq.11 Φ (w ,ξ )=12
¿w∨¿2+C∑i=1
N
ξ i ¿
Fernando José Barbosa de Brito Filho Página 13
Figura 5. Introdução das variáveis ξ
Capítulo 1 - Introdução
A Eq.11 também está sujeita as mesmas restrições da Eq.10. A constate C,
controla o peso do número de erros [1], que é limitado pelo somatório das variáveis
ξ i e pelo tamanho da margem, que é inversamente proporcional a norma w.
Para resolver o problema primal (Eq.11), utiliza-se também o método dos
multiplicadores de Lagrange [16] e suas restrições, tendo como resultado um
problema dual, onde não aparecem as variáveis ξ i:
Eq.12W (∝ )=∑i=1
N
∝i−12 ∑
i , j=1
N
∝i∝ j y i y j(x i . x j),
que, para que seja máxima, satisfaça ∑i=1
N
∝i y i=0 e 0≤∝i≤C.
De acordo com as condições Karush-Kuhn-Tucker, parecido com o caso dos
exemplos linearmente separáveis, os vetores-suporte (SVs) são apenas os pontos
em que y j ((w . x j )+b)=1 tem os correspondentes ∝=0.
Segundo [6], o procedimento sistemático de determinação de C não é claro.
Há momentos em que C pode ser diretamente relacionado com um parâmetro de
regularização [24], sendo mais aceitável que seu valor seja compatível com a
variação do ruído dos exemplos de treinamento [13].
2.4 Regressão com SVMs
Existem casos que não é possível utilizar as SVMs com separação linear ou
mesmo as com margens flexíveis, pois teriam resultados insatisfatórios na divisão
Fernando José Barbosa de Brito Filho Página 14
Capítulo 1 - Introdução
dos exemplos de treinamento, como por exemplo na Figura 6a, em que o emprego
de uma função circular seria mais apropriado ou na Figura 6b, em que uma função
linear, no espaço de características seria mais apropriada.
As SVRs tratam de problemas não lineares mapeando seu conjunto de
treinamento de seu espaço original, associoado às entradas, para um novo espaço
dimensional, mais complexo, denominado espaço de características [11], como na
Figura 7.
O mapeamento não linear funciona da seguinte forma [17]:
Definição:
Φ :RN❑→I
x→Φ( x)
Fernando José Barbosa de Brito Filho Página 15
Figura 7. Mudança do espaço original para o de características
Capítulo 1 - Introdução
Sendo x1,…, xn ∈ Rn são mapeados em um espaço de características
potencialmente muito maior de dimensões I. Para um determinado problema de
aprendizado, passou-se a considerar o mesmo algoritmo I em vez de Rn , ou seja,
trabalha-se com a amostra:
(Φ (x1 ) , y1 ) ,…,(ϕ (xn ) , yn )∈ I xY
Em I pode ser encontrado tanto dados mapeados de uma simples
classificação quanto de uma regressão. Implicitamente, tem a mesma função que
uma camada escondida de uma rede neural MLP (Multi Layer Perceptron) [10], uma
rede RBF (Radial Basic Funtion) ou algoritmos de boosting [8], onde os dados de
entrada são mapeados para alguma representação dada pela camada escondida.
A adversidade conhecida como dimensionalidade das estatísticas, diz
essencialmente que a dificuldade de um problema de estimação aumenta
drasticamente com a dimensão N do espaço. Em princípio, são necessários
exemplos de ordem exponencial para provar que o espaço é adequado. Esta
afirmação, bem conhecida, induz a algumas dúvidas, como se é uma boa idéia
usar um espaço dimensional maior dimensionado como recurso de aprendizagem.
Porém, a teoria de aprendizagem estatística nos afirma que o oposto
pode ser verdade: a aprendizagem em I pode ser mais simples usando-se uma
baixa complexidade, ou seja, classificadores lineares, por exemplo. Toda a
variabilidade e riqueza é introduzida então pelo mapeamento Φ.
Fernando José Barbosa de Brito Filho Página 16
Capítulo 1 - Introdução
Demonstrando os conceitos introduzidos, tomando os dados do exemplo da
Figura 6a e modificando seu espaço dimensional, de R2 para R3, tendo como
função de mapeamento (Eq.13):
Eq.13 Φ ( x )=( x , y )=x2+√2 x . y+ y2,
é possível encontrar um hiperplano no espaço tridimensional, Figura 6b, separando
os dados convenientemente (Eq.14):
Eq.14 f ( x )=w .Φ ( x )+b=w1x2+w2√2 x . y+w3 y2+b=0
No espaço em R3 , a função de separação é linear (Figura 6b), embora em R2 também poderia ser.
Após encontrar o hiperplano ótimo, com maior margem de separação, em Φ ,
utiliza-se a abordagem das SVMs com margens flexíveis, com as variáveis ξ, que
permite lidar melhor com dados ruidosos. Aplica-se Φ aos exemplos de problema de
otimização da Eq.12,com as mesmas restrições, conforme a Eq.15 abaixo:
Eq.15max (∝ )=∑i=1
N
∝i−12 ∑
i , j=1
N
∝i∝ j y i y j ¿,
A partir do problema Eq.15 produz-se a Eq.16:
Eq.16∝=argmin∝
¿¿,
Fernando José Barbosa de Brito Filho Página 17
Capítulo 1 - Introdução
onde ϕ (x¿¿ i , x j)¿ é uma função kernel, que representa o mapeamento não-linear
que leva ao espaço de características. Assim, é extraído o classificador que
implementa o hiperplano ótimo (Eq.17):
Eq.17 g ( x )=sgn ( f ( x ) )=sgn¿,
onde:
(w¿ . x)=∑i=1
N
∝i y iΦ (x¿¿ i , x¿)¿¿,
b¿=−12 ∑
SVs∝i
¿ y i[Φ (xr , x i )+Φ (xs , xi)]
2.5 Kernels
Tendo-se que:
Eq.18 K (x i , x j )=Φ(x i , x j),
define-se um kernel K como sendo uma função que recebe dois argumentos x i e x j
do espaço de entradas de dados e calcula o produto escalar desses argumentos no
espaço de características [10].
A construção do mapeamento Φ é implícita, pois se utiliza o Kernel sem
conhecê-la, tornando seu uso mais simplificado.
Fernando José Barbosa de Brito Filho Página 18
Capítulo 1 - Introdução
São utilizadas funções Kernel que seguem os princípios do Teorema de
Mercer [20], garantindo o cálculo do produto escalar na Eq.18. e a convexidade na
Eq.15. Na Tabela 1 encontram-se alguns tipos de funções kernel:
Tabela1. Tipos de funções kernel
Tipo de Kernel Função K (x i x j)
Polinomial ((x¿¿ i , x j)+1)p¿
RBF exp(−¿∨x i−x j∨¿
2σ22
)
Sigmoidal ta hn (β0 (x i . x j )+ β0)
Série de Fourier ∏k=1
n
K (xk , x ik)
Splines Lineares ∑i=1
N
∝i K (x , x i)
2.6 Variações do SV
Ainda existe uma grande variedade de algoritmos de Vetor de Suporte (SV),
que são adequados a configurações peculiares, tanto em SVC (classificação) quanto
em SVR (regressão). Há diferentes maneiras de medir a capacidade e as reduções
de programação linear, além de diferentes formas de controle de capacidade. São
mencionados alguns nas duas subseções seguintes.
2.6.1 ν - Support Vector Classification
Fernando José Barbosa de Brito Filho Página 19
Capítulo 1 - Introdução
O ν- Support Vector Classification [22] introduz um novo parâmetroν ϵ [0,1]. É
provado que ν é um limite superior em uma fração de erros de treinamento e um
limite inferior de uma fração de vetores de suporte [22].
O problema de otimização primal será descrita como:
min Fw ,b , ξ, ρ=12W T .W−νρ+1
l ∑i=1l
ξ i,
onde l é a quantidade de vetores-suporte, y i ϵ Rl , y i ϵ {−1,1 }, tendo como restrições:
y i (wT ϕ (xi )+b )≥ ρ−ξi ,
ξ i≥0 , i=1 ,…,l , ρ ≥0.
O problema dual é:
min F∝=12∝TQ∝ ,
tendo como restrições:
0≥∝i≤1l, l=1 ,…, l ,
eT∝i≥ν , yT∝=0
Onde Qij= y i y jϕ (x i x j). A função de decisão é dada como:
sgn(∑i=1
l
y i∝iϕ (x i x j )+b).
2.6.2 ∈- Support Vector Regression
Sendo os parâmetros C>0 e ∈>0 , a forma padrão da SVR é:
min Fw ,b , ξ , ξ¿=12wTw+C∑
i=1
l
ξ i+C∑i=1
l
ξ i¿,
tendo como restrições:
Fernando José Barbosa de Brito Filho Página 20
Capítulo 1 - Introdução
wT ϕ (xi )+b−z i≤∈+ξ i¿,
ξ i ξi¿≥0 , i=1 ,…,l .
O problema dual fica na forma:
min F∝ ,∝¿=12
(∝−∝¿)TQ (∝−∝¿)+∈∑i=1
l
(∝+∝¿ )+∑i=1
l
zi (∝−∝¿) ,
tendo as restrições:
eT (∝−∝¿)=0 ,
0≤∝i ,∝i¿≤C ,i=1 , .. ,l .
onde:
Qij=ϕ (x i , x j )=ϕ (xi )T ϕ (x j ) .
Capítulo 3
Fernando José Barbosa de Brito Filho Página 21
Capítulo 1 - Introdução
FerramentasNeste capítulo, é apresentado a principal característica da ferramenta
utilizada neste trabalho, para treinamento e previsão de vazões, o Weka. Na seção
3.1 é apresentado o processo de préprocessamento que ocorre na base de dados.
Na seção 3.2 são descritos as características pricipais da ferramenta. Na seção 3.3
são apresentadas as medidas de performance.
3
3.1 Preprocessamento As bases de dados utilizadas como entrada na SVM nesse trabalho são
obtidas a partir de modelos diários vazão x vazão e/ou chuva-vazão fornecidos pela
ONS, correspondendo as Usinas: Furnas, em Minas Gerais, Itaipu, localizada entre
o Brasil e o Paraguai, Sobradinho, na Bahia, Salto Santiago, no Paraná e do rio
Jordão. Os dados correspondem a séries temporais armazenadas em m3/s de
Janeiro/1931 à Dezembro/2007, e estão em formato CSV (Comma Separated
Value).
Antes de serem utilizados pela ferramenta de apoio, a base de dados deve
ser padronizada ou normalizada, com o objetivo de fazer com que os valores da
base tenham uma determinadana propriedade [25]. A regra de normalização
aplicada é mostrada a seguir:
B=( A−minValue(A)maxValue(A)−minValue (A ))∗(D−C )+C,
onde A é o valor a ser normalizado, D é o limite máximo estipulado entre todos os
valores, determinado como 0.85, C o valor mínimo estipulado dentre todos os
Fernando José Barbosa de Brito Filho Página 22
Capítulo 1 - Introdução
valores, determinado como 0,15, e minValue e maxvalue, o valor mínimo e máximo,
respectivamente e B o valor normalizado.
O passo seguinte ao procedimento de préprocessamento é transformar a
base de dados, composta por uma única coluna já normalizada, em várias colunas,
deslocando-as quantas vezes forem necessárias. Nesse trabalho, para prever 7 dias
à frente, é necessário ter conhecimento de até 14 dias anteriores. Então, desloca-se
a coluna 14 vezes à esquerda, representando os 14 dias anteriores e desloca-se a
coluna primordial também 6 vezes à frente, representando os 7 dias de previsão,
como na Figura 8.
Por fim, os exemplos foram separados em dois conjuntos (Figura 9):
treinamento, 75% da base (train) e teste 25% da base (test) .
Fernando José Barbosa de Brito Filho Página 23
Figura 8. Base de dados deslocada
Capítulo 1 - Introdução
3.2 Weka
O Weka é uma coleção de algoritmos de aprendizado de máquina para
tarefas de mineração de dados. Os algoritmos podem ser aplicados diretamente a
um conjunto de dados ou chamado a partir do seu próprio código
Java. Weka contém ferramentas para dados de préprocessamento,
classificação, regressão, clustering, regras de associação e visualização. É também
ideal para o desenvolvimento de novos sistemas de aprendizagem de máquina [27].
Até versões anteriores ao Weka 3.7.2, o pacote contendo a libSVM7 (Library
for Support Vector Machine) vêm associada a ferramenta. Essa biblioteca permite
que os usuários utilizem vários métodos de classificação e regressão, como: One-
Class SVM, Regression SMV e Nu-SVM apoiada na ferramenta LibSVM. Neste
trabalho foi utilizada a versão 3.7.5 do Weka, sendo a libSVM e o Multiplayer
Perceptron instalados utilizando o Package Manager da própria ferramenta.
7 http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Fernando José Barbosa de Brito Filho Página 24
Figura 9. Conjunto de treinamento e teste
Capítulo 1 - Introdução
Depois de selecionado o caminho onde o Weka foi instalado, o comando descrito na
Figura 10 é executado, aumentando a memória da MV (Machine Virtual), necessário
em razão do grande volume de dados e cálculos. O software é inicializado.
Após a opção Explorer ter sido selecionada, a base de treinamento desejada
é carregada (Open File) (Figura 12) e os atributos contínuos que não são utilizados
na produção do modelo de previsão são excluídos (Figura 11).
Atributos são ditos contínuos quando são números do tipo real, normalmente
representados por variáveis de tipo ponto-flutuante, como temperatura e altura [25].
Fernando José Barbosa de Brito Filho Página 25
Figura 10. Aumentando a memória virtual
Capítulo 1 - Introdução
Em contrapartida, atributos discretos são aqueles que possuem um conjunto
finito ou contavelmente infinitos [25].
Fernando José Barbosa de Brito Filho Página 26
Escolha variáveis dependentes e independentes
Capítulo 1 - Introdução
Os atributos escolhidos no passo anterior (Figura 11) são as variáveis
independentes, aquelas manipuladas pelo experimento, suas entradas, e as
variáveis dependentes, nas quais, com a manipulação das primeiras, são
Figura 13. Variável independente
observadas as mudanças, a que se quer prever, como na Figura 13, onde por
exemplo, variável independente é “1 dia à frente”.
A função LibSVM, na aba Classify, é selecionada. A partir daí, os parâmetros
para o treinamento do modelo são configurados (Figura 14), de acordo com o tipo
Fernando José Barbosa de Brito Filho Página 27
Figura 12. Escolha da base de treinamento
Capítulo 1 - Introdução
de SVM e função Kernel.
Após o modelo ter sido criado e treinado, chega-se o momento de validá-lo,
selecionando o grupo de teste pré-estabelecido (Figura 15) e em Class, seleciona-
se a variável alvo.
Fernando José Barbosa de Brito Filho Página 28
Figura14. Parâmetros de treinamento
Capítulo 1 - Introdução
Procedimento
semelhante ao anterior é utilizado para formação de um modelo de previsão com o
MLP, empregando a função Multilayer Perceptron da aba Classify e selecionando os
parâmetros adequados.
Na próxima seção serão abordados os coeficientes de erros utilizados como
referência na escolha do melhor modelo.
3.3 Medidas de performance
Uma das medidas de performace usadas pela biblioteca LibSVM [4] e
incorporadas pela ferramenta Weka, medindo a precisão em classificações é
mostrada abaixo:
Accuracy=¿dados previstos corretamente¿ totalde dadosde teste
∗100
Já no campo das regressões, a libSVM prove vários coeficientes de medidas,
como:
O RMSE ( Root Mean-Square Error) ou Raiz Quadrada Média do Erro, que
diz:
RMSE=√ 1l̂ ∑i=1n (f (x i )− yi),
onde n é a quantidade de vetores de treinamento, f (x i ) é o valor desejado e y i
é o valor encontrado.
Fernando José Barbosa de Brito Filho Página 29
Figura 15. Grupo de teste
Capítulo 1 - Introdução
Outro coeficiente utilizado na regressão é o r2 , chamado de coeficiente de
correlação quadrático ou coeficiente de determinação:
r2=¿¿ ,
que indica quanto da variância da variável resposta f (x i), é explicada pela variância
das variáveis explicativas y i, em outras palavras, um valor que mede o grau de
relacionamentos entre as duas variáveis. Seu valor está no intervalo [0,1]. Quanto
maior, mais explicativo é o modelo.
O Mean Absolute Error (MAE) ou Erro Absoluto Médio:
MAE=1n∑i=1
n
|f ( xi )− y i| ,
onde f (x i) é a previsão e y i é o valor.
E finalmente o teste t , onde primeiro é achado o R:
R=√( 1n+ 1m )( (m−1 )S1
2+(n−1)S22
n+m−2),
onde n e m são as quantidades de amostras das bases, S12 e S2
2 são os desvios-
padrão de cada amostra. Tendo o valor do R, calcula-se o intervalo mínimo e
máximo da confiança:
( ( X – Y )−bR ) , ( X – Y )+bR ¿¿ ,
onde X e Y são as médias das amostras eb é escolhido de acordo com grau de
liberdade, na tabela t de student. Em outras palavras, o teste t analisa pequenas
amostras, testa se a média entre dois grupos é significantemente diferente8. Usa o
intervalo de confiança, uma distribuição amostral de média X e desvio-padrão S. É
uma distribuição aproximadamente normal, em forma de sino, sendo de se esperar,
por exemplo, que 95% das medidas das amostras estejam no intervalo de confiança
mostrado na última fórmula acima, compreendido nestes limites.
8 http://www.slideshare.net/celiamdsales/teste-t-student
Fernando José Barbosa de Brito Filho Página 30
Capítulo
Capítulo 4ResultadosNeste capítulo é apresentado como os experimentos foram realizados na tarefa de
escolha da função kernel na previsão das vazões. Na seção 4.1 é descrita a
metodologia utilizada na tarefa de previsão, e na seção 4.2 são apresentados os
experimentos realizados e os resultados.
4
4.1 Metodologia
Este trabalho tem como objetivo apresentar um método de previsão de
vazões médias diárias tendo como entrada vazões de quatorze dias anteriores,
utilizando Máquina de Vetor de Suporte, com horizonte máximo de sete dias, para
efeito de avaliação de desempenho.
A estratégia é comparar os resultados obtidos, os valores de erro médio
absoluto para sete dias à frente, entre as várias funções kernel.
A primeira etapa do processo está relacionada ao preprocessamento das
bases de dados, onde houve um tratamento das séries. As bases foram separadas
em dois grupos, treinamento e teste, aplicando-se a regra de normalização descrita
na seção 3 e mostrada graficamente na Figura 16, antes da normalização, e depois,
na Figura 17. De acordo com a Figura 17, ainda existem problemas de outliers, que
são pontos da série situados significativamente fora da média, que são tratados pela
SVM.
Fernando José Barbosa de Brito Filho Página 31
Capítulo
28/jan/1931 3/fev/1943 9/fev/1955 15/fev/196721/fev/197927/fev/1991 5/mar/20030
5000
10000
15000
20000
25000
30000
35000
40000
45000
Series1
Figura 2.
Figura 3.
Figura 4.
Figura 5.
Figura 6.
Figura 7.
Figura 8.
Figura 9.
Figura 10.
Figura 11.
Figura 12.
Figura 13.
Figura 14.
Figura 15.
Figura 16. Série original da Usina Itaipu, sem normalização dos dados.
Fernando José Barbosa de Brito Filho Página 32
Capítulo
28/jan/1931 8/dez/1942 18/out/195428/ago/1966 8/jul/1978 18/mai/199028/mar/20020
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Series1
Figura 17. Série da Usina Itaipu, após a normalização.
A segunda etapa consiste em escolher uma função kernel apropriada, usando
a opção Epsílon- SVR, no Weka, para no espaço de características, separar os
vetores-suporte adequadamente. Um bom desempenho de uma SVR, em relação a
seu grau de generalização, depende de uma boa escolha dos parâmetros C, εou γ,
dependendo da função kernel, descritas na seção 2. O problema de seleção dos
parâmetros ótimos é bastante complexo pelo fato de que a complexidade do modelo
SVR depende de vários parâmetros simultaneamente.
Foram testados 4 tipos de funções kernel, as mais utilizadas, para previsão de
7 dias à frente, segundo a Tabela 2:
Tabela2. Parâmetros das funções kernels
Kernel Epsílon(ε) Custo(C) Gamma(γ) Coef0 Degree
Fernando José Barbosa de Brito Filho Página 33
Capítulo
Polinomia
l0,1 1 0 0 3
Linear 0,1 1 ---- ---- ----
RBF 0,1 1 0 ---- ----
Sigmoid ----- 1 0 0 ----
Esses valores são os defaults da ferramenta Weka. As células da Tabela 2 que foram preenchidas com linhas tracejadas, representam parâmetros que não
fazem parte da função determinada9. A partir dos resultados desses primeiros testes,
as funçãos que obtiverem, segundo as medidas R2 (CC ¿, MAE e RMSE (seção 3.3),
os melhores resultados, serão as escolhidas para a próxima etapa.
A terceira etapa consiste em comparar os resultados do modelo de previsão
ótimo criado a partir de um Multilayer Perceptron (MLP) com o melhor modelo
produzido pela SVM , agora levando-se em consideração o intervalo de confiança o
critério de escolha do melhor modelo de previsão. Em razão dos pesos primordiais
da MLP serem inicializados aleatoriamente, foi calculada uma média dos valores em
30 configurações de seeds distintas. Essa variação da semente (seed) dos números
aleatórios só foi realizada para a arquitetura de rede com menor MAE, dentre as 7
propostas de variação da quantidade de neurônios da camada escondida, na MLP,
descritas mais a frente.
4.2 Experimentos e Resultados
9 http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Fernando José Barbosa de Brito Filho Página 34
Capítulo
A ordem e os resultados dos experimentos que foram realizados, nesta etapa,
estão mostrados, respectivamente: Furnas (Tabela 3), Itaipu (Tabela 4), Jordão
(Tabela 5), Salto Santiago (Tabela 6) e Sobradinho (Tabela 7), tendo-se
inicialmente, 14 dias anteriores para a previsão de 7 dias à frente e levando-se em
consideração três medidas de erro: coeficiente correlação (CC), erro médio absoluto
(MAE), raiz do erro médio quadrático (RMSE), para esta etapa.
Tabela3. Resultados Furnas
Usina Furnas CC MAE RMSE
Linear 0,7834 0,068 0,0739
Polinomial0,6359
0,0692
0,076
RBF 0,7793 0,071 0,0759
Sigmoid0,7744
0,0707
0,0757
Seguindo o critério, a função kernel escolhida foi a linear, pois obteve os
melhores coeficientes de erro: CC , que quanto maior, melhor a correlação entre as
variáveis; MAE e RMSE, que quanto menores, menores são os erros relacionados.
Os melhores resultados na Tabela 3 e também nas posteriores, até a Tabela 7,
estão destacados em vermelho.
Tabela4. Resultados Usina Itaipu
Fernando José Barbosa de Brito Filho Página 35
Capítulo
Usina Itaipu CC MAE RMSE
Linear0,8553
0,045
20,0534
Polinomial0,7395
0,046
80,0603
RBF0,8441
0,048
50,0567
Sigmoid -
0,3875
0,221
20,0553
Tabela5. Resultados Jordão
Usina Furnas CC MAE RMSE
Linear 0,7834 0,068 0,0739
Polinomial0,4412
0,0771
0,0796
RBF0,5534
0,0838
0,0858
Sigmoid0,5518
0,0823
0,0844
Tabela6. Resultados Salto Santiago
Santo Santiago CC MAE RMSE
Fernando José Barbosa de Brito Filho Página 36
Capítulo
Linear 0,69640,0759
0,0714
Polinomial 0,5320,0685
0,0738
RBF 0,6828 0,076 0,0767
Sigmoid 0,67920,0759
0,0795
Tabela7. Resultados Usina Sobradinho
Usina
SobradinhoCC MAE RMSE
Linear 0,9473
0,0196 0,0257
Polinomial 0,7468
0,0683 0,075
RBF 0,9356
0,0378 0,0418
Sigmoid 0,9336
0,0342 0,0385
Nesta próxima etapa, os parâmetros do kernel linear são variados, para cada
série e para sete dias de previsão. C (Custo) e ε (Epíslon) variam segundo o
Fernando José Barbosa de Brito Filho Página 37
Capítulo
intervalo fechado I=[10−4 ,10]. Valores diferentes aos de I , sendo maiores ou
menores não provocam diferenças substanciais nos valores das medidas de erro. Os resultados das Tabelas 8 à Tabela 12 são os ótimos dentro do intervalo I :
Tabela8a. Usina Furnas- Kernel Linear- 7dias à frente
C=1
ε=10−3 CC MAE RMSE
0.7862 0.0203 0.0388
Tabela8b. Usina Furnas- MLP- 7 dias à frente
CC
Médio
MAE
MédioRMSE
Médio
0.819
40.02639 0.0416
Tabela8c. Intervalos de Confiança -Usina Furnas- 7 dias à frente
Fernando José Barbosa de Brito Filho Página 38
Métricas Intervalos de Confiança
CC -0.098138071 < (µ1 - µ2) < 0.111725168
MEP -6.831691474< (µ1 - µ2) <7.879433409
RMSE -0.038176244 < (µ1 - µ2) < 0.041111728
Capítulo
Na Tabela 8a, os parâmetros ótimos para a série temporal da Usina Furnas,
para os intervalos informados e 7 dias à frente são C= 1 e ε = 10−3, achados
experimentalmente. O intervalo de variação dos neurônios da camadas escondida
na MPL, para a geração do melhor modelo é Imlp= [0,6], também para 7 dias à
frente. Foi utilizada taxa de aprendizagem ∝=0,1 , 500 ciclos para o treinamento. Na Tabela 8b, são mostrados os melhores coeficientes atingidos nesse intervalo,
resultante de 1 neurônio na camada escondida. Valores acima de 6 neurônios na
camada escondida não revelaram resultados melhores, em todos os testes. Na
Tabela 8c, revela-se os intervalos de confiança para cada coeficiente de erro CC ,
MEP (Mean Erro Percentual) e RMSE, calculados a partir do teste t de Student,
entre os modelos produzidos pela MLP e SVM. Foi usado grau de liberdade 29, 95%
de confiança e coeficiente de confiança igual a 2.045, para este e todos os testes
seguintes. Segundo a tabela dos limites dos IC´s, existe a possibilidade dos modelos
produzidos pela MLP e SVM serem iguais, para todas as métricas, pois o intervalo
de confiança (µ1 - µ2) pode incluir também o valor zero.
Tabela9a. Jordão- Kernel Linear – 7 dias à frente
C=1
ε=10−3 CC MAE RMSE
0.5613 0.0115 0.0247
Fernando José Barbosa de Brito Filho Página 39
Capítulo
Tabela9b. Jordão- MLP- 7dias à frente
Tabela9c. Intervalos de Confiança- Jordão- 7 dias à frente
Na Tabela 9a, os parâmetros ótimos, para o rio Jordão, achados
experimentalmente são: ε=10−3 e C = 1. Na MLP, Tabela 9b, os resultados foram
obtidos com 3 neurônios na camada escondida. Em relação aos intervalos de
confiança (µ1 - µ2) , calculados a partir do teste t de Student , entre o modelo SVM e
Fernando José Barbosa de Brito Filho Página 40
CC
Médio
MAE
Médio
RMSE
Médio
0.59320.0139
70.0247
Métricas Limites de Confiança
CC -0.068329325 < (µ1 - µ2) < 0.093877712
MEP -2.254686396 < (µ1 - µ2) < 2.658557364
RMSE -0.021901154 < (µ1 - µ2) < 0.020417283
Capítulo
MLP, em todos existe a possilibildade do valor ser zero, para todas as 3 métricas
utilizadas (Tabela 9c).
Tabela10a. Salto Santiago- Kernel Linear – 7 dias à frente
C=10
ε=10−3 CC MAE RMSE
0.7094 0.0162 0.0332
Tabela10b. Salto Santiago – MLP- 7dias à frente
CC
Médio
MAE
Médio
RMSE
Médio
0.7292 0.0191 0.0340
Tabela10c. Intevalos de Confiança- Salto Santiago- 7 dias à frente
Fernando José Barbosa de Brito Filho Página 41
Métricas Limites de Confiança
CC -0.024461395 < (µ1 - µ2) < 0.017042041
MEP-3.319806506 < (µ1 - µ2) < 3.777871022
RMSE-0.013113283 < (µ1 - µ2) < 0.012377799
Capítulo
Na Tabela 10a, os respectivos resultados de Salto Santiago, os parâmetros
ótimos, achados experimentalmente são: ε=10−3 e C=10. Dois neurônios na camada
escondida, para os resultados da Tabela 10b. Em relação aos intervalos de
confiança, calculados a partir do teste t de Student, entre os modelos SVM e MLP,
em todos existe a possibilidade do valor ser zero, para todas as 3 métricas utilizadas
(Tabela 10c).
Tabela11a. Usina Itaipu- Kernel Linear – 7 dias à frente
C=10
ε=10−2 CC MAE RMSE
0.8606 0.0307 0.0459
Tabela11b. Usina Itaipu –MLP-7 dias à frente
CC
Médio
MAE
Médio
RMSE
Médio
0.9211 0.0342 0.0475
Fernando José Barbosa de Brito Filho Página 42
Capítulo
Tabela11c. Intervalos de Confiança - Usina Itaipu - 7 dias à frente
Na Tabela 11a, série temporal das vazões da Usina de Itaipu, os parâmetros
ótimos, achados experimentalmente são: ε=10−2 e C =10. Foram utilizados 5
neurônios na camada escondida da MLP (Tabela 11b). Segundo os intervalos de
confiança, calculados a partir do teste t de Student, entre os modelos SVM e MLP,
em todos existe a possibilidade do valor ser zero, para todas as 3 métricas utilizadas
(Tabela 11c).
Tabela12a. Usina Sobradinho- Kernel Linear – 7 dias à frente
C=10
ε=10−3
CC MAE RMSE
0.9619 0.0113 0.0201
Fernando José Barbosa de Brito Filho Página 43
Métricas Limites de Confiança
CC -0.008376409< (µ1 - µ2) < 0.014318345
MEP -2.629639724< (µ1 - µ2) < 2.93738166
RMSE -0.026690418< (µ1 - µ2) < 0.027000096
Capítulo
Tabela12b. Usina Sobradinho – MLP- 7 dias à frente
CC
Médio
MAE
Médio
RMSE
Médio
0.9608 0.0147 0.0216
Tabela12c. Intervalos de Confiança- Usina Sobradinho - 7 dias à frente
E finalmente, na Tabela 12a, os parâmetros ótimos para a série temporal da
Usina de Sobradinho, achados experimentalmente foram: ε=10−2 e C=10. Os
resultados da MLP (Tabela 12b) foram achados com dois neurônios na camada
escondida. Para (µ1 - µ2), que é o intervalo de confiança, para os três coeficientes:
Fernando José Barbosa de Brito Filho Página 44
Métricas Limites de Confiança
CC -0.008839521< (µ1 - µ2) < 0.006710489
MEP -3.61473984 < (µ1 - µ2) < 4.301191453
RMSE -0.026870194 < (µ1 - µ2) < 0.030063742
Capítulo
CC, MEP e RMSE, existe a possibilidade do valor ser zero, tornando os modelos
estatisticamente equivalentes.
Fernando José Barbosa de Brito Filho Página 45
Capítulo
Capítulo 5Conclusão
Neste trabalho de conclusão de curso, foi apresentado o problema de
previsão de vazões. Na tentativa de melhorar o desempenho em relação aos atuais
modelos utilizados, foi proposta uma metodologia com o uso de máquinas de vetor
de suporte para a previsão das vazões. Sendo assim, foi necessária para a
implantação da metodologia, a utilização de uma ferramenta que contivesse os
vários tipos de algoritmos de regressão de vetor-suporte (SVR) e uma ferramenta de
planilha eletrônica, para realizar o preprocessamento e testes estatísticos finais, das
várias bases de dados usadas.
Com os resultados alcançados foi possível comprovar que essa metodologia
pode ser empregada na previsão de vazões equivalentemente aos modelos de
previsão que utlizam MLP, para todas as cinco séries utilizadas, pois conforme o
teste t de Student, levando-se em consideração os limites de confiança, existe a
possibilidade do valor ser zero, tornando os dois modelos, SVM e MLP,
estatisticamente iguais, para cada uma das três métricas utilizadas.
Como trabalhos futuros, podem-se fazer comparações de desempenho da
SVM com outros tipos de modelos de previsão, não somente a MLP, testando-se
uma gama maior de funções kernel e intervalos de variação.
Bibliografia
Fernando José Barbosa de Brito Filho Página 46
Capítulo
[1]
Almeida, F. F. (2007). Support Vector Machine. Universidade Federal de
Campina Grande Centro de Ciências e Tecnologia .
[2] ANEEL. (2011). Acesso em 28 de Setembro de 2011, disponível em
Agência Nacional de Energia Elétrica: http://www.aneel.gov.br/
[3] Cabral, G. (2005). Ferramenta para auxílio na previsão de séries
temporais com intervalos de confiança usando Máquinas de Vetor de Suporte.
[4] Chang, C., & Lin, C. (2001). A Library for Support Vector Machines.
Taipei, Taiwan: National Taiwan University.
[5] Cherkassky, V., & Mulier, F. (1998). Learning from data: Concepts,
Theory and Methods. New York: Wiley.
[6] Cortes, C., & Vapnik, V. (1995). Support Vector networks. Machine
Learning , pp. 273-297.
[7] Eletronorte. (2011). Parte II - Fontes Renováveis. Energia Hidráulica .
[8] Freund, Y., & Schapire, R. E. (August de 1997). A decision-theoretic
generalization of on-line learning and an application to boosting. J. Comput.
Syst. Sci. , pp. vol. 55, no. 1,119–139.
[9] Gunn, S. R. (10 de Maio de 1998). Support Vector Machines
forClassification and Regression.
[10] HAYKIN, S. S. (1999). Redes Neurais, Principios e Pratica. Bookman.
[11] Hearst, M. A., Schölkopf, B., Dumais, S., Osuna, E., & Platt, J. (1998).
Trends and controversies- Support Vector Machine. IEEE Intelligent Systems ,
pp. 13(4):18–28.
[12] Kuhn, M. (Novembro de 2006). The Karush-Kuhn-Tucker Theorem.
CDSEM Uni Mannheim .
[13] Lima, C. A. (10 de Dezembro de 2004). Comitê de Máquinas: Uma
Abordagem Unificada Empregando Máquinas de Vetores-Suporte. pp. 111-
118.
Fernando José Barbosa de Brito Filho Página 47
Capítulo
[14] Lorena, A. C., & Carvalho, A. C. (2007). Uma Introdução às SVM´s.
[15] Mavroforakis, M. E. (Maio de 2006). A Geometric Approach to Support
Vector Machine(SVM) Classification. IEEE TRANSACTIONS ON NEURAL
NETWORKS , p. 672.
[16] Minoux, M. (1986 ). Mathematical programming: Theory and algorithms.
Chichester W. Sussex and New York: Wiley.
[17] Müller, K.-R., Mika, S., Rätsch, G., Tsuda, K., & Schölkopf, B. (Março
de 2001). An Introduction to Kernel- Based Learning. IEEE TRANSACTIONS
ON NEURAL NETWORKS , p. 183.
[18] Noble, W. S. (s.d.). Support vector machine applications in Biology.
University of Washington.
[19] ONS. (Outubro de 2011). Acesso em 28 de Setembro de 2011,
disponível em PROGRAMA MENSAL DA OPERAÇÃO (PMO) RELATÓRIO
MENSAL DE PREVISÃO DE VAZÕES E GERAÇÃO DE CENÁRIOS DE
AFLUÊNCIAS: http://www.ons.gov.br/
[20] Passerini, A. (2004). Kernel Methods, multiclass classification and
applications to computational molecular biology. Università Degli Studi di
Firenze.
[21] Scholkopf, A. J. (2003). A Tutorial on Support Vector Regression.
[22] Schölkopf, A. S., Williamson, R. C., & Bartlett, P. L. (2000). New
support vector algorithms. Neural Computation , pp. 2:1207-1245.
[23] Smola, A. J. (1999). Introduction to large margin classifiers. pp. 1–28.
[24] Smola, A., & Schölkopf, B. (1998). A Tutorial os support vector
regression. NeuroColt2 TR 1998-03 .
[25] Tan, P., Steinbach, M., & Kumar, V. (2009). Introdução ao Data Mining.
Rio de Janeiro: Ciência Moderna.
[26] Vapnik, V. N. (1998). Statistical Learnig Theory. Canadá.
Fernando José Barbosa de Brito Filho Página 48