Introdução a Series Temporais — Parte 1

Saiba o que são Time Series, sua propriedades e quais os tipos de modelos para realizar previsões que existem

Nina Maria Pinheiro
Data Hackers
13 min readFeb 1, 2021

--

Motivação

Há um ano atrás, eu comecei um estágio e já tinha na minha cabeça que queria realizar um projeto vinculado à área de ciência de dados. Entretanto, eu tinha pouco conhecimento da área. Por isso, foi bem difícil pensar em qual projeto eu faria, mesmo estudando todos os dias sobre o business da área em que eu estava e tentando imaginar possíveis soluções para os problemas que havia. Foi um desafio enorme. Lembro-me que já havia se passado seis meses e meu projeto ainda não estava definido rs. Depois de ler alguns livros sobre ciência de dados e procurar alguns materiais e vídeos sobre previsão de estoque me deparei com o tema de séries temporais, um tema que desconhecia por inteiro.

O que posso falar é que eu simplesmente amei, mesmo no começo não entendendo as fórmulas matemáticas nem como fazer previsões e qual modelo usar. Nossa, foi muito difícil, mas foi um período em que mergulhei nesse tema e eu aprendi muita coisa. Agradeço imensamente a oportunidade de ter apresentado este projeto na #Ingredion e a confiança que os meus gestores depositaram em mim.

Depois de apresentar o meu projeto, continuei estudando por conta própria e já tinha uma certa base quando surgiu a oportunidade de aprender mais na #Fia,#Labdata, uma instituição a qual sou extremamente grata por me proporcionar uma gama de conhecimento e intercâmbio cultural sobre a área de ciência de dados. Não poderia deixar de mencionar também minha gratidão pela dedicação dos administradores e professores de lá que transmitem o conteúdo com muito carinho e muita sabedoria.

Além disso, fui convidada a ministrar uma palestra, o que acabou gerando um novo mergulho no tema, com algumas horas a menos de sono mas também com muita dedicação e aprendizado ao lado do meu parceiro de curso, # Jailson, o qual sou muito grata por ter podido conhecer

Essas experiências todas de ministrar o minicurso e realizar o projeto e também ser monitora do curso da FIA foram extremamente importantes para o meu aprendizado sobre séries temporais.

O psiquiatra William Grasser afirma em seu livro sobre a ‘A Teoria da Pirâmide de Aprendizado’ que 95% do conhecimento é aprendido quando temos que ensinar alguém, explicando, resumindo, definindo e estruturando o conhecimento. Acredito ainda mais nisso depois de toda essa jornada. De fato, ter que estudar e me colocar no lugar das pessoas que estavam assistindo e pensando nas infinitas perguntas que o público alvo poderia fazer me fez ter um papel mais ativo nos estudos.

O que são séries temporais?

Uma série temporal é um conjunto de observações feitas em sequência ao longo do tempo. Em séries temporais a ordem dos dados é fundamental.

Para entender melhor esse conceito, vamos supor que eu queira saber os meus batimentos cardíacos agora. Se eu pegar os dados de forma independente, ou seja, pegar os dados de um ano atrás por exemplo, quando eu inclusive estava viajando, a previsão dos meus batimentos que poderia fazer não terá sentido. Agora os meus batimentos devem estar com uma frequência diferente, provavelmente com uma frequência maior, pois estou mais ansiosa do que quando estava relaxada viajando. Assim, a ordem dos dados é relevante. Outra característica importante é que nas séries temporais as observações vizinhas são relacionadas. Por exemplo, a quantidade de carros vendidos em dezembro pode estar relacionada à quantidade de carros vendidos em novembro ou até mesmo relacionada com a de setembro.

Além disso, séries temporais são processos estocásticos por leis probabilisticas — que significa que pode ser pensando como um conjunto de todas as possíveis trajetórias(FIGURA 1) que poderiam ser observadas para uma variável alvo. Por exemplo, se você jogar um dado pode ser qualquer valor inteiro entre 1 e 6, mas apenas um número vai ocorrer . Da mesma forma, nas séries temporais existem infinitas possibilidades, dentre elas apenas uma de acordo com as características que estavam presentes naquele período e que de fato vai ocorrer.

Figura 1:Processo estocástico: pode ser pensado como um conjunto de todas as possíveis trajetórias que poderiam observar uma variável. Fonte:Victor Hugo(IME,2021).

Objetivos

Um dos objetivos da série temporal é compreender a estrutura da série, o que é de grande importância pois podemos, por exemplo, tentar entender se existe alguma tendência de crescimento de vendas de um determinado produto, entender como esse produto está comportando e poder tomar decisões a partir de insights gerados com a análise dos dados. Um bom exemplo são os panetones, mais demandados em dezembro . Assim, sabendo que um produto pode ter maior demanda em um determinado mês, uma empresa pode preparar a infraestrutura para ter maior venda deste produto.

Além disso, o estudo dessas séries também é relevante porque pode proporcionar a realização de previsões de valores futuros da série , ou seja, o que vai acontecer lá no futuro. Por exemplo, prever como vai ser a venda de um produto, e responder a perguntas como: será que vai ter um crescimento maior? um crescimento menor? permanecerá estável?. A partir disso, pode-se ter uma maior preparação também.

Aplicações

Séries temporais estão presentes na nossa vida de várias formas em vários lugares. É incrível!

  • Economia: Preços diários de ações, taxa mensal de desemprego;
  • Saúde: Número mensal de novos casos de alguma doença,registro de um eletrocardiograma de uma pessoa;
  • Climatologia: Temperatura diária;
  • Marketing: Previsão de aquisição de novos clientes, previsão de volume de viagens;
  • Administrativo: Previsão de vendas de produtos;

Esses são só alguns exemplos, séries temporais estão presentes em diversas áreas e a partir delas podemos entender mais os dados que as compõem e tomar decisões mais assertivas.

Propriedades das Séries Temporais

As séries temporais apresentam algumas propriedades importantes:

  • Tendência: Significa saber se uma determinada série está crescendo, diminuindo ou se está estável. Na Figura 2 a gente consegue observar um aumento na tendência. Por que isso se torna importante? Porque podemos saber qual será a tendência a curto, médio ou longo prazo dessa série temporal. Por exemplo, ter o conhecimento se o número de casos de uma doença vai aumentar, diminuir ou permanecer estável uma cidade é importante para o planejamento urbano.

Figura 2: Tendência de uma série ao longo dos anos 40 a 60. Fonte: Open Data,2021

  • Sazonalidade: São flutuações periódicas, fenômenos que se repetem a cada período idêntico do tempo. Por exemplo, a venda dos panetones que aumentam durante os meses de dezembro, mas não apenas de um ano, mas do ano passado, do ano retrasado e assim por diante. Outros exemplos são os produtos que tendem a aumentar no verão como os biquínis ou os casacos no inverno, indicando, dessa forma um fenômeno sazonal.Na Figura 3, podemos observar o fenômeno de sazonalidade, em que ocorrem picos periódicos segundo a imagem;

Figura 3: Sazonalidade Anual de 1949–1960. Fonte : Portal Action,2021;

  • Ciclos: É um aumento ou redução da frequência, mas sem intervalos fixos, o que difere da sazonalidade por não ter um intervalo frequente. Segundo a Figura 4, observa-se que não há intervalos fixos — há uma desregularidade.

Figura 4: Ciclos de uma Série Temporal. Fonte: Nortegubisian,2021

  • Erro Aleatório: São flutuações inexplicáveis, resultando de fatos fortuitos e inesperados como catastrofes naturais, atentados terroristas e pandemias.

Além desses componentes é importante entender outro conceito que aparece bastante em modelos de séries temporais: a estacionariedade.

Uma série estacionária é quando a média, variância e a estrutura de autocorrelação se mantém constantes durante o tempo. Na Figura 5 podemos observar este fenomeno em que há estacionariedade na imagem, uma vez que a média permanece constante, enquanto na Figura 6 observamos que a média não se mantém constante (ela tende a crescer).

Figura 5: Série Estacionária com média constante. Fonte: Leandro Rabelo,2019.

Figura 6 Série não Estacionária com a média não constante.Fonte: Leandro Rabelo,2019.

Para conseguir saber se uma série é estacionária, podemos realizar alguns testes estatísticos como Dickey-Fuller, Kpss, Philips perron.

O teste de Dickey- Fuller é um teste de hipótese, o que significa que uma amostra de dados é selecionada e realizam-se inferências sobre uma determinada população de dados. Neste caso, o objetivo da inferência é avaliar se os dados se mostram estacionários ou não.

Para testar um parâmetro populacional devemos afirmar cuidadosamente um par de hipótese, uma que representa a afirmação e outra que represente o seu complemento, ou seja, quando uma dessas hipóteses for falsa a outra será verdadeira.

Esse teste apresenta como resultado após todas as estimações um valor e a decisão de não rejeição da hipótese de estacionariedade se dá estabelecido se o valor (p-value) obtido for menor que 0.05.

Contudo, é muito difícil ter uma série estacionária, pois o nosso mundo não é estacionário e muitas variáveis podem alterar os seus valores através do tempo.Por exemplo, devido a pandemias, crises, entre outros acontecimentos.

Entretanto, a estacionariedade é importante, pois existem técnicas analíticas de séries temporais que dependem da estacionalidade da série para funcionarem. Se a série não é estacionária, pode-se aplicar algum tipo de transformação de forma que se consiga que a série se torne estacionária.

A transformação mais comum consiste em tomar diferenças sucessivas da série original até se obter uma série estacionária, mas existem outras transformações como a transformação logarítmica.

Diferenciação:

A primeira transformação seria basicamente tomar o valor da série original e dele subtrair o valor do dado anterior e assim sucessivamente segundo a Tabela 1.

Tabela 1: Transformação por diferenciação para a série se tornar estacionária. Fonte: Autoria Própria — Nina.

Modelo de Série Temporal

O comportamento de uma série pode ser representado por um modelo matemático. Os modelos matemáticos mais comuns e que tem como premissa apresentar a estacionariedade são modelos auto-regressivos — AR(p), auto-regressivo e de média móvel ARMA(p,q) e modelo auto — regressivo integrado e de média móvel ARIMA(p,d,q).

Figura 6: Fluxograma dos parâmetros do modelo Arima. Fonte: Autoria Própria — Nina.

Modelos Auto-regressivos (AR)

O modelo Auto-regressivo (AR) — utiliza a própria variável alvo para projetá-la a partir da variável no passado;

Uma série temporal segue um processo auto-regressivo quando o valor da série no tempo t depende do que aconteceu em, por exemplo, t-1, t-2, t-3, t-4, etc.

Um bom exemplo de uma equação que representa os modelos auto-regressivos é a seguinte (não coloquei as nomenclaturas matemáticas a fim de ter uma linguagem mais acessível):

Yt = 23.15+0.98*(yt-1)+0.45*(yt-2)

Y= Valor previsto

yt-1 = Valor da série no instante t-1

yt-2 = Valor da série no instante t-2

Nessa equação temos um exemplo de modelo auto-regressivo de ordem 2 (AR(2). Isso significa que são necessárias duas defasagens para projetar o próximo mês, caso queira prever como séria, por exemplo, a demanda de um produto no próximo mês.

Modelo ARMA (p,q)

Modelo utiliza tanto um modelo auto-regressivo como o modelo de média móvel. Apresenta-se Auto-regressivo (AR), ou seja,utiliza a própria variável alvo para projetá-la a partir da variável no passado. Apresenta também média Móvel (MA), uma vez que utiliza os erros anteriores para realizar a previsão;

Erros = previsto — real(em módulo).

Yt = 23.15+0.98*(yt-1)+0.45*(et-1)

Y= Valor previsto

yt-1 = Valor da série no instante t-1

et-1 = Erro anterior no instante t-1

Nesta equação temos um exemplo de modelo auto-regressivo de média móvel, pois utilizamos uma variável com valor da série no instante t-1 e uma variável com o erro anterior no instante t-1. Portanto, temos uma ARMA(1,1), ou seja, p = 1 e q =1 , modelo auto -regressivo de média móvel de ordem 1.

Modelo ARIMA (p,d,q)

Modelo utiliza tanto um modelo auto-regressivo integrado como o modelo de média móvel. Inclui variável Auto-regressiva (AR), ou seja, utiliza a própria variável alvo para projetá-la a partir da variável no passado. Apresenta também Média Móvel (MA), uma vez que utiliza os erros anteriores para realizar a previsão;

Além disso, contém o parametro Integrado (d) que são os números de vezes que ocorrem as transformações. Então, por exemplo, realizou- se duas diferenciações para que a série se torne estacionária, portanto d = 2.

Mas a grande pergunta é: como determinar esses parâmetros sendo que não há uma equação matemática no dataset? Existem algumas formas olhando para as funções tanto de autocorrelação quanto a de autocorrelação parcial.

Função de Autocorrelação (ACF)

Figura 7: Função de Autocorrelação. Fonte: Autoria Própria.

A função de autocorrelação mede o quão relacionados estão os valores da série em relação aos seus antecedentes, por exemplo, o quanto os dados estão relacionados com os meses anteriores. Assim, as barras que estão dentro dos limites azuis, apresentam correlação igual a zero e fora dessas barras significa que os dados estão correlacionados.

Essa função determina o parâmetro ‘q’ — médias móveis. Além disso, o primeiro termo da curva ACF é sempre 1 — os valores são sempre perfeitamente correlacionados consigo mesmo, pois um período está sempre relacionado com ele mesmo, já que é o próprio período.

Função de Autocorrelação Parcial (PACF)

Figura 7: Função de Autocorrelação- Parcial. Fonte: Autoria Própria.

Essa função mede a correlação entre duas observações seriais: yt e yt-k, eliminando-se a dependência dos termos intermediários. Ou seja, na função de autocorrelação parcial mede a correlação entre dois lags(períodos) diferente, já que a autocorrelação que mede isso entre todos os períodos.

Ela determina o parâmetro p- auto-regressivo. Número de autocorrelações parciais diferentes de zero fornece a ordem do modelo AR. Assim, as barras que estão dentro dos limites azuis apresentam correlação estatisticamente igual a zero. Barras que vão além dessas linhas indicam que os dados estão correlacionados.Por exemplo, na figura o p seria dois, pois, há duas barras fora dos limites azuis.

No entanto, olhar para esses gráficos nem sempre são intuitivos, então criei uma tabela (TABELA 2) olhando diversas referências para tentar entender como encontrar esses parâmetros.

Tabela 2: Resumo do ACF e do PACF. Fonte: Autoria Própria.

Então um bom exemplo seria o resultado dos gráficos de ACF e PACF

Figura 8: Função de Autocorrelação e Autocorrelação Parcial. Fonte: Autoria Própria.

No primeiro exemplo, vemos que há um decrescimento exponencial tênue no ACF, pois as barrinhas estão diminuindo . Enquanto que no PACF verificamos dois picos fora das linhas azuis. Portanto, esse modelo pode ser representado por um AR(2).

Dessa forma, foi proposto algumas etapas para encontrar o modelo ideal(se é o AR, ARMA,ARIMA, entre outros).

A proposta foi feita pelo Box e Jenkins (1976) que representa um ciclo iterativo. O fluxo(FIGURA 9) pode ser resumido por:

Figura 9: Fluxograma do modelo de Box e Jenkins. Fonte: Autoria Própria.

  • Identificação — Análise de autocorrelações, autocorrelações parciais e outros critérios;
  • Estimação: Estimação dos parâmetros do modelo;
  • Verificação ou diagnóstico do modelo: Análise dos resíduos para saber se o modelo é adequado;

Assim, após realizar essas etapas de identificação e estimação os parâmetros, é necessário realizar um diagnóstico do modelo, isto é, verificar se ele está adequado aos dados e, caso não esteja, voltar as etapas anteriores

Para avaliar a medição do erro (Resíduo) — Valores reais — Valores previstos. É necessário verificar se os Resíduos não estão correlacionados, ou seja, apresentam Ruído Branco. Caso apresente ruído branco o modelo está ajustado. Para verificar isso, podemos realizar alguns testes estatísticos, dentre eles o de

Box-Ljung , com as seguintes hipóteses:

H0 : Há Ruído Branco, modelo não exibe falha de ajuste.

H1 : Não há Ruído Branco, o modelo exibe falha de ajuste.

Regra de decisão: Quando (p-value) é > 0,05 aceitamos H0 , ou seja, há evidência de que o modelo não exibe falha de ajuste.

Podemos verificar a realização dessas etapas no github(Nina-pinheiro) onde coloquei alguns exemplos tanto em Python quanto em R.

Além disso, o meu parceiro que apresentou séries temporais comigo falou sobre ARCH e GARCH no github e no medium dele , lá podemos ver conceitos de volatilidade (PARTE 2 — Séries Temporais).

Códigos

Jailson

Linkedin: https://www.linkedin.com/in/jailsonr/

Github: https://github.com/jailsonrs

Medium: https://medium.com/@jailsonr

Para quem me conhece sabe que eu gosto de uma boa dose de poesia e durante o aprendizado de séries temporais, minhas redes neurais acabaram criando uma poesia. E ai você encontrou alguma correlação com séries temporais na poesia?

Gratidão a todos aqueles que me ajudaram

Revisores do Texto — Gratidão!!

  • Jailson Rodrigues
  • Gabriel de Paulo
  • João Nogueira
  • Samuel Silva

Referências

Dataset Livro:

Montgomery, Douglas C., Cheryl L. Jennings, and Murat Kulahci. Introduction to time series analysis and forecasting. John Wiley & Sons, 2015. — ´

Dataset Preço: https://www.youtube.com/channel/UC25LYleJ9taa5CTcEGvE_0A

Revisores: Jailson Rodrigues, João Nogueira, Samuel Silva e Gabriel

Séries temporais intermitentes: KOENIG, A. Previsão de demanda em séries temporais intermitentes mediante a utilização do método de Croston. 2014. Dissertação (Mestrado em Engenharia de Produção) — Universidade Federal de Santa Catarina, Florianópolis, 2014;

Métodos qualitativos para previsão: LEE, C. K.; SONG, H. J.; MJELDE, J. W. (2008). The forecasting of International Expo tourism using quantitative and qualitative techniques. Tourism Management, v.29, p.1084–1098, 2008;5

Aplicação de redes neurais em séries temporais: BRANCO, S. T.; SAMPAIO, R. J. B. Aplicação de redes neurais artificiais em modelos de previsão da demanda para equipamentos de infraestrutura de telecomunicações. In: XXVII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO. Rio de Janeiro, 2008.

Morettin, Pedro A. “Econometria financeira.” Edgard Blücher, (2008).

Montgomery, Douglas C., Cheryl L. Jennings, and Murat Kulahci. Introduction to time series analysis and forecasting. John Wiley & Sons, 2015.

Morettin, Pedro A., and Clélia Toloi. Análise de séries temporais. Blucher, 2006.

Vidyamurthy, Ganapathy. Pairs Trading: quantitative methods and analysis. Vol. 217. John Wiley & Sons, 2004.

Hendry, David F., and Katarina Juselius. “Explaining cointegration analysis: Part 1.” The Energy Journal (2000): 1–42.

Hendry, David F., and Katarina Juselius. “Explaining cointegration analysis: Part II.” The Energy Journal (2001): 75–120.

https://www.ime.unicamp.br/~hlachos/MaterialSeries.pdf

http://www.portalaction.com.br/series-temporais/23-sazonalidade#:~:text=Dizemos%20que%20uma%20s%C3%A9rie%20temporal,m%C3%AAs%20em%20todos%20os%20anos.

https://operdata.com.br/caracteristicas-das-series-temporais/

http://repositorio.roca.utfpr.edu.br/jspui/bitstream/1/14582/1/comparacaometodosdemandacafe.pdf

https://www.youtube.com/channel/UC25LYleJ9taa5CTcEGvE_0A

--

--

Nina Maria Pinheiro
Data Hackers

Nature, artificial intelligence, productivity and meditation. The unsustainable lightness of being=) Linkedin: https://www.linkedin.com/in/nina-i-maria-pinheiro