Previsão de séries temporais multivariadas utilizando modelo híbrido interpretável com árvores de decisão fuzzy
Carregando...
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Walmir Matos Caminhas
Gustavo Pessin
Heloisa de Arruda Camargo
Gustavo Pessin
Heloisa de Arruda Camargo
Resumo
O presente trabalho tem como objetivo combinar a ideia dos sistemas fuzzy com os
algoritmos de árvore decisão já existentes a fim de conceber um método de previsão para
séries temporais multivariadas baseado num banco de regras. Dessa forma, obtém-se um
método que possui explicabilidade e interpretabilidade a partir dos parâmetros de entrada
do modelo, propriedade essa que é vantajosa comparado aos outros diversos métodos
que produzem expressões matemáticas ou algoritmos caixa preta (alta complexidade),
como é o caso das redes neurais. Para realizar tal projeto, utilizou-se a linguagem python,
além de bibliotecas e frameworks já concebidos nessa mesma linguagem, a fim de criar
funções que possam combinar árvores de decisão com atributos fuzzificados. Em adição,
para realizar tal projeto, utilizou-se de bibliotecas como a “scikit learn”, a qual possui
árvores de decisão já implementadas. Além disso, usou-se a biblioteca pyFTS a fim de
possibilitar a transformação das séries temporais numéricas (variável de saída) em séries
fuzzy, e da mesma forma transformar os atributos tanto numéricos quanto categóricos em
séries fuzzy. Ao realizar tal procedimento utilizou-se árvores de decisão de classificação
para gerar regras do tipo “se-então” com atributos fuzzy tanto em seu antecedente quanto
em seu consequente. Após o treinamento de uma árvore e a obtenção das regras ou o
grafo da própria árvore como base de conhecimento, usa-se funções de defuzificação a
fim de transformar as saídas fuzzy em saídas numéricas e então prever o próximo valor
da série. Ademais, os resultados desse método se apresentaram competitivos com outros
modelos de previsão de séries multivariadas, e apresenta flexibilidade para a aplicação em
variadas séries como as seguintes: consumo de energia elétrica, demanda do serviço de
metrô, contrato futuro do índice bovespa(B3), QoS (Qualidade de Serviço) e regime fluvial.
Em adição, foi possível verificar que a produção de regras como base de conhecimento
possibilitou explicação para os movimentos das séries bem como entender quais atributos
são determinantes aos movimentos de cada série, e como esses influenciam a série no tempo.
Por fim, vale destacar que o método proposto obteve bons resultados no que tange as
métricas de regressão utilizadas como MAE, RMSE, MAPE, SMAPE, entre outras. Com
isso, além da boa acurácia nas previsões, como o modelo é composto por regras é possível
gerar conhecimento e entender como os valores das séries são gerados no tempo.
Abstract
The present work aims to combine the idea of fuzzy systems with existing decision trees
algorithms in order to design a multivariate forecasting method based on a rule set. In this
way, a method which has explainability and interpretability based on the model’s input
parameters is obtained, a property that is advantageous when compared to other various
methods that provide mathematical expressions or black box algorithms (high complex
algorithms), such as the neural networks models. The project was conceived in python
language, and some other libraries and frameworks already designed in python, which
allowed the creation of functions that can combine decision trees with fuzzyfied attributes.
For instance, it was used the scikit-learn librarie, which has decision trees algorithms
already implemented and the pyFTS library, which enables the transformation of numerical
time series (output variable) into a fuzzy time series, and likewise transforms numerical
and categorical input attributes into fuzzy time series. When performing this procedure,
classification decision trees were used to generate “if-then” rules with fuzzy attributes both
in their antecedent and in their consequent. After training a tree and obtaining the rules
or graph from the tree itself as a knowledge base, defuzzification functions are used in
order to transform fuzzy values into numerical ones and then predict the next time series
value. In addition, the results of the method are competitive with other multivariate time
series forecasting models, and it presents the flexibility to be applied in several series such
as the following: electricity consumption, metro service demand, bovespa future contracts
(B3), QoS (Quality of Service) and river regime. In addition, it was possible to verify that
the production of rules as a knowledge base allowed an explanation for the movements of
the series, as well as understanding which attributes are determinant to the movements of
each series, and how these influence the series over time. Finally, it is worth noting that
the obtained method has good results when considering the regression metrics used as
MAE, RMSE, MAPE, SMAPE, among others. Beyond the good accuracy, as the model is
composed of rules, it is possible to generate knowledge and understand how the values of
the series are generated over time.
Assunto
Analise multivariada, Sistemas difusos
Palavras-chave
Séries temporais, Lógica fuzzy, Sistemas fuzzy, Séries temporais fuzzy, Árvores de decisão, Árvores de decisão fuzzy, Métricas de regressão
Citação
Departamento
Endereço externo
Avaliação
Revisão
Suplementado Por
Referenciado Por
Licença Creative Commons
Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto
