Séries temporais com Prophet Análise e previsão de dados com Python
Allan Spadini, Valquíria AlencarPrefácio
E aí, você já pensou em prever algo no futuro? Nós podemos prever diversas situações que são dependentes do tempo. Quando fazemos isso, estamos trabalhando com o que chamamos de Séries Temporais. Então, podemos prever, por exemplo: a quantidade de vendas de um produto em meses sucessivos, o valor das ações ou fundos imobiliários, o número de casos de uma doença ou até mesmo o consumo de eletricidade em algum local.
Existem várias ferramentas para realizar essas previsões. Neste livro vamos focar em uma biblioteca desenvolvida pelo Facebook chamada Prophet, que em português quer dizer Profeta. E por que vamos utilizar essa biblioteca? Ela normalmente produz previsões com boa qualidade e também é muito personalizável e intuitiva para pessoas que trabalham com dados, mas que não possuem experiência prévia com análise de séries temporais. É uma biblioteca muito poderosa, pois consegue modelar, treinar, testar, identificar a sazonalidade automaticamente e ainda faz a validação cruzada dos dados.
Neste livro, vamos realizar um projeto com um dataset que contém as temperaturas da superfície do solo de todos os países do mundo. Nós focaremos nossos estudos na previsão das temperaturas do Brasil, mas com esse aprendizado você vai entender como aplicar os conceitos de tendência, changepoints, sazonalidade, outliers, hiperparâmetros e validação-cruzada em qualquer situação que envolva uma ou mais variáveis dependentes do tempo.
Com isso, você conseguir desenvolver projetos sobre a análise de séries temporais, que podem envolver:
- Previsões na área da saúde, como a previsão do número de casos e óbitos causados por determinada doença. Com a pandemia causada pelo vírus SARS-CoV-2 diversos trabalhos envolvendo a análise de séries temporais foram realizados nesse sentido;
- Dispositivos médicos como Eletrocardiogramas (ECGs) para diagnosticar condições cardíacas registrando os pulsos elétricos que passam pelo coração ou Eletroencefalograma (EEG) usado para medir a atividade/impulsos elétricos no cérebro;
- Astronomia e Astrofísica, como a observação de eventos transitórios como supernovas para entender o mecanismo da mudança do universo com o tempo;
- Finanças, já que a maioria das decisões financeiras, de investimento e de negócios são levadas em consideração com base em mudanças futuras e previsões de demandas no domínio financeiro;
- Varejo e negócios, auxiliando as empresas na tomada de decisões, pois você consegue analisar o padrão dos dados e entender sua sazonalidade, o que é útil na previsão de possibilidades e eventos futuros e no entendimento do aumento e diminuição de vendas de determinado produto.
Esses foram somente alguns exemplos! A variedade de campos de pesquisa é imensa. Então, você vai conseguir explorar e prever muitas situações!
A linguagem Python será utilizada aqui, sem a necessidade de nenhuma instalação no seu computador, pois utilizaremos o ambiente do Google Colaboratory. Além disso, outros datasets serão utilizados para aprofundar ainda mais as nossas análises e o entendimento sobre como o Prophet pode ser uma ferramenta incrível. Então, vamos trabalhar com dados do mercado de ações e com um dataset onde podemos utilizar múltiplos regressores, ou seja, teremos mais de uma variável dependente.
Público-alvo
O público-alvo deste livro são estudantes e profissionais envolvidos em Data Science, independente da área ou nível de experiência.
Organização do livro
O principal objetivo deste livro é mostrar como utilizar a biblioteca Prophet para realizar previsões de séries temporais.
Passaremos por todas as etapas necessárias para realizar a previsão de uma série temporal. No capítulo 1 vamos discutir sobre o pré-processamento de séries temporais. Então, vamos carregar os dados no Google Colaboratory e realizar análises preliminares.
Logo no capítulo 2 já realizaremos nossa primeira previsão com o Prophet. Depois dessa previsão discutiremos como interpretar os resultados obtidos.
No capítulo 3 nos aprofundaremos na previsão. Vamos começar separando os dados em treino e teste, para entender se os dados de testes estão conseguindo se aderir bem à nossa previsão. Além, discutiremos sobre os changepoints: pontos de mudança identificados automaticamente pelo Prophet, mas que podem ser definidos manualmente.
No capítulo 4 vamos entender a diferença entre as sazonalidades aditiva e multiplicativa. Ajustaremos a flexibilidade da sazonalidade e também será possível compreender as características de uma Série de Fourier.
Para finalizar a nossa previsão faremos o tratamento dos outliers no capítulo 5. Com isso, todos os dados discrepantes serão tratados. Nesse capítulo também incluímos os intervalos de confiança para que seja possível entender quais os efeitos quando alteramos o intervalo de confiança e como isso influencia a tendência da série temporal.
Para verificar como nosso modelo está performando e avaliá-lo, utilizaremos o método de validação cruzada e vamos obter as métricas de performance do model no capítulo 6.
No capítulo 7 vamos explorar os hiperparâmetros e utilizaremos uma técnica chamada Grid Search para obter os melhores valores de hiperparâmetros para os nossos dados. O modelo obtido será salvo e futuramente poderá ser aberto para ser atualizado, sem a necessidade de ser retreinado.
Temos um bônus no capítulo 8 que será a obtenção de gráficos interativos com uma biblioteca chamada Plotly. Esses gráficos são muito interessantes para apresentar os resultados para o nosso público-alvo.
Já no capítulo 9, outro dataset será utilizado para modelagem de feriados e eventos especiais. Este dataset é sobre o preço de ações e ampliará ainda mais nossos conhecimentos sobre séries temporais.
Por fim, no capítulo 10 vamos discutir sobre os múltiplos regressores. Até então, tínhamos trabalhado apenas com duas variáveis: uma dependente (temperatura) e outra independente (datas). Porém, existem situações em que uma variável pode depender de mais fatores. Então, outro dataset será utilizado e vamos realizar previsões adicionando mais de um regressor.
Sobre os autores
Valquíria Alencar é bióloga, Mestra e Doutora em Biotecnologia Aplicada a Recursos Naturais e Agronegócio pela Universidade de Mogi das Cruzes (UMC). Atuou desde 2008 na pesquisa acadêmica dentro da área de Microbiologia, com ênfase em Biologia Molecular e Genômica. Então, apresenta um amplo conhecimento das técnicas comumente empregadas em Bioinformática, Genômica estrutural e Genômica funcional. Foi Pesquisadora Colaboradora, no programa de Biossistemas da UFABC (Universidade Federal do ABC) no período de 2018-2021.
Sua paixão por analisar dados e obter insights a partir deles fizeram com que ela fizesse a migração de carreira para área de Data Science. Atualmente, está atuando em programação e Ciência de Dados, desenvolvendo projetos que envolvem pré-processamento e análise exploratória de dados, previsões de séries temporais, aplicação de modelos de Machine Learning e Big Data. Desde 2021 é Docente em tempo integral no Grupo Alura nos cursos de Data Science. É apaixonada por aprender coisas novas e resolver problemas com soluções criativas. Mais informações podem ser encontradas em seu perfil do LinkedIn e no seu currículo Lattes
Allan Segovia-Spadini é geofísico, mestre e doutor em Ciências na área de Geofísica Aplicada pela Universidade de São Paulo com período sanduíche no doutorado na Universidade de Tecnologia de Delft. Possui experiência profissional como geofísico na empresa GPR-Geoscience onde atuou nas áreas de pesquisas geológicas e geotécnicas com métodos geofísicos do tipo sísmicos, elétricos e eletromagnéticos. No mestrado, desenvolveu pesquisa relacionada ao processamento de sinais sísmicos e melhoria de resolução através de deconvolução. No doutorado, desenvolveu pesquisa voltada para a inversão de dados sísmicos. A ênfase foi na tomografia sísmica através da inversão de forma de onda completa.
Atua principalmente nos seguintes temas: métodos sísmicos, tomografia, inversão, machine learning, deep learning, métodos de otimização, deconvolução, estimativa da forma de onda, análise de velocidades, processamento de sinais e imagens. Trabalhou como instrutor na área de Ciência de Dados na Alura e atualmente é coordenador de ensino de graduação também na área de dados no Grupo Alura. Mais informações podem ser encontradas em seu perfil do LinkedIn e no seu currículo Lattes
Sumário
- 1 Pré-processamento de séries temporais
- 1.1 O que são séries temporais?
- 1.2 Análise preliminar dos dados
- 1.3 Visualização dos dados
- 2 Prophet
- 2.1 Primeiras previsões
- 2.2 Interpretando o DataFrame de previsão
- 2.3 Compreendendo gráficos das componentes
- 2.4 Adicionando período de previsão
- 3 Aprofundando nas previsões
- 3.1 Previsão de crescimento
- 3.2 Changepoints
- 4 Sazonalidade
- 4.1 Sazonalidade aditiva x Sazonalidade multiplicativa
- 4.2 Ajustando a flexibilidade da sazonalidade
- 4.3 Série de Fourier para sazonalidades
- 4.4 Especificando sazonalidades personalizadas
- 5 Outliers
- 5.1 Tratamento de outliers
- 5.2 Intervalos de confiança
- 6 Validação e métricas de performance
- 6.1 Validação cruzada
- 6.2 Métricas de Performance
- 7 Hiperparâmetros
- 7.1 Parâmetros que podem ser ajustados
- 7.2 Parâmetros que talvez podem ser ajustados
- 7.3 Parâmetros que provavelmente não seriam ajustados
- 7.4 Ajustando hiperparâmetros com Grid Search
- 8 Gráficos interativos com Plotly
- 8.1 Gráfico interativo da previsão
- 8.2 Gráfico interativo das componentes
- 8.3 Gráfico interativo da sazonalidade
- 9 Modelagem de feriados e eventos especiais
- 9.1 Consultando o preço de ações
- 9.2 Feriados
- 9.3 Datas customizadas
- 9.4 Importância individual dos eventos
- 9.5 Gráficos de velas
- 10 Múltiplos regressores
- 10.1 Novos dados de temperatura
- 10.2 Mensagem final
Dados do produto
- Número de páginas:
- 142
- ISBN:
- 978-85-5519-314-9
- Data publicação:
- 08/2022