Uma Breve Jornada em Séries Temporais — Pt.1: Introdução

Lucas Ferreira
LICA
Published in
9 min readMar 28, 2019

Resumo

Opa! Tudo bem? Esse texto é a primeira parte de uma série de mais dois ou três textos — não sei ao certo ainda, é uma incógnita — sobre Séries Temporais, desde os conceitos iniciais até aplicações usando modelos estatísticos e técnicas de Machine Learning (com Python, é claro). A intenção de escrever mais de um texto é de poder discutir com cautela cada tópico do assunto, visto que Séries Temporais é uma área bem ampla e multidisciplinar nascida no campo da Estatística e pode ser aplicada em outras áreas e cenários como Economia, Meteorologia, dados públicos, Bolsa de Valores e muito mais!

Motivação

Certamente o maior apelo para falar sobre Séries Temporais é o fato de que esse campo de estudo é pouco discutido e difundido em Análise de Dados e Ciência de Dados em geral — pelo menos é o que eu vejo nos fóruns de Dados e Machine Learning por aí até agora. Talvez seja um tema pouco discutido porque é um assunto muito restrito aos cientistas (em geral) e estatísticos. E é por conta disso que eu considero importante pelo menos saber o que são Séries Temporais e onde esse negócio com nome elegante está presente na nossa vida.

A natureza dos dados

Antes de mais nada, é importante termos duas coisas bem definidas na nossa mente quando vamos falar, ler ou estudar sobre dados e a primeira é que os dados são uma representação do mundo real. Veja só um exemplo: todo lindo dia deixamos nossos rastros na Web a cada clique, cada curtida, cada comentário, etc. E isso diz muito do nosso perfil pessoal e, a partir disto, é possível mapear perfil de consumo, tópicos de interesse, artistas e filmes preferidos e muito mais. Exatamente! Você deve ter se tocado agora como os anúncios que aparecem pra gente são apenas de coisas relacionadas ao nosso gosto. É por isso que os dados são uma representação muito boa do mundo real por serem capazes de fidelizar um domínio mapeando o comportamento a partir dos dados.

O segundo conceito-mór é que, dada uma determinada característica que sempre está presente ou ausente, os conjuntos de dados podem ser divididos em duas grandes classes:

  • Dados atemporais
  • Dados temporais

Os dados atemporais são aqueles que não estão dispostos ao longo do tempo. Ou seja, um dataset composto por imagens ou datasets utilizados para análise de sentimento, reconhecimento de caracteres manuscritos, detecção de perfis falsos, etc… não são conjuntos de dados com a característica de estarem organizados temporalmente. Uma coisa interessante: existem datasets que possuem o atributo ‘tempo’ mas que não são dados temporais justamente por causa da característica citada há pouco, que é a característica de os dados estarem organizados ao longo do tempo.

Por outro lado, os dados temporais estão dispostos temporalmente — um pouco óbvio, né? — como se o atributo de ‘tempo’ fosse o índice de cada observação do conjunto de dados. Exemplos bacanas de dados temporais são dados populacionais e sociais como IDH, PIB, taxa de desemprego, taxa de analfabetismo; dados geográficos e meteorológicos, dados financeiros e dados públicos são casos bem recorrentes de dados temporais. Conheça o projeto Operação Serenata de Amor que trabalha com dados do governo.

Ok. Acredito que essa rápida introdução sobre a natureza dos dados tenha sido suficiente para entendermos melhor o conceito de Séries Temporais e suas características. Bora lá conhecer?

Afinal, o que diabos é uma Série Temporal?

Existem várias formas de escrever a definição de Séries Temporais. Aqui vou mostrar duas definições. A primeira é do livro Computational Intelligence in Time Series Forecasting, dos autores Ajoy K. Palit, Dobrivoje Popovic:

Definição 1: Uma série temporal é uma sequência ordenada por tempo de valores de observação de uma variável física ou financeira feita em intervalos de tempo igualmente espaçados Δt, representada como um conjunto de valores discretos x1, x2, x3, …, etc. Na prática, a sequência de valores é obtida dos sensores por amostragem dos sinais contínuos relacionados. Baseando-se em valores medidos e geralmente corrompidos por ruído, os valores de séries temporais geralmente contêm um componente de sinal determinístico e um componente estocástico representando a interferência de ruído que causa flutuações estatísticas em torno dos valores determinísticos.

Complicou, né? Na verdade, a definição deste livro é detalhada desta forma porque é um livro que aborda os conceitos e, em seguida, faz a aplicação em contextos de Engenharia e Finanças. Inclusive eu iniciei meus estudos lendo esse livro. Mas eu tenho aqui uma definição muito mais simples e que define tão bem quanto a definição que Ajoy e Popovic escreveram:

Definição 2: Uma Série Temporal é um conjunto de dados ordenados ao longo do tempo, em um intervalo de tempo bem definido.

Agora ficou uma maravilha de entender, hein!?

Excelente! Vamos agora destrinchar a definição.

Quando o trecho da definição 2 diz “…ordenados ao longo do tempo, em um intervalo de tempo bem definido.” significa dizer que os dados estão agrupados sequencialmente de acordo com a data da ocorrência que foram registrados e que a unidade de tempo na qual o dado foi registrado (diariamente, semanalmente, anualmente, etc…) seja mantida.

Vejamos agora um gráfico de uma Série Temporal e nele apontar as coisas que as definições tratam:

Gráfico do Ativo Financeiro do Itaú Unibanco de Agosto de 2011 até Agosto de 2013.

Observe que no eixo x (eixo horizontal) estão as datas que os dados (esses pontinhos azuis) foram registrados. Os pontinhos azuis é o que a definição 1 chama de x1, x2, x3, …, xn e no eixo y (eixo vertical) está os valores de um atributo desses dados que, no caso, é “Valores em R$”, que é o valor referente aos dados no qual estamos interessados em observar.

Esse último trecho da definição 1 que diz “Baseando-se em valores medidos e geralmente corrompidos por ruído, os valores de séries temporais geralmente contêm um componente de sinal determinístico e um componente estocástico representando a interferência de ruído que causa flutuações estatísticas em torno dos valores determinísticos.” está relacionado às características estatísticas um pouco menos triviais das Séries Temporais que definem diversos comportamentos que uma Série pode apresentar. Para um primeiro contato com o tema, não vamos nos ater a estes detalhes.

Propriedades das Séries Temporais

A depender da área de estudo, os livros que falam sobre Séries Temporais podem apresentar tais propriedades de forma e em ordem diferentes. Então, para sua melhor compreensão, resolvi agrupar as características em duas propriedades: tipo e comportamento.

Tipo

O tipo da série está relacionado a estrutura do seu dataset. Basicamente, as séries temporais podem ser agrupadas por dois tipos: séries univariadas e séries multivariadas.

Uma série temporal univariada contém somente um atributo representando o domínio do problema. Vê só um exemplo:

Dataset de uma série temporal univariada.

Por outro lado, uma série temporal multivariada consiste de vários atributos que representam um determinado domínio de um problema. Assim, ó:

Dataset de uma série temporal multivariada.

Comportamento

As Séries Temporais podem apresentar diversos comportamentos de acordo com algumas propriedades estatísticas que podem estar presentes e/ou ausentes nos dados. Dito isso, vamos apresentar as características que uma Série Temporal pode apresentar:

  • Estacionariedade
  • Linearidade
  • Tendência
  • Sazonalidade

Estacionariedade

A estacionariedade de uma Série Temporal é definida quando todos os valores da minha série variam em torno de uma média e essa média deve ser constante ao longo do tempo. Existem três elementos que caracterizam a estacionariedade de uma Série Temporal: média constante ao longo do tempo, variância constante ao longo do tempo e a covariância entre duas observações xt e xt-d dependem apenas da distância entre elas e que não mudem ao longo do tempo.

O gráfico de uma série estacionária tem essa aparência: os dados variando em torno de uma média constante, que nesse caso é 0, e entre 2 e -2.

Linearidade

Se você, leitor, já tem um know-how legal sobre Data Science e afins, deve saber que o objetivo de treinar um algoritmo é de conseguir extrair um modelo (que no fim das contas é uma função matemática) que melhor represente o comportamento dos dados no intuito de predizer novos valores com um grau de acurácia satisfatório. Se você não sabia disso, tá sabendo agora. 😄

A linearidade de uma série temporal indica que a sua forma depende do seu estado atual de modo que esse estado atual determine o modelo da série. Portanto, se uma série é linear, então ela pode ser representada por funções lineares de valores presentes e valores passados.

Tendência

A palavra tendência sempre será uma tendência (ba, dum, tss) quando queremos nos referir a algo que, dado um comportamento que foi observado durante algum tempo, podemos inferir que a tendência é que esse comportamento permaneça ou mude.

Em Séries Temporais a ideia de tendência segue o raciocínio acima. Quando vemos um gráfico de uma série onde os dados estão subindo, descendo ou estão constantes e com que velocidade esse comportamento muda, estamos enxergando uma tendência. Ou seja, estamos enxergando o seu comportamento a longo prazo. Os comportamentos mais comuns são: tendência constante, tendência linear e tendência quadrática.

Uma série temporal com tendência descendente.
Ilustração simples dos diferentes tipos de tendência.

Sazonalidade

Uma série temporal se apresenta com alguns padrões de comportamento. Um determinado padrão pode se repetir em épocas específicas ao longo do tempo e esse padrão é chamado de sazonaliade. A palavra sazonalidade vem do seu equivalente em inglês seasonality, que é derivada da palavra season, que é estação ou temporada em inglês.

Por exemplo: imagine um dataset da Heineken de venda de cerveja no Brasil. Nós sabemos que cerveja é uma bebida que é servida gelada (eu AMO cerveja ❤) e consumida em momentos de entretenimento e nas estações mais quentes do ano e entre dezembro e fevereiro, que geralmente é período festivo no país.

Logo, você pode imaginar um gráfico onde as vendas foram observadas por 5 anos, onde estamos visualizando os dados em intervalos anuais e notar que existe um pico de vendas entre dezembro e fevereiro e uma queda considerável nos períodos mais frios do ano.

Usei esse exemplo apenas para ilustrar como um comportamento sazonal se apresenta nos dados. Abaixo tem um gráfico de uma série sazonal referente a temperaturas mínimas diárias em Melbourne que reflete o comportamento citado no exemplo da cerveja:

O gráfico plota o tempo em um intervalo anual. Perceba o comportamento sazonal: observe que o desenho da série entre um ano e outro tem um formato de “V”, que mostra um pico de temperaturas altas entre o fim de um ano e começo do outro e uma queda de temperatura no meio do ano. Veja que o padrão sazonal se repete ao longo dos anos observados, evidenciando assim, a sazonalidade da série.

Recapitulando

O que aprendemos aqui:

  • Natureza dos dados (dados temporais e atemporais)
  • Definição de séries temporais
  • Propriedades e características de séries temporais (tipo e comportamento).

Considerações Finais

Essa foi minha primeira contribuição escrita no LICA e tô muito feliz por ter conseguido finalizar esse texto! Como disse no início, outros textos sobre séries temporais estão por vir, dessa vez com uma abordagem mais prática.

Vale dizer que não sou expert em Séries Temporais. Iniciei os estudo no LICA há poucos meses e, apesar de ser um ramo oriundo da Estatística, essa área é muito vasta e requer um bom tempo de estudo para entender cada vez mais sobre o tema.

Espero que você tenha compreendido essa introdução a Séries Temporais e que possa te ajudar a buscar mais fontes de informação sobre o assunto. Caso queira me procurar nas redes, é só procurar pelo nick lucasferreiraek no GitHub ou Twitter. Um abraço e até mais!

--

--

Lucas Ferreira
LICA
Editor for

Computer Science student at UFAL. Member of LICA. Software Engineering, Data Science and Computational Intelligence.