Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ CURSO DE GRADUAÇÃO EM ENGENHARIA DE SOFTWARE ISAC MOURA GOMES PREDIÇÃO DE VELOCIDADES UTILIZANDO DADOS DE SENSORES ATRAVÉS DE TÉCNICAS DE APRENDIZADO DE MÁQUINA QUIXADÁ 2020 ISAC MOURA GOMES PREDIÇÃO DE VELOCIDADES UTILIZANDO DADOS DE SENSORES ATRAVÉS DE TÉCNICAS DE APRENDIZADO DE MÁQUINA Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia de Software do Campus Quixadá da Universidade Federal do Ceará, como requisito parcial à obtenção do grau de bacharel em Engenharia de Software. Orientador: Prof. Dr. Regis Pires Maga- lhães QUIXADÁ 2020 Dados Internacionais de Catalogação na Publicação Universidade Federal do Ceará Biblioteca Universitária Gerada automaticamente pelo módulo Catalog, mediante os dados fornecidos pelo(a) autor(a) G614p Gomes, Isac Moura. Predição de velocidades utilizando dados de sensores através de técnicas de aprendizado de máquina / Isac Moura Gomes. – 2020. 46 f. : il. color. Trabalho de Conclusão de Curso (graduação) – Universidade Federal do Ceará, Campus de Quixadá, Curso de Engenharia de Software, Quixadá, 2020. Orientação: Prof. Dr. Regis Pires Magalhães. 1. Aprendizado do computador. 2. Previsão. 3. Velocidade. 4. Trânsito. I. Título. CDD 005.1 ISAC MOURA GOMES PREDIÇÃO DE VELOCIDADES UTILIZANDO DADOS DE SENSORES ATRAVÉS DE TÉCNICAS DE APRENDIZADO DE MÁQUINA Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia de Software do Campus Quixadá da Universidade Federal do Ceará, como requisito parcial à obtenção do grau de bacharel em Engenharia de Software. Aprovada em: / / . BANCA EXAMINADORA Prof. Dr. Regis Pires Magalhães (Orientador) Universidade Federal do Ceará (UFC) Profa. Ma. Lívia Almada Cruz Rafael Universidade Federal do Ceará (UFC) Prof. Me. Victor Aguiar Evangelista de Farias Universidade Federal do Ceará (UFC) Em memória de minha tia, Creuza Medeiros de Moura, e meu irmão, Marcos Anderson Medei- ros de Moura. Suas ausências são sentidas. AGRADECIMENTOS Agradeço primeiramente ao Prof. Dr. Regis Pires Magalhães por me orientar em meu Trabalho de Conclusão de Curso e por toda a paciência, compreensão e dicas. São ensinamentos que levarei por toda a minha trajetória. Espero algum dia me tornar 1% da pessoa e profissional que você é. Agradecimentos especiais à minha tia (in memoriam) Creuza Medeiros de Moura por todo o incentivo em persistir no meu sonho e por sempre ter se preocupado comigo. Aos meus tios Moura Neto, Fátima Medeiros de Moura, Ivonaldo Medeiros e Ivan Moura por todos os conselhos e incentivos durante a minha vida. Aos meus pais Francisco Sergio Gomes da Silva e Iva Medeiros de Moura por terem me ensinado conhecimentos da vida que hoje formam esta pessoa e por terem me ajudado durante toda a minha vida. Aos meus irmãos Ester Moura Gomes, Israel Moura Gomes, Rafael Moura Gomes e Gabriel Medeiros de Moura por todo o convívio durante anos e todo o suporte que me prestaram enquanto estive longe de casa pleiteando meu diploma. São pequenas ações que possuem um grande impacto, e sou muito grato. Agradeço aos meus amigos de Instituto Atlântico: Ana Thaysa, Alberto Monteiro, Nicolas Cidrão, Samuel Alves, Vitor Muniz, Thais Gouveia, Ivanda Gomes, Hareta Alves, Italo Fernandes, Felipe Pinto, Igor Farias, Paulo Marcelo e Rebecca Dantas. Meus agradecimentos por todo o apoio e incentivo durante esta trajetória e por todos os ensinamentos e bons momentos. Aos meus amigos do curso de Engenharia de Software da Universidade Federal do Ceará - Campus Quixadá: Isaac James Mangueira do Nascimento, Bruno de Carvalho Sobrinho, Débora Ruth, Jonas Deyvid, Siqueira Neto, Jorge Saba, Daniel Garcês, Francisco Rosembergson, Pedro Augusto, Matheus Rios, Clebson Dantas, Javel Queiroz, Igor Silva e Jonas Lopes. Agradeço também aos meus amigos de outros cursos: Pedro Igor, Lucas Silva, Ritiele Alves, Matheus Fernandes, Lucas Cruz, Kevin Coe Aos meus grandes amigos de apartamento 404: Crislanio Macedo e Rodrigo Adamski Parodes, que me acolheram em Fortaleza-CE. Ter convivido com vocês foi uma experiência de vida engrandecedora. À Profa. Dra. Ticiana Linhares Coelho da Silva pelo primeiro incentivo aos estudos na área de Inteligência Artificial. Agradeço a todos os professores por me proporcionar o conhecimento não apenas racional, mas a manifestação do caráter e afetividade da educação no processo de formação profissional, por tanto que se dedicaram a mim, não somente por terem me ensinado, mas por terem me feito aprender. Ao Doutorando em Engenharia Elétrica, Ednardo Moreira Rodrigues, e seu assistente, Alan Batista de Oliveira, aluno de graduação em Engenharia Elétrica, pela adequação do template utilizado neste trabalho para que o mesmo ficasse de acordo com as normas da biblioteca da Universidade Federal do Ceará (UFC). Por último mas não menos importante, meus agradecimentos a todas as iniciativas que promovem a ciência aberta e o livre acesso ao conhecimento. Em uma era de desinformação e negacionismo científico, cobrar caro pelo acesso à informação é um enorme retrocesso. Sem os recursos de ciência aberta este trabalho não estaria completo. “A História está repleta de pessoas que, como resultado do medo, ou por ignorância, ou por cobiça de poder, destruíram conhecimentos de imensurável valor que, em verdade, pertenciam a todos nós. Nós não devemos deixar isso acon- tecer de novo.” (Carl Sagan) RESUMO Um dos problemas crescentes em grandes centros urbanos se dá pela demora no deslocamento de um ponto a outro da cidade devido a engarrafamentos, horários de pico, obras em vias etc. No entanto, a alta disponibilidade atual de dados pode ajudar a criar soluções para este problema de mobilidade urbana. Por conta disso, este trabalho propõe e avalia abordagens de Aprendizado de Máquina com o objetivo de identificar a melhor técnica para predição de velocidades a partir de dados obtidos por uma rede de sensores espalhados pela cidade de Fortaleza (Brasil), no decorrer do ano de 2014. Para isso foram testadas diversas técnicas e algoritmos de Aprendizado de Máquina com o intuito de identificar o algoritmo e seus hiperparâmetros que melhor conseguem lidar com o problema proposto. Palavras-chave: Aprendizado do computador. Previsão. Velocidade. Trânsito. XGBoost. AutoML. ABSTRACT One of the growing problems in large urban centers is due to the delay in moving from one point to another in the city, due to traffic jams, peak hours, road works, etc. However, the current high availability of data can help to create solutions to this urban mobility problem. Because of this, this work proposes and evaluates Machine Learning approaches in order to identify the best technique for speed prediction from data obtained by a network of sensors spread over the city of Fortaleza (Brazil), during the year of 2014. For this purpose, several Machine Learning techniques and algorithms were tested, in order to identify the algorithm and its hyperparameters that best deal with the proposed problem. Keywords: Computer learning. Forecast. Velocity. Traffic. XGBoost. AutoML. LISTA DE FIGURAS Figura 1 – Hierarquia do Aprendizado de Máquina. . . . . . . . . . . . . . . . . . . . 21 Figura 2 – Pipeline de execução de experimentos em Aprendizado de Máquina . . . . 24 Figura 3 – Fluxo de execução utilizando AutoML . . . . . . . . . . . . . . . . . . . . 25 Figura 4 – Visão geral dos procedimentos metodológicos. . . . . . . . . . . . . . . . . 30 Figura 5 – Feature importance do melhor modelo de XGBoost. . . . . . . . . . . . . . 40 Figura 6 – Feature importance do melhor modelo de XGBoost para o dataset agregado de agosto e setembro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 LISTA DE TABELAS Tabela1 – Estatísticas dos dados do mês de Janeiro de 2014. . . . . . . . . . . . . . . 35 Tabela 2 – Comparação entre os meses de janeiro, agosto + setembro e outubro. . . . . 36 Tabela 3 – Hiperparâmetros escolhidos para Random Search. . . . . . . . . . . . . . . 38 Tabela 4 – Listagem dos melhores hiperparâmetros candidatos após o treinamento com Randomized Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Tabela 5 – Hiperparâmetros utilizados para modelos de XGBoost. . . . . . . . . . . . . 39 Tabela 6 – Resultados obtidos na execução dos treinos testes com o dataset de janeiro. 42 Tabela 7 – Resultados obtidos na execução dos testes para o dataset de outubro após treinamento com datasets de agosto e setembro. . . . . . . . . . . . . . . . 43 LISTA DE QUADROS Quadro 1 – Comparação entre os trabalhos relacionados e o proposto . . . . . . . . . . 29 Quadro 2 – Variação dos hiperparâmetros para o modelo líder de XGBoost gerado pelo AutoML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 LISTA DE ABREVIATURAS E SIGLAS IBGE Instituto Brasileiro de Geografia e Estatística ITS Intelligent Transportation System GPS Sistemas de Posicionamento Global GIS Sistemas de Informações Geográficas V2V Veículo-a-Veículo V2I Veículo-a-Infraestrutura AM Aprendizado de Máquina MLR Multivariable Linear Regression GBM Gradient Boosting Machine GBRT Gradient Boosted Regression Tree RMSE Root Mean Square Error SARIMA Seasonal Autoregressive Integrated Moving Average SVR Support Vector Regressors LSTM Long Short Term Memory AMC Autarquia Municipal de Trânsito e Cidadania DRF Distributed Random Forest GLM Generalized Linear Model XRT Extremely Randomized Trees CSV Comma-separated values RNA Rede Neural Artificial GPU Graphics Processing Unit SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . 19 2.1 Definição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.1 Regressão Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.2 Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.3 Gradient Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.3.1 XGBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.4 Random Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.5 AutoML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.1 Root Mean Square Error (RMSE) . . . . . . . . . . . . . . . . . . . . . . 24 2.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . 27 3.1 Short-term Traffic Flow Forecasting: An Experimental Comparison Of Time-series Analysis And Supervised Learning . . . . . . . . . . . . . . 27 3.2 Deep Learning: A Generic Approach For Extreme Condition Traffic Forecasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 Long Short-term Memory Neural Network For Traffic Speed Prediction Using Remote Microwave Sensor Data . . . . . . . . . . . . . . . . . . . 28 3.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1 Coleta dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 Escolha dos datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.3 Pré-processamento dos dados . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4 Engenharia de features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.5 Implementação dos modelos preditivos . . . . . . . . . . . . . . . . . . . 31 4.6 Treinamento dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.7 Avaliação dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.8 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5 EXPERIMENTOS E RESULTADOS . . . . . . . . . . . . . . . . . . . . 34 5.1 Coleta dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2 Escolha dos datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 Pré-processamento dos dados . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4 Engenharia de features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5 Implementação dos modelos preditivos . . . . . . . . . . . . . . . . . . . 37 5.6 Treinamento dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.7 Avaliação dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6 CONCLUSÕES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . 45 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 16 1 INTRODUÇÃO O crescimento das cidades, principalmente dos centros urbanos, alinhado ao grande número de automóveis que circulam diariamente de um ponto a outro destas cidades tornou a questão dos engarrafamentos uma problemática a ser discutida. Como pontuado por Ma et al. (2015b), o congestionamento do tráfego custa bilhões de dólares por ano devido à perda de tempo, combustível desperdiçado, poluição excessiva e redução de produtividade e, considerando que 80% da população brasileira vive em cidades, segundo dados de 2010 do Instituto Brasileiro de Geografia e Estatística (IBGE)1, o ritmo frequente de congestionamentos tende a aumentar. Sobre esta problemática algoritmos de predição de tráfego foram idealizados e cons- truídos com o objetivo de melhorar a mobilidade urbana e o modo como utilizamos os meios de transporte disponíveis para a realização do percurso desejado. Estas abordagens consideram diversas necessidades, tais como: previsões de fluxo de tráfego, velocidade, tempo de viagem e tamanho da fila; características que são necessárias para aplicativos específicos de gerenci- amento de transporte (SMITH et al., 2002). As estratégias de controle para engarrafamento frequentemente envolvem a tecnologia de previsão de tráfego de curto prazo para prever o congestionamento potencial de modo a induzir as pessoas a fazerem rotas de viagem apropriadas e aliviar congestionamentos de tráfego. Portanto, a previsão precisa de tráfego de curto prazo é vital para o controle de tráfego, tornando-se uma parte indispensável do Sistema Inteligente de Transporte2 (ZHAO et al., 2017). Recentemente, o rápido desenvolvimento e implantação de tecnologias em Sistemas Inteligentes de Transporte disponibilizou grandes quantidades de informações em tempo real e históricas de tráfego. O ITS coleta as informações de tráfego com base nos Sistemas de Posicionamento Global (GPS), Sistemas de Informações Geográficas (GIS), Veículo-a-Veículo (V2V) e Veículo-a-Infraestrutura (V2I) e pode dar suporte ao motorista fornecendo informação útil de predição de tráfego usando a informação combinada (PARK et al., 2011). No entanto, as técnicas e abordagens aplicadas com a análise dos dados dos ITS não levam em consideração a ocorrência de mudanças inesperadas no fluxo, como acidentes, bloqueio de uma rede viária, mudanças no tráfego, mudanças estruturais entre outras. Nos casos em que essas mudanças acontecem, os sistemas de gerenciamento de tráfego devem otimizar as estratégias de gerenciamento e consultoria (VLAHOGIANNI et al., 2014) 1 http://www.brasil.gov.br/governo/2010/12/ibge-pais-migrou-para-o-interior-e-urbanizacao-ja-atinge-80-da- populacao 2 Intelligent Transportation System (ITS) 17 Diante disto, em Magalhaes (2018) pensou-se em técnicas de análise de dados de sensores de trânsito da cidade de Fortaleza-CE com os dados coletadosdurante o ano de 2014, aplicando-se abordagens de Aprendizado de Máquina para a realização da predição de velocidades futuras em uma rede de sensores. No trabalho o autor propõe três abordagens para a resolução do problema: uma abordagem local em que cada sensor é tratado separadamente do restante da rede de sensores para treinar uma função preditiva específica, sendo necessário um modelo preditivo para cada sensor. Esta abordagem sofre do problema de cold start (falta de informação prévia sobre novos itens) e devido à dinamicidade dos sensores (adição e remoção dos mesmos), este tipo de abordagem dificilmente é aplicado neste tipo de problema. Outra abordagem é a abordagem global, que diferentemente do método local, considera toda a rede de sensores e um único modelo de predição é criado para atender a esta rede. Seu benefício se dá por conta das reduções em complexidade e custos. A última abordagem utilizada é a abordagem baseada em cluster, onde sensores são agrupados homogeneamente em clusters e um modelo é construído para cada cluster. Este método se assemelha em comportamento ao método local quando muitos clusters são utilizados e se assemelha ao método global quando poucos clusters são utilizados. Este trabalho está interessado na problemática de predição de velocidades em deter- minadas vias da cidade de Fortaleza utilizando dados de sensores instalados nas ruas da cidade, podendo ser útil para os usuários de meios de transporte que os utilizam para se locomover pela cidade. Deste modo, avalia-se a solução proposta em Magalhaes (2018), aplicando-se outros algoritmos de Aprendizado de Máquina e incluindo arquiteturas e técnicas de Aprendizado de Máquina Automatizado, visando alcançar melhores resultados de predição para as abordagens escolhidas na análise dos dados dos sensores. Para a realização deste projeto analisamos aproximadamente 1,3 bilhões de registros do dataset original de sensores de tráfego de Fortaleza e selecionamos uma parte deste dados (aproximadamente 5,6 milhões de registros) para o treinamento e avaliação de modelos preditivos. Os registros foram coletados de 302 sensores de tráfego diferentes espalhados pela cidade. Com estes dados serão construídos modelos a fim de treinar com os dados e realizar as devidas predições. Ao final os resultados dos modelos serão analisados, comparando-os entre si para visualizar os modelos e seus hiperparâmetros que obtiveram melhores desempenhos. Com isto, as contribuições deste trabalho são: – Construir um modelo de aprendizado de máquina para a predição de velocidades médias 18 em vias. Deste modo avalia-se a implementação de um modelo global para a malha de sensores. – Implementar modelos de predição utilizando a técnica de AutoML visando obter melhores resultados de predição para as velocidades futuras. O restante deste trabalho está estruturado da seguinte forma: no Capítulo 2 a funda- mentação teórica para este trabalho é abordada, no Capítulo 3 realiza-se uma explanação dos trabalhos relacionados a este trabalho que tratam sobre o assunto de predição de tráfego, no Capítulo 4 explicita-se os procedimentos metodológicos utilizados neste trabalho, no Capítulo 5 os resultados obtidos a partir dos experimentos realizados são apresentados, e no Capítulo 6 são apresentadas as conclusões apoiadas no desenvolvimento deste trabalho assim como uma recapitulação sintetizada dos resultados obtidos e sugestões de trabalhos futuros a partir deste trabalho. 19 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo serão introduzidos os conceitos, notações e definições importantes presentes neste trabalho. Além disso, serão abordadas as métricas utilizadas para a avaliação do desempenho do modelo proposto. 2.1 Definição do problema O problema abordado neste trabalho trata da questão de predição de velocidades médias de vias da cidade de Fortaleza que são monitoradas por sensores. Estes sensores capturam a velocidade em km/h com a qual um veículo passou por uma determinada rua em um determinado instante de tempo. Deste modo, neste trabalho aborda-se grandes redes de sensores de tráfego e estamos interessados em analisar técnicas de previsão de velocidade que consigam predizer corretamente a velocidade média em uma via. Para tais problemas sugerimos a implementação de um modelo preditivo global para um horizonte de predições de 6 horas. Esta abordagem é treinada considerando os dados de todos os sensores, recebendo como entrada informações de velocidades (limite de velocidade, velocidades mínima e máxima, número de registros, número de ruas, médias e desvios padrões dos slots de 5, 30 minutos e 1 e 2 semanas no futuro), dia da semana, se é um dia útil ou não, e ao final gerando um único modelo preditivo para toda a rede de sensores capaz de predizer a velocidade média em um horizonte de predição de 6 horas no futuro. Este trabalho é útil para serviços de planejamento de rotas, frotas de veículos para entrega etc. 2.2 Aprendizado de Máquina Aprendizado de Máquina (AM) é uma área de Inteligência Artificial cujo objetivo é o desenvolvimento de técnicas computacionais sobre o aprendizado bem como a construção de sistemas capazes de adquirir conhecimento de forma automática (MONARD; BARANAUSKAS, 2003). A área de Aprendizado de Máquina estuda métodos computacionais para adquirir novos conhecimentos, novas habilidades e novos meios de organizar o conhecimento já existente (MITCHELL et al., 1990). Os modelos de Aprendizado de Máquina podem ser classificados em várias aborda- gens. Há, por exemplo, o aprendizado por hábito, por instrução, por dedução, por analogia e por indução; e dentre estes o aprendizado indutivo é um dos mais úteis por permitir a obtenção 20 de novos conhecimentos a partir de exemplos, ou casos, particulares previamente observados (BATISTA et al., 2003). Quanto ao aprendizado indutivo, existem dois tipos principais: – Aprendizado Supervisionado: forma de aprendizado onde é fornecido ao algoritmo de aprendizado um conjunto de exemplos de treinamento para os quais o rótulo da classe associada é conhecido (MONARD; BARANAUSKAS, 2003). Quanto a este tipo de aprendizado, há dois tipos principais de problemas: – Classificação: este tipo de problema tem como objetivo a construção de um classi- ficador que possa determinar corretamente a classe de novos exemplos ainda não rotulados para rótulos de classe discretos (MONARD; BARANAUSKAS, 2003). – Regressão: este tipo de problema tem como objetivo determinar valores quantitativos, tratando-se de valores contínuos (FRIEDMAN et al., 2001). – Aprendizado Não Supervisionado: forma de aprendizado que nos permite abordar pro- blemas com pouca ou nenhuma ideia dos resultados esperados. Desta forma o algoritmo deve ser capaz de agrupar os dados de forma que os dados mais semelhantes fiquem mais próximos através de clusters. Diante dos conceitos apresentados, o presente trabalho se enquadra nos problemas de regressão com a tratativa de prever a velocidade média de uma via para dado sensor para um horizonte de predições de 6 horas. A Figura 1 demonstra as técnicas a serem utilizadas neste trabalho destacadas. Para este trabalho destaca-se as utilizações dos algoritmos de Regressão Linear e XGBoost, além do uso da técnica de AutoML. 2.2.1 Regressão Linear Regressão linear é uma abordagem tradicional e bastante empregada em problemas de séries históricas. O objetivo da regressão linear simples (uni-variada) é modelar a relação entre uma única feature (variável explicativa x) e uma resposta contínua com valor (variável de destino y) (RASCHKA, 2015). Para este trabalho utiliza-se Multivariable Linear Regression (MLR)1(FREEDMAN, 2009), dado que o dataset utilizado neste trabalho é composto por 25 features e 1 rótulo para a predição de velocidades e não apenas 1 feature como no caso da regressão linear uni-variada. A 1 Regressão Linear Multivariável 21 Figura 1 – Hierarquia do Aprendizado de Máquina. Fonte: Adaptadode Monard e Baranauskas (2003). Equação 2.1 demonstra uma regressão linear múltipla: Y =W0 +W1X1 + ...+WmXm (2.1) onde Y é o label, W0 é o interceptador, Xi e Wi correspondem à i-ésima variável e seu coeficiente, respectivamente. 2.2.2 Random Forest Random Forest (BREIMAN, 2001) é um algoritmo de aprendizado de máquina da família de métodos ensemble, sendo utilizado para tarefas de classificação e regressão. Métodos ensemble são caracterizados por combinarem diferentes modelos para produzirem um melhor resultado, assim o resultado final é composto pelo resultado do conjunto de modelos intermediários. Este método de combinação de modelos para obtenção de melhores resultados é denominado de bagging. Deste modo, em Random Forests são combinadas várias Árvores de Decisão —algoritmo em que pontos de decisão são construídos, com cada decisão levando a um caminho diferente de um determinado fluxo —obtidas a partir de amostras do dataset e realizadas predições utilizando a média dos valores obtidos (no caso de uma regressão) ou utilizando o valor que mais aparece (em caso de classificação). 22 2.2.3 Gradient Boosting Gradient Boosting Machine (GBM) ou Gradient Boosted Regression Tree (GBRT) (FRIEDMAN, 2001; FRIEDMAN, 2002) é uma técnica de aprendizado de máquina bastante popular para a criação de modelos para problemas de classificação e de regressão, incluída no grupo denominado de métodos ensemble. O método de aprendizado do gradient boosting é dado por um ajuste consecutivo a novos modelos com o objetivo de fornecer uma estimativa mais precisa do label. A ideia principal por trás desse algoritmo é construir os novos aprendizes básicos para serem correlacionados ao máximo com o gradiente negativo da função de perda associado a todo o conjunto (NATEKIN; KNOLL, 2013). Neste trabalho utilizamos o framework de gradient boosting chamado Extreme Gradient Boosting (XGBooost). 2.2.3.1 XGBoost O Extreme Gradient Boosting (XGBooost) é uma implementação eficiente e esca- lonável do framework de gradient boosting (CHEN et al., 2015; CHEN; GUESTRIN, 2016). O XGBoost pode ser utilizado para problemas de regressão e classificação e é bastante flexível por conta do grande número de hiperparâmetros aperfeiçoáveis que possui, proporcionando um ajuste mais adequado ao problema que se quer tratar. Suas diferenças para as demais soluções, apontadas em Chen et al. (2015), são: 1. Velocidade: o XGBoost suporta paralelismo em sistemas operacionais Windows e Linux, sendo geralmente 10 vezes mais rápido do que GBM. 2. Tipo de entrada: o XGBoost provê suporte a uma gama de tipos de dados de entrada: – Matrizes densas. – Matrizes esparsas. – Arquivos de dados locais. – DMatrix: uma estrutura de dados interna utilizada pelo XGBoost, otimizada para eficiência de memória e velocidade de treinamento. 3. Esparsidade: o XGBoost provê suporte a entradas esparsas para o reforço de árvore e reforço linear e é otimizado para entrada esparsa. 4. Personalização: o XGBoost suporta funções de objetivo e avaliação personaliza- 23 das. 5. Desempenho: o XGBoost tem melhor desempenho em vários conjuntos de dados diferentes. Por conta destas diferenças o XGBoost é um algoritmo candidato a obter bons resultados com o problema proposta otimizando o tempo para treinamento utilizado. 2.2.4 Random Search A técnica de Random Search2 é uma abordagem de otimização de hiperparâmetros capaz de selecionar combinações aleatórias para treinar o modelo e pontuar dado um conjunto de valores de hiperparâmetros. Em Bergstra e Bengio (2012) o método de random search é definido, tendo este método todas as vantagens práticas das soluções alternativas (simplicidade conceitual, facilidade de implementação, paralelismo trivial) e troca uma pequena redução na eficiência em espaços de baixa dimensão por uma grande melhoria na eficiência em espaços de busca em alta dimensão. O número de iterações da pesquisa aleatória é definido pelo usuário, assim como a grade de parâmetros, modelo a ser testado com a pesquisa e dados de treino e testes. 2.2.5 AutoML Projetar e ajustar sistemas de Aprendizado de Máquina é uma tarefa que consome muito tempo e trabalho e exige um amplo conhecimento. O campo do Aprendizado de Máquina Automatizado (ou AutoML) está focado em automatizar essa tarefa (GIJSBERS et al., 2019). O AutoML tem como objetivo reduzir a demanda por cientistas de dados, permitindo que os especialistas do domínio criem aplicativos de Aprendizado de Máquina automaticamente sem amplo conhecimento de estatística e Aprendizado de Máquina (ZÖLLER; HUBER, 2019). Deste modo, as tarefas de seleção de algoritmos, geração de features, ajuste de hiperparâmetros, treinamento e avaliação de modelos de Aprendizado de Máquina são automatizadas. Esta automatização de tarefas anteriormente repetitivas providenciada pela ferramenta permite uma concentração maior em outras atividades como o pré-processamento de dados, engenharia de features e a implantação do modelo. Há uma variedade de ferramentas disponíveis para Aprendizado de Máquina Automatizado, e dentre as ferramentas citadas em Gijsbers et al. (2019) há o H2O AutoML, tecnologia utilizada neste trabalho. 2 Pesquisa Aleatória 24 O fluxo de trabalho com AutoML inclui treinamento automático e ajuste dos modelos dentro de um limite de tempo especificado. Deste modo, as ações manuais necessárias são as de apontar para seu conjunto de dados, identificar a coluna de resposta (label) e, opcionalmente, determinar um limite de tempo ou número total de modelos treinados. A Figura 2 exemplifica um pipeline geral de execução de experimentos com Aprendizado de Máquina, constituindo a limpeza dos dados, o processo de engenharia de features e a modelagem. Estes passos são melhores descritos no Capítulo 4. Enquanto isso a Figura 3 demonstra o fluxo de execução utilizando AutoML, com os passos de pré-processamento dos dados e engenharia de features sendo realizados fora do escopo do AutoML e os passos de seleção de modelos, treinamento, otimização de hiperparâmetros, avaliação de desempenho dos modelos construídos, listagem dos modelos e armazenamento dos mesmos fazendo parte do escopo do AutoML. Figura 2 – Pipeline de execução de experimentos em Aprendizado de Máquina Fonte: Adaptado de Zöller e Huber (2019) 2.3 Métricas de avaliação Nesta seção serão apresentadas as métricas utilizadas para avaliar o desempenho do modelo a ser construído dada a problemática trabalhada. Estas métricas servirão como base comparativa de desempenho entre os modelos escolhidos. 2.3.1 Root Mean Square Error (RMSE) A Root Mean Square Error (RMSE)3 é uma métrica frequentemente utilizada para a diferença entre os valores preditos por um modelo e seus valores reais observados. Esta métrica retorna a raiz da média das diferenças entre os valores preditos e valores reais ao quadrado e tem como benefício a penalização dos erros quando estes forem em valores que se distanciam muito da média. 3 Raiz do Erro Quadrático Médio 25 Figura 3 – Fluxo de execução utilizando AutoML Fonte: Próprio autor. A Equação 2.2 demonstra a fórmula utilizada para realizar o cálculo da RMSE: RMSE = √ 1 N N ∑ i=1 (yi − ŷi)2 (2.2) Onde ŷi trata-se do valor predito pelo modelo para o i-ésimo instante de tempo enquanto yi trata-se do valor real e N do número de observações. Nesta métrica quanto menor o seu valor de erro melhor a performance do modelo. 26 2.4 Conclusão Neste capítulo foram apresentados os conceitos principais requeridos para o entendi- mento deste trabalho. Diante disto, no próximo capítulo são apresentados trabalhos relacionados a este e que utilizam de conceitos discutidos neste capítulo. 27 3 TRABALHOS RELACIONADOS Foram identificados estudos prévios a este trabalho que o auxiliam no seu desenvol- vimento e análise das similaridades e diferenças em relação ao trabalho proposto. Estes estudos são apresentados neste capítulo, assim como suas principais contribuições,relações e diferenças com o presente trabalho. 3.1 Short-term Traffic Flow Forecasting: An Experimental Comparison Of Time-series Analysis And Supervised Learning Em Lippi et al. (2013) foi realizada uma comparação das análises de séries temporais e aprendizagem supervisionada utilizadas na problemática de previsão de fluxo de tráfego de curto prazo. Os autores realizaram uma revisão das abordagens mais comuns na literatura para este tipo de problema e ao final propuseram dois novos modelos para a abordagem Seasonal Autoregressive Integrated Moving Average (SARIMA), os Support Vector Regressors (SVR) empregando um kernel sazonal para medir a similaridade entre exemplos de séries temporais. No trabalho, empregando as abordagens lineares construídas, os autores concluíram que a sazonalidade é a feature chave para o alcance de uma grande acurácia. 3.2 Deep Learning: A Generic Approach For Extreme Condition Traffic Forecasting Em Yu et al. (2017) os autores propõem uma abordagem utilizando Deep Learning1 para o problema de predição de tráfego. Os autores constroem uma rede neural baseada na arquitetura de Long Short Term Memory (LSTM) para predizer o tráfego nos horários de pico. Os autores também construíram uma arquitetura melhorada para a predição de acidentes utilizando um modelo de Mixture Deep LSTM, modelando de maneira conjunta o tráfego normal e os padrões de acidentes. Os modelos conseguiram um desempenho significativo em comparação com outras arquiteturas. 1 Aprendizado Profundo 28 3.3 Long Short-term Memory Neural Network For Traffic Speed Prediction Using Re- mote Microwave Sensor Data Em Ma et al. (2015a) os autores propõem em sua obra uma arquitetura de LSTM visando capturar a dinamicidade do tráfego da cidade de Beijing, na China. Para a resolução do problema de predição de velocidades os autores implementam uma arquitetura de Memória de Longo Prazo, que é capaz de lidar com séries temporais de maneira efetiva. Ao final do trabalho os autores concluem que esta abordagem conseguiu superar as outras abordagens propostas na literatura para a resolução da mesma problemática, sendo uma solução viável de acordo com as métricas estabelecidas. 3.4 Conclusão Neste capítulo foram apresentados os trabalhos de Lippi et al. (2013), Yu et al. (2017) e Ma et al. (2015a). O Quadro 1 resume as semelhanças e diferenças observadas nos trabalhos citados nesta seção com o trabalho atual. Os trabalhos de Lippi et al. (2013), Yu et al. (2017) e Ma et al. (2015a) trabalham com o domínio de predição de velocidades para instantes de tempo no futuro, assim como o trabalho proposto. Dos trabalhos apresentados, apenas a obra de Lippi et al. (2013) trabalha com uma abordagem diferente de Aprendizado Profundo, apresentando um modelo linear (SARIMA) para a predição das velocidades futuras com dados de sensores da Califórnia. Das features mais relevantes nos trabalhos citados destacam-se as referentes ao domínio temporal e volume. 29 Quadro 1 – Comparação entre os trabalhos relacionados e o proposto Lippi et al. (2013) Yu et al. (2017) Ma et al. (2015a) Trabalho Pro- posto Domínio do Pro- blema Predição de fluxo de tráfego 15 mi- nutos no futuro dado um instante de tempo Predição das veloci- dades de tráfego em horários de pico e após acidentes Predição de velo- cidade de viagens 2 minutos no fu- turo baseando-se no fluxo do mesmo pe- ríodo no dia ante- rior Predição de veloci- dades de tráfego em 6 horas no futuro para sensores dinâ- micos Solução Proposta Dois novos mode- los para a aborda- gem SARIMA LSTM e Mixture Deep LSTM Uma abordagem utilizando LSTM Abordagens utili- zando Aprendizado de Máquina e AutoML Tipo de Modelo. Linear Não-linear Não-linear Não-linear Dataset. Dados de sensores e detectores ao redor da Califórnia de Ja- neiro a Setembro de 2009 Dados da rede rodo- viária do condado de Los Angeles Dados de sensores remotos da cidade de Beijing, coleta- dos durante todo o mês de Junho de 2013 Dados de sensores da cidade de Forta- leza, coletados de Janeiro a Dezembro de 2014 Features Mais Utili- zadas. Sazonalidade Velocidade, ins- tante de tempo e dia da semana Volume, ocupação e velocidade Features mais im- portantes estão as- sociadas a informa- ções de velocidade média Fonte: Elaborado pelo autor. 30 4 METODOLOGIA Neste capítulo são apresentados os passos necessários para a elaboração deste traba- lho. A seguir, na Figura 4, é mostrada uma visão geral da metodologia adotada nesta obra. Figura 4 – Visão geral dos procedimentos metodológicos. Fonte: Próprio autor. 4.1 Coleta dos dados A coleta de dados trata-se de um processo que visa reunir os dados para uso secun- dário. Neste primeiro procedimento são coletados os dados necessários para treinar e testar o modelo preditivo a ser construído. Diante disto, é realizada a coleta dos datasets disponibilizados em Magalhaes (2018)1. O dataset original foi disponibilizado pela Autarquia Municipal de Trânsito e Cidadania (AMC), órgão responsável pela supervisão e controle da rede rodoviária da cidade de Fortaleza, Brasil, contendo registros efetuados durante o ano de 2014. O objetivo desta etapa está em fornecer o material para que se possa mapear e processar os dados com o intuito de realizar inferências a partir das coletas realizadas. 4.2 Escolha dos datasets Com os conjuntos de dados coletados faz-se necessário analisar e escolher datasets de meses com vasto número de registros, de modo que os modelos tenham insumos suficientes para realizar corretamente suas predições. Deste modo, analisa-se o total de registros de cada amostra coletada, sendo escolhidas as amostras do dataset com vasto número de observações com o intuito de serem utilizadas para os processos de treino, validação e teste. A análise e escolha eficaz das amostras é uma tarefa importante para evitar que o modelo apresente comportamentos de overfitting (quando o modelo se adapta muito bem ao 1 https://zenodo.org/record/3469741/ 31 conjunto de dados de treinamento, mas se mostra ineficaz para generalizar com novos dados). 4.3 Pré-processamento dos dados Esta etapa consiste em preparar, organizar e estruturar o dataset. Em García et al. (2015) o autor afirma que a coleta de dados é geralmente um processo vagamente controlado, resultando em valores fora do intervalo, por exemplo, combinações de dados impossíveis, valores ausentes, etc. Em Magalhaes (2018) é disponibilizado o dataset pré-processado com as operações de limpeza de dados, agregação de dados e criação de novos atributos realizadas. Neste trabalho são realizadas as operações de agregação dos dados (junção de amostras), remoção de features e ajuste do rótulo (label). Com os dados resultantes destas operações, o dataset é então submetido para a etapa de engenharia de features. 4.4 Engenharia de features Engenharia de features é o ato de extrair features de dados brutos e transformá-los em formatos adequados para o modelo de aprendizado de máquina (ZHENG; CASARI, 2018). Este passo consiste em adicionar ou remover features em um conjunto de dados com o objetivo de normalizar os dados para obtenção de um melhor desempenho do modelo preditivo. Nesta etapa em Magalhaes (2018) são realizadas operações de engenharia de features nos dados originais de modo a normalizar os valores contidos no conjunto de dados. 4.5 Implementação dos modelos preditivos Para a implementação dos modelos de predição são executados os algoritmos de Regressão Linear, Random Forest, Gradient Boosting e XGBoost para a realização de treinos e testes com os dados resultantes das operações realizadas nas seções anteriores. Neste trabalho utiliza-se o algoritmo de Regressão Linear como um benchmark em comparação com outros algoritmos de modo a avaliar se os resultados obtidos com cada modelo justifique a utiilização de técnicas mais avançadas de Aprendizado de Máquina para este tipo de problema. Além disso, para este trabalho é utilizada a técnica de AutoMLpara implementar automaticamente modelos preditivos de Distributed Random Forest (DRF), XGBoost, Deep 32 Learning e Generalized Linear Model (GLM). 4.6 Treinamento dos modelos Com os algoritmos escolhidos na Seção 4.5 realizam-se treinamentos com o intuito de averiguar o algoritmo que melhor se adapta aos dados. Posteriormente aplica-se a técnica de Random Search somente para o algoritmo de XGBoost com o intuito de avaliar os melhores hiperparâmetros candidatos para o modelo e então treinar o modelo de XGBoost com todos os hiperparâmetros elencados, começando do melhor colocado até o pior colocado. Após a finalização destes treinamentos, avalia-se então a importância das features. Após os treinamentos realizados no passo anterior, os dados de treino são submetidos para treinamentos utilizando a ferramenta H2O AutoML. Para a linguagem de programação Python, a ferramenta H2O AutoML inclui algoritmos como Random Forest padrão, Extremely Randomized Trees (XRT), GBM, XGBoost, redes neurais artificiais de Aprendizado Profundo, GLM, além de dar suporte também a modelos conhecidos como Stacked Ensemble. O Stacked Ensemble é um algoritmo de aprendizado de máquina supervisionado que encontra, através de um processo denominado de stacking, a combinação ideal de um conjunto de algoritmos de predição. Os Stacked Ensemble são treinados no final do processo, gerando como resultado dois modelos: um conjunto contendo todos os modelos (otimizado para o desempenho do modelo) e o segundo conjunto contendo somente o modelo de melhor desempenho de cada classe ou família de algoritmos (otimizado para uso em produção). Os treinamentos são realizados para cada família de algoritmos. Esta etapa ainda inclui a listagem dos hiperparâmetros não padrões de cada modelo gerado pelo AutoML. 4.7 Avaliação dos modelos Após a etapa de treinamentos, neste passo os modelos implementados são avaliados considerando o conjunto de teste, utilizando-se de dados nunca antes vistos pelo modelo para avaliar sua capacidade de generalização diante de novos dados. Esta etapa visa a coleta da métrica apresentada na Seção 2.3.1. Esta métrica serve como base para avaliar o desempenho de cada modelo preditivo. A partir da comparação do desempenho de cada modelo torna-se possível determinar qual modelo preditivo melhor consegue prever as velocidades médias. 33 Os resultados obtidos neste passo são tabulados de modo a propôr uma melhor visualização da eficácia de cada modelo, considerando a técnica e hiperparâmetros utilizados. 4.8 Conclusão Neste capítulo foram apresentadas as etapas requeridas para o desenvolvimento deste trabalho. Diante disto, no próximo capítulo são apresentados os experimentos realizados e os resultados obtidos a partir da execução dos procedimentos metodológicos apresentados neste capítulo. 34 5 EXPERIMENTOS E RESULTADOS Neste capítulo são apresentados os experimentos realizados assim como os resultados obtidos na execução destes experimentos. 5.1 Coleta dos dados Os conjuntos de dados foram disponibilizados em formato Comma-separated values (CSV) e divididos num total de 12 arquivos com cada arquivo correspondendo aos registros de um determinado mês do ano de 2014. Cada arquivo possui um total de 26 colunas (sendo 1 coluna o label) e os datasets somados possuem aproximadamente 1,3 bilhões de registros, consistindo de informações de sensores de tráfego espalhados pela cidade de Fortaleza e coletados por uma malha de 302 sensores em diferentes vias da cidade. O dataset original foi disponibilizado pela AMC, órgão responsável pela supervisão e controle da rede rodoviária da cidade de Fortaleza, Brasil. A Tabela 1 apresenta as estatísticas para os registros coletados no mês de Janeiro de 2014. Os registros são compostos por 26 colunas, sendo boa parte destas grupos de features temporais. Assim, as features gerais do conjunto de dados são descritas abaixo: (i) day_of_week: representando o dia da semana em que o sensor capturou a velocidade do veículo. 0 corresponde à segunda-feira e 6 ao dia de domingo. (ii) slot_of_day: representando o valor compreendido entre 0 a 287 devido à discretização do tempo em intervalos de tempo de 5 minutos. (iii) lane: indicando o número de ruas monitoradas pelo sensor. (iv) size: representando o total de registros capturados pelo sensor no intervalo de tempo de 5 minutos. (v) min: indicando a velocidade mínima registrada pelo sensor no intervalo de tempo de 5 minutos. (vi) max: indicando a velocidade máxima registrada pelo sensor no intervalo de tempo de 5 minutos. (vii) avg: indicando a velocidade média dos veículos que passam pelo sensor dentro do intervalo de tempo de 5 minutos. (viii) std: indicando o desvio padrão da velocidade dos veículos que passam pelo sensor dentro do intervalo de tempo de 5 minutos. (ix) working_day: representando se o dia se trata de um dia de trabalho ou não. Neste caso o 35 Tabela 1 – Estatísticas dos dados do mês de Janeiro de 2014. Feature Média Desvio padrão Valor mínimo Valor máximo day_of_week 2,99 1,82 0,00 6,00 slot_of_day 146,77 81,70 0,00 287,00 lane 2,46 0,75 1,00 5,00 size5 60,27 45,25 1,00 875,00 min5 17,54 11,06 1,00 79,00 max5 53,60 10,33 2,00 79,00 avg5 36,87 10,20 2,00 79,00 std5 8,57 3,24 0,00 32,50 size30 361,01 264,18 1,00 4509,00 min30 11,60 7,80 1,00 61,00 max30 60,05 9,30 9,00 79,00 avg30 36,87 9,71 6,33 62,33 std30 9,24 2,69 0,00 26,60 size1w 60,04 45,05 1,00 765,00 min1w 17,61 10,95 1,00 79,00 max1w 53,69 10,30 2,00 79,00 avg1w 36,91 10,20 2,00 79,00 std1w 8,57 3,21 0,00 30,40 size2w 57,27 43,59 1,00 924,00 min2w 17,90 11,02 1,00 79,00 max2w 53,78 10,26 2,00 79,00 avg2w 37,07 10,23 2,00 79,00 std2w 8,58 3,23 0,00 30,26 working_day 0,77 0,42 0,00 1,00 speed_limit 64,04 3,78 40,00 67,00 label 36,87 10,20 2,00 79,00 Fonte: Elaborado pelo autor. valor é igual a 1 se o intervalo de tempo estiver dentro de um dia útil ou 0 caso contrário. (x) speed_limit: representando a velocidade máxima permitida na via monitorada pelo sensor. (xi) label: label a ser predito pelo modelo. 5.2 Escolha dos datasets Nesta etapa foram escolhidos três subconjuntos do dataset original: os datasets janeiro, agosto e setembro agregados e outubro. A Tabela 2 compara o número de registros para cada conjunto de dados. Percebe-se que destes conjuntos o de janeiro é o que possui o menor número de registros. 36 Tabela 2 – Comparação entre os meses de janeiro, agosto + setembro e outubro. Mês Total de registros Janeiro 981203 Agosto + Setembro 2950522 Outubro. 1715253 Fonte: Elaborado pelo autor. 5.3 Pré-processamento dos dados Nesta etapa alguns passos de pré-processamento dos dados foram realizados para a filtragem de possíveis anomalias que podem impactar nos resultados do modelos de predição. A princípio, em Magalhaes (2018) são realizados os procedimentos abaixo: 1. Limpeza dos dados: através de particionamento das observações por mês e cálculo da média µ e desvio padrão σ da velocidade de cada mês são removidas as observações cuja velocidade tem uma distância de µ maior ou igual a 3σ 2. Agregação de dados: os dados são agregados em partições de intervalo de tempo de 5 minutos. 3. Cálculo de atributos: para cada sensor e par de slot de tempo de 5 minutos calculam-se os atributos de número de ruas monitoradas pelo sensor, velocidade máxima permitida, timestamp de registro, número de veículos que passaram via monitorada, velocidade média, desvio padrão de velocidade, velocidade mínima registrada e velocidade máxima registrada. No que concerne a este trabalho, os procedimentos realizados foram: 1. Agregação dos dados: realizou-se a agregação dos datasets dos meses de Agosto e Setembro com o objetivo ter dados suficientes para realizar o treinamento dos modelos preditivos. 2. Remoção de features: removidas as features que continham valores não numéri- cos, como as features "sensor_id"e "timestamp5"; grupos de features temporais relativasa 1 e 2 semanas atrás, como as features de "size", "min", "max", "avg"e "std"e grupos de features temporais referentes a 30 minutos e 5 minutos. 3. Ajuste do rótulo: ajustou-se a feature de "label"para corresponder ao valor da feature "avg5"de 6 horas posteriores ao slot de tempo atual 37 5.4 Engenharia de features Nesta etapa, em Magalhaes (2018) foram realizadas algumas operações de engenharia de features nos dados originais. Para todos os sensores projeta-se um conjunto de 25 features que modelam as condições de tráfego. Este conjunto inclui slots de tempo de 5 minutos, 30 minutos, 1 semana e 2 semanas atrás. Outra ação realizada foi a de transformar informações categóricas em numéricas, como as features de "day_of_week", "slot_of_day"e "working_day": 1. "day_of_week": cada dia da semana foi transformado em um número de 0 a 6, sendo a segunda-feira o identificador 0, terça-feira o identificador 1, quarta-feira o identificador 2 e assim por diante, com domingo sendo o identificador 6. 2. "slot_of_day": discretização do tempo de 1 dia (24 · 60 minutos) dividido em slots de tempo de 5 minutos, gerando um valor compreendido entre 0 a 287 (ou seja, 24 · (605 ) intervalos). 3. "working_day": equivalente a 1 se for um dia útil, 0 caso contrário. Por último, o autor utiliza a velocidade média de slots de 5 minutos no intervalo de tempo futuro de 30 minutos como o label de predição das observações atuais. 5.5 Implementação dos modelos preditivos Com o objetivo de realizar as predições de velocidades, os modelos mencionados na Subseção 4.5 são implementados. Os algoritmos de cada modelo de Aprendizado de Máquina são disponibilizados pela biblioteca scikit-learn1(PEDREGOSA et al., 2011) para a linguagem de programação Python. Para esta etapa, os experimentos envolveram inicialmente os modelos de Regressão Linear, Random Forest, Gradient Boosting e XGBoost. Posteriormente, os experimentos são realizados com H2O AutoML para as famílias de algoritmos DRF, Generalized Linear Model (GLM), XGBoost, Gradient Boosting Machine (GBM) e Deep Learning utilizando uma Rede Neural Artificial (RNA) feedforward multi-camada. 1 https://scikit-learn.org/ 38 5.6 Treinamento dos modelos Neste passo realizamos a etapa de treinamento, necessária para que os modelos aprendam a partir dos dados e possam realizar suas predições. A princípio utiliza-se o dataset do mês de janeiro de 2014, que teve os seus registros divididos em 65% para treino, 15% para validação e 20% para testes. Realizamos um treinamento inicial com Regressão Linear, e então uma etapa de treinamentos com os algoritmos de Aprendizado de Máquina implementados na Seção 5.5. Os hiperparâmetros padrões de cada modelo foram utilizados. Após este passo de treinos, são realizados treinamentos com os algoritmos de XGBo- ost e Regressão Linear por terem conseguido bons resultados com pouco tempo de treinamento. O passo seguinte foi o de avaliar um intervalo de hiperparâmetros para o algoritmo de XGBoost utilizando Randomized Search. Neste caso, definimos um total de 10 iterações e 5 dobras de validação cruzada. Os dados de treino e validação, e teste e validação, são concatenados para realizar o treinamento e teste nesta etapa. Os hiperparâmetros levantados são mostrados pela Tabela 3, onde a learning_rate2 é responsável por controlar o quão rápido o modelo se adapta ao problema, determinando o tamanho do passo em cada iteração. Enquanto isso, o hiperparâmetro max_depth3 representa a profundidade máxima da árvore, ou seja, o número máximo de features diferentes utilizadas em cada árvore. Tabela 3 – Hiperparâmetros escolhidos para Random Search. Hiperparâmetro Conjunto de valores learning_rate [0,1, 0,01] max_depth [3, 5, 7, 9, 12] Fonte: Elaborado pelo autor. Por fim, os 7 melhores hiperparâmetros são listados ao final do treinamento com Randomized Search. Os resultados dos 7 melhores hiperparâmetros encontrados pela técnica são mostrados na Tabela 4. Com os resultados obtidos no passo anterior, realiza-se então mais uma etapa de treinamentos, desta vez exclusivamente com XGBoost. São implementados 7 modelos de XGBo- ost com Graphics Processing Unit (GPU) ativada e a maioria possuindo até 3000 estimadores, 2 Taxa de Aprendizado 3 Profundidade Máxima 39 Tabela 4 – Listagem dos melhores hiperparâmetros candidatos após o treinamento com Randomi- zed Search. Posição learning_rate max_depth 1 0,01 12 2 0,01 9 3 0,01 7 4 0,01 5 5 0,1 5 6 0,1 3 7 0,1 7 Fonte: Elaborado pelo autor. com cada modelo correspondendo a um candidato elencado na Tabela 4, assim, o modelo 1 possui learning_rate de 0,01 e max_depth de 12, o segundo modelo com learning_rate de 0,01 e max_depth de 9, e assim por diante, variando-se o learning_rate ou max_depth de um modelo para outro. Após esta etapa os modelos são treinados utilizando os dados de treino e validação a partir do dataset de janeiro. Todos os modelos treinados de XGBoost nesta etapa possuíam Early Stopping (uma forma de regularização usada para evitar overfitting durante a etapa de treino iterativo) de 20 iterações. Ao final deste passo mais 2 modelos de XGBoost são implementados numa tentativa de obter melhores resultados ao modificar alguns hiperparâmetros. A Tabela 5 elenca os hiperparâmetros utilizados para cada implementação de modelos de XGBoost. Tabela 5 – Hiperparâmetros utilizados para modelos de XGBoost. Nome n_estimators learning_rate max_depth model_1 855 0,01 12 model_2 785 0,01 9 model_3 1706 0,01 7 model_4 4161 0,01 5 model_5 696 0,1 5 model_6 1322 0,1 3 model_7 279 0,1 7 model_8 855 0,01 12 model_9 819 0,01 15 Fonte: Elaborado pelo autor. São então avaliadas as features mais importantes para o modelo de melhor desem- penho, neste caso o modelo de nome model_1, através da Figura 5. Percebe-se que a feature 40 "slot_of_day é a feature mais importante, acompanhada de "size30"e "std30". Enquanto isso a feature "working_day"é a menos importante. Figura 5 – Feature importance do melhor modelo de XGBoost. Fonte: Próprio autor. Outra etapa de treinamento consistiu em utilizar os dados sem o grupo de features de 30 minutos para os algoritmos de Regressão Linear e o melhor modelo de XGBoost encontrado. Assim, removeu-se o grupo de features relacionados a 30 minutos e realizamos treinamento com os dois tipos de algoritmos. Repetiu-se o mesmo procedimento anterior, mas desta vez removendo apenas o grupo de features de 5 minutos. Após os treinamentos com o dataset de janeiro realizam-se treinamentos com os datasets de agosto e setembro agregados utilizando Regressão Linear e XGBoost. A Figura 6 mostra a importância das features neste passo de treinamento com XGBoost. Após a realização do ajuste do label para corresponder ao "avg5"de 6 horas poste- riores, descrito na Seção 5.3, realizamos mais treinamentos para Regressão Linear e XGBoost. Inicialmente o procedimento foi realizado com todas as features, então assim como nos passos anteriores, foram removidos os grupos de features de 1 e 2 semanas atrás, 30 minutos e 5 minutos. Após a realização de todos estes passos faz-se necessário avaliar se conseguimos resultados melhores com Aprendizado de Máquina Automatizado. Deste modo, o próximo passo consiste na realização de treinamentos utilizando o módulo AutoML da biblioteca H2O para Aprendizado de Máquina Automatizado. Para estes experimentos continua-se utilizando os datasets agregados de agosto e 41 Figura 6 – Feature importance do melhor modelo de XGBoost para o dataset agregado de agosto e setembro. Fonte: Próprio autor. setembro para treino e outubro para testes com os rótulos de ambos os conjuntos de dados modificados para corresponderem à feature "avg5"de 6 horas posteriores ao registro atual. A próxima etapa, após remover features relativas a 1 e 2 semanas no passado, é a de realizar treinamentos para cada família de algoritmo mencionada no segundo parágrafo da Seção 5.5. Assim, realizamos treinamentospara algoritmos de DRF, GLM, XGBoost e Deep Learning. Os hiperparâmetros não padrões de cada modelo também são listados ao final de cada processo de treino. O Quadro 2 apresenta os hiperparâmetros não padrões para o modelo líder da família de algoritmos de XGBoost. Com os passos de treinamento finalizados faz-se necessário avaliar o desempenho dos modelos implementados e treinados, com o objetivo de avaliar a eficiência de cada modelo com dados desconhecidos. 5.7 Avaliação dos modelos Após a execução de todos os passos de treino e otimização de hiperparâmetros os modelos preditivos são testados utilizando 20% do conjunto de dados do mês de janeiro, para os algoritmos treinados com os 65% dos dados de treino e 15% de validação do conjunto de dados deste mesmo mês, e os algoritmos treinados com os meses agregados de agosto e setembro são testados utilizando 50% do conjunto de dados do mês de outubro (outros 50% foram utilizados para o conjunto de validação). Deste modo, todas as implementações de modelos treinadas são então testadas e seu desempenho é medido através da métrica de RMSE, descrita na Subseção 42 Quadro 2 – Variação dos hiperparâmetros para o modelo líder de XGBoost gerado pelo AutoML. Parâmetro Padrão Atual nfolds 0 5 keep_cross_validation_models True False keep_cross_validation_predictions False True fold_assignment AUTO Modulo stopping_metric AUTO RMSE seed -1 60 distribution AUTO gaussian categorical_encoding AUTO OneHotInternal ntrees 50 100 max_depth 6 10 min_rows 1.0 10.0 min_child_weight 1.0 10.0 col_sample_rate_per_tree 1.0 0.8 colsample_bytree 1.0 0.8 score_tree_interval 0 5 tree_method auto hist booster gbtree dart reg_lambda 1.0 0.1 reg_alpha 0.0 0.001 dmatrix_type auto dense backend auto gpu Fonte: Elaborado pelo autor. 2.3.1. A Tabela 6 exibe o desempenho de cada modelo preditivo com o dataset de teste de janeiro e a Tabela 7 exibe o desempenho de cada modelo utilizando o dataset de teste de outubro. Tabela 6 – Resultados obtidos na execução dos treinos testes com o dataset de janeiro. Tipo de modelo RMSE learning_rate max_depth Observações Random Forest 3,72 - Nenhum Hiperparâmetros padrões XGBoost 3,75 0,01 12 Candidato 1 de Random Search XGBoost 3,76 0,01 9 Candidato 2 de Random Search Gradient Boosting 3,77 - 3 Hiperparâmetros padrões XGBoost 3,77 0,1 3 Hiperparâmetros padrões XGBoost 3,78 0,01 7 Candidato 3 de Random Search XGBoost 3,78 0,1 7 Candidato 7 de Random Search XGBoost 3,79 0,01 5 Candidato 4 de Random Search XGBoost 3,79 0,1 5 Candidato 5 de Random Search Linear Regression 3,80 - - Hiperparâmetros padrões XGBoost 3,81 0,1 3 Candidato 6 de Random Search Fonte: Elaborado pelo autor. Considerando os resultados obtidos com os experimentos realizados utilizando 43 Tabela 7 – Resultados obtidos na execução dos testes para o dataset de outubro após treinamento com datasets de agosto e setembro. Tipo de modelo RMSE learning_rate max_depth features XGBoost 4,74 0,01 12 Todas as features XGBoost 4,86 0,01 12 Sem features de 1week e 2week XGBoost 4,87 0,01 12 Somente features de 30 minutos DRF (AutoML) 4,87 Nenhum Nenhum Sem features de 1week e 2week XGBoost (AutoML) 4,92 Nenhum 10 Sem features de 1week e 2week XGBoost 5,23 0,01 12 Somente features de 5 minutos Deep Learning (AutoML) 5,25 Nenhum Nenhum Sem features de 1week e 2week Linear Regression 5,69 - - Todas as features Linear Regression 5,81 - - Sem features de 1week e 2week Linear Regression 5,81 - - Somente features de 30 minutos GLM (AutoML) 5,81 Nenhum Nenhum Sem features de 1week e 2week Linear Regression 6,19 - - Somente features de 5 minutos Fonte: Elaborado pelo autor. o dataset de janeiro (demonstrados na Tabela 6) percebe-se que os algoritmos com melhor desempenho foram Random Forest com hiperparâmetros padrões do modelo (n_estimators igual a 100, criterion igual a mse e nenhum max_depth) resultando em uma RMSE de 3,72 e XGBoost utilizando o primeiro candidato de hiperparâmetros elencados pela técnica de Random Search (learning_rate igual a 0,01 e max_depth igual a 12) resultando em uma RMSE de 3,75, valores relativamente próximos. Ressalta-se que o conjunto de dados de janeiro não sofreu alteração no valor do rótulo, diferentemente dos datasets de agosto + setembro e outubro. Nas avaliações com o dataset de outubro para os modelos treinados com os conjuntos de dados agregados de agosto e setembro (com o rótulo ajustado), verificamos que o melhor resultado foi obtido com XGBoost com hiperparâmetros de learning_rate de 0,01 e max_depth de 12 e utilizando todas as features do conjunto de dados. Este modelo obteve uma RMSE de 4,74. O modelo com o segundo melhor desempenho também foi um XGBoost com os mesmos hiperparâmetros, mas diferenciando-se apenas por não possuir features relativas a 1 e 2 semanas no passado, obtendo uma RMSE de 4,86. Nota-se também um distanciamento do resultado do modelo de melhor desempenho de XGBoost para o melhor resultado de um modelo de Regressão Linear que obteve uma RMSE de 5,69, quase 1,0 a mais do que o melhor modelo de XGBoost. Quanto aos resultados obtidos pelo Aprendizado de Máquina Automatizado, a família de algoritmos que obteve uma RMSE menor foi a de DRF, resultando em uma métrica de 4,87, valor relativamente próximo ao melhor resultado do XGBoost. Este resultado é interessante de se avaliar dado que o modelo que obteve o melhor resultado com o dataset de janeiro foi um 44 algoritmo de Random Forest. Para este problema, os algoritmos utilizando H2O AutoML não se mostraram mais eficazes que as primeiras abordagens de Aprendizado de Máquina utilizadas. Nota-se, no entanto, um destaque maior para algoritmos que utilizam árvores. 45 6 CONCLUSÕES E TRABALHOS FUTUROS Este trabalho tem como objetivo analisar as melhores abordagens de Aprendizado de Máquina para o problema de predição de velocidades. Deste modo, experimentos comparativos entre modelos de Aprendizado de Máquina, além de modelos utilizando AutoML, foram avaliados quanto ao seu desempenho com o conjunto de dados disponibilizado em Magalhaes (2018). Ao final o modelo com melhores resultados na predição de velocidades para um dataset com poucos registros (janeiro) foi Random Forest e para um dataset com mais registros (agosto e setembro agregados) foi o XGBoost. É possível afirmar, pautando-se nos experimentos deste trabalho, que os modelos implementados utilizando algoritmos de XGBoost e Random Forest são os que conseguem produzir melhores resultados (para determinados conjunto de dados). No caso do XGBoost, com otimização de hiperparâmetros o modelo é capaz de alcançar resultados satisfatórios para o problema proposto. Além disso, esse trabalho conta com a aplicação da técnica de AutoML com o intuito de avaliar a eficácia desta técnica para o problema proposto. Utilizando esta técnica, abstraiu-se a questão da otimização manual de hiperparâmetros e construção de modelos dado que esta responsabilidade foi delegada ao AutoML. Ainda que, com isso, o melhor modelo construído com os hiperparâmetros do AutoML não tenha superado o XGBoost utilizando Random Search, a técnica mostrou-se eficaz ao gerar modelos com desempenhos satisfatórios em um curto período de tempo considerando o tempo que seria utilizado tentando otimizar hiperparâmetros manualmente. Desta forma, um possível trabalho futuro é o de avaliar a eficácia da técnica de AutoML para um período de tempo maior de treinamento. Outro trabalho possível, elencado na Seção 3 é o de uma arquitetura de Stacked Ensemble combinando algoritmos de Aprendizado de Máquina e Redes Neurais Artificiais para averiguar a possibilidade de se obter melhores resultados com os dados de velocidades utilizados neste trabalho. 46 REFERÊNCIAS BATISTA, G. E. d. A. P. et al. Pré-processamento de dados em aprendizado de máquina supervisionado. Tese (Doutorado) – Universidade de São Paulo, São Paulo, 2003. BERGSTRA, J.; BENGIO, Y. Random search for hyper-parameter optimization.The Journal of Machine Learning Research, JMLR. org, [S.l.], v. 13, n. 1, p. 281–305, 2012. BREIMAN, L. Random forests. Machine learning, Springer, [S.l.], v. 45, n. 1, p. 5–32, 2001. CHEN, T.; GUESTRIN, C. Xgboost: A scalable tree boosting system. In: Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining. [S.l.]: [S. n.], 2016. p. 785–794. CHEN, T.; HE, T.; BENESTY, M.; KHOTILOVICH, V.; TANG, Y. Xgboost: extreme gradient boosting. R package version 0.4-2, [S.l.], p. 1–4, 2015. FREEDMAN, D. A. Statistical models: theory and practice. University of Cambridge: cambridge university press, 2009. FRIEDMAN, J.; HASTIE, T.; TIBSHIRANI, R. The elements of statistical learning. New York: Springer series in statistics, 2001. v. 1. FRIEDMAN, J. H. Greedy function approximation: a gradient boosting machine. Annals of statistics, JSTOR, [S.l.], p. 1189–1232, 2001. FRIEDMAN, J. H. Stochastic gradient boosting. Computational statistics & data analysis, Elsevier, [S.l.], v. 38, n. 4, p. 367–378, 2002. GARCÍA, S.; LUENGO, J.; HERRERA, F. Data preprocessing in data mining. New York: Springer, 2015. GIJSBERS, P.; LEDELL, E.; THOMAS, J.; POIRIER, S.; BISCHL, B.; VANSCHOREN, J. An open source automl benchmark. arXiv preprint arXiv:1907.00909, [S.l.], 2019. LIPPI, M.; BERTINI, M.; FRASCONI, P. Short-term traffic flow forecasting: An experimental comparison of time-series analysis and supervised learning. IEEE Transactions on Intelligent Transportation Systems, IEEE, [S.l.], v. 14, n. 2, p. 871–882, 2013. MA, X.; TAO, Z.; WANG, Y.; YU, H.; WANG, Y. Long short-term memory neural network for traffic speed prediction using remote microwave sensor data. Transportation Research Part C: Emerging Technologies, Elsevier, [S.l.], v. 54, p. 187–197, 2015. MA, X.; YU, H.; WANG, Y.; WANG, Y. Large-scale transportation network congestion evolution prediction using deep learning theory. PloS one, Public Library of Science, [S.l.], v. 10, n. 3, p. e0119044, 2015. MAGALHAES, R. P. Speed Prediction Applied to Dynamic Traffic Sensors and Road Networks. Tese (Doutorado) – Universidade Federal do Ceará, Fortaleza, 2018. MITCHELL, T.; BUCHANAN, B.; DEJONG, G.; DIETTERICH, T.; ROSENBLOOM, P.; WAIBEL, A. Machine learning. Annual review of computer science, Annual Reviews 4139 El Camino Way, PO Box 10139, Palo Alto, CA 94303-0139, USA, v. 4, n. 1, p. 417–433, 1990. 47 MONARD, M. C.; BARANAUSKAS, J. A. Conceitos sobre aprendizado de máquina. Sistemas Inteligentes Fundamentos e Aplicações, Manole Ltda, Barueri-SP, p. 89–114, 2003. NATEKIN, A.; KNOLL, A. Gradient boosting machines, a tutorial. Frontiers in neurorobotics, Frontiers, [S.l.], v. 7, p. 21, 2013. PARK, J.; LI, D.; MURPHEY, Y. L.; KRISTINSSON, J.; MCGEE, R.; KUANG, M.; PHILLIPS, T. Real time vehicle speed prediction using a neural network traffic model. In: IEEE. The 2011 International Joint Conference on Neural Networks. [S.l.], 2011. p. 2991–2996. PEDREGOSA, F.; VAROQUAUX, G.; GRAMFORT, A.; MICHEL, V.; THIRION, B.; GRISEL, O.; BLONDEL, M.; PRETTENHOFER, P.; WEISS, R.; DUBOURG, V. et al. Scikit-learn: Machine learning in python. the Journal of machine Learning research, JMLR. org, [S.l.], v. 12, p. 2825–2830, 2011. RASCHKA, S. Python machine learning. [S.l.]: Packt publishing ltd, 2015. SMITH, B. L.; WILLIAMS, B. M.; OSWALD, R. K. Comparison of parametric and nonparametric models for traffic flow forecasting. Transportation Research Part C: Emerging Technologies, Elsevier, [S.l.], v. 10, n. 4, p. 303–321, 2002. VLAHOGIANNI, E. I.; KARLAFTIS, M. G.; GOLIAS, J. C. Short-term traffic forecasting: Where we are and where we’re going. Transportation Research Part C: Emerging Technologies, Elsevier, [S.l.], v. 43, p. 3–19, 2014. YU, R.; LI, Y.; SHAHABI, C.; DEMIRYUREK, U.; LIU, Y. Deep learning: A generic approach for extreme condition traffic forecasting. In: SIAM. Proceedings of the 2017 SIAM International Conference on Data Mining. [S.l.], 2017. p. 777–785. ZHAO, Z.; CHEN, W.; WU, X.; CHEN, P. C.; LIU, J. Lstm network: a deep learning approach for short-term traffic forecast. IET Intelligent Transport Systems, IET, [S.l.], v. 11, n. 2, p. 68–75, 2017. ZHENG, A.; CASARI, A. Feature engineering for machine learning: principles and techniques for data scientists. [S.l.]: O’Reilly Media, Inc., 2018. ZÖLLER, M.-A.; HUBER, M. F. Benchmark and survey of automated machine learning frameworks. arXiv preprint arXiv:1904.12054, [S.l.], 2019. Folha de rosto Agradecimentos Resumo Abstract Sumário Introdução Fundamentação Teórica Definição do problema Aprendizado de Máquina Regressão Linear Random Forest Gradient Boosting XGBoost Random Search AutoML Métricas de avaliação Root Mean Square Error (RMSE) Conclusão Trabalhos Relacionados Short-term Traffic Flow Forecasting: An Experimental Comparison Of Time-series Analysis And Supervised Learning Deep Learning: A Generic Approach For Extreme Condition Traffic Forecasting Long Short-term Memory Neural Network For Traffic Speed Prediction Using Remote Microwave Sensor Data Conclusão Metodologia Coleta dos dados Escolha dos datasets Pré-processamento dos dados Engenharia de features Implementação dos modelos preditivos Treinamento dos modelos Avaliação dos modelos Conclusão Experimentos e Resultados Coleta dos dados Escolha dos datasets Pré-processamento dos dados Engenharia de features Implementação dos modelos preditivos Treinamento dos modelos Avaliação dos modelos Conclusões e Trabalhos Futuros REFERÊNCIAS APÊNDICES ANEXOS
Compartilhar