O que você precisa saber sobre séries temporais

Escrito por Mirla Borges
Publicada em 28/03/2022 · 419 visualizações

Você sabe o que são séries temporais? Sabia que lidamos o tempo todo com essas séries? E que, além disso, elas podem nos ajudar até a prever o futuro?

Alt text:  Gif de uma coruja branca que inicialmente de costas ela vira para frente de forma dramática com o bico e olhos completamente abertos.

Não? Então relaxa, que nesse artigo vou explicar tudo sobre séries temporais.

O que é uma série temporal?

De maneira bem simples, uma série temporal é qualquer conjunto de dados alocados de maneira sequencial durante um determinado período de tempo, ou seja, um dado que depende do fator tempo. Um exemplo bem comum de série temporal são os valores da temperatura de uma cidade coletados ao longo do tempo, como representado no gráfico de temperatura média ao longo de 10 dias da cidade de Delhi, na Índia:

Alt text: Imagem composta por uma tabela localizada no lado esquerdo da imagem e um gráfico linear no lado direito da imagem. A tabela é composta por 11 linhas e 2 colunas a primeira coluna tem o nome de data e 10 dados de datas que vão de 01/01/2017 até 10/01/2017 em cada linha, a segunda coluna tem o nome temperatura_media e contém valores de temperatura que variam de 19.31 e 12.11. O gráfico linear tem como título “Temperatura média ao longo do tempo” de forma que o eixo x tem os dados da coluna data da tabela à direita e leva a legenda “Dias”, o eixo y tem valores variando de 0 a 25 e a legenda “Temperatura média”.

Figura 01: Dados de temperatura média ao longo do tempo mostrados em tabela (à esquerda) e em gráfico de linha (à direita).

Além desse exemplo, existem várias aplicações bem comuns do nosso dia-a-dia, como as batidas do seu coração em um determinado período de tempo, contagem de infectados por COVID-19 ou influenza, dados de investimentos na bolsas de valores, consumo de energia elétrica de uma região, a variação do valor do real em comparação ao dólar e até o nível de crescimento de espigas de milho em uma fazenda também são classificados como séries temporais.

As séries temporais não se resumem apenas a esses conceitos, existem várias classificações e características presentes nas séries que são importantes de se conhecer.

Classificação e propriedades de séries temporais

É possível classificar as séries temporais em determinísticas, estocásticas e caóticas. Uma série determinística não contém aleatoriedade em sua estrutura, ela depende apenas do tempo e, por conta disso, seus valores futuros podem ser determinados. A série estocástica já contém um componente aleatório, o que a faz ter um certo comportamento inesperado e irregular com a presença de um ruído aleatório. Em alternativa, séries caóticas são como as séries estocásticas mas com a existência de uma influência não-linear entre as variáveis do sistema determinístico subjacente, elas são um tipo de série que é baseada a partir de uma equação matemática e por isso, é possível que sejam determinados seus componentes futuros.

As séries temporais também carregam propriedades estatísticas que podem ou não estarem contidas ou serem facilmente percebidas no estudo da série. Entre essas características, estão a tendência, a periodicidade, a sazonalidade, a autocorrelação e o componente aleatório. A tendência é definida como um crescimento ou um decrescimento ao longo de um período de tempo. A periodicidade indica que a série mantém períodos regulares definidos dentro de sua tendência. A sazonalidade são padrões regulares presentes no comportamento da série, ou seja, é uma variação que ocorre em uma frequência fixa. A autocorrelação indica o quanto duas observações em uma mesma série estão linearmente relacionadas. E o componente aleatório é o resíduo aleatório que a série pode conter.

Alt text: Gif de um gráfico linear sendo continuado em uma tela. O gráfico linear contém o ano de 1997, 2001 e posteriormente 2005, representando a variação dos valores financeiros de um banco ao longo dos anos.

Além de uma classificação de nível de aleatoriedade, temos também uma classificação por convergência, classificando as séries em estacionárias e não estacionárias. A série estacionária se caracteriza por ser uma série convergente, ela tem média constante durante o tempo e não existem tendências altas ou baixas. Já a série não estacionária é o contrário, ou seja, ela se caracteriza por ser uma série divergente e existem variações de tendências.

Em séries estacionárias, a tendência e a autocorrelação são constantes ao longo do tempo e em séries não estacionárias, essas propriedades variam. Dependendo da aplicação, as variações de uma série não estacionária são interessantes de existirem, no entanto, na modelagem preditiva é necessário verificar se essas propriedades estatísticas são constantes. Uma melhor explicação sobre os pontos acima explicados podem ser estudados no artigo Princípios básicos para criar previsões de Séries Temporais do Leandro Rabelo.

Séries temporais e Machine Learning

O estudo de séries temporais pode ser feito por várias ciências, mas a Ciência de Dados (Data Science) é uma das áreas que mais estuda e se utiliza de séries temporais. As aplicações vão desde o estudo do comportamento da série e quais as implicações que ela pode trazer, até a construção de modelos de Machine Learning que podem gerar várias conclusões e classificações.

Em Data Science, ao se iniciar os estudos de séries temporais, dois tipos de séries são utilizadas: séries temporais univariadas e séries temporais multivariadas. As séries temporais univariadas são séries com apenas uma variável em função do tempo, é o exemplo mostrado anteriormente da temperatura ao longo do tempo, que apenas uma variável (a temperatura) está em função do tempo.

Já as séries temporais multivariadas como pode ser esperado, tem mais de uma variável em função do tempo. Como exemplo, imagine o caso que além de temperatura média ao longo dos dias, existe também a velocidade do vento e um nível de umidade. Nesse caso, existem três variáveis em função do tempo na série temporal:

Alt text: Imagem composta por uma tabela localizada no lado esquerdo da imagem e um gráfico linear com várias linhas no lado direito da imagem. A tabela é composta por 11 linhas e 4 colunas a primeira coluna tem o nome de data e 10 dados de datas que vão de 01/01/2017 até 10/01/2017 em cada linha, a segunda coluna tem o nome temperatra_media e contém valores de temperatura que variam de 19.31 e 12.11, a terceira coluna tem o nome umidade com valores que variam de 70.05 e 95.83 e a terceira coluna tem o nome velocidade_vento com valores que variam de 2.74 e 10.04. O gráfico linear tem como título “Serie temporal Multivariada” de forma que o eixo x tem os dados da coluna data da tabela à direita e leva a legenda “Dias”, o eixo y tem valores variando de 0 a 120. A a figura do gráfico contém 3 curvas dentro da área de plotagem, a primeira curva é laranja fica mais acima, tem a legenda de umidade e representa os valores da coluna umidade da tabela, a segunda curva é azul fica abaixo da curva da umidade, tem a legenda de temperatura_media e representa os valores da coluna temperatra_media da tabela e a terceira curva é cinza fica mais abaixo, tem a legenda de velocidade_vento e representa os valores da coluna velocidade_vento da tabela.

Figura 02: Dados de temperatura média, umidade e velocidade do vento ao longo do tempo mostrados em tabela (à esquerda) e em gráfico de linha (à direita).

As séries temporais podem ser utilizadas em aplicação de vários modelos de Machine Learning como classificação, clustering e o mais utilizado, previsão.

Classificação

O modelo de classificação é um algoritmo que busca predizer a identificação de um determinado conjunto de dados. Séries temporais de exames como encefalograma são utilizadas para classificar o resultado para um laudo, a forma do sinal pode indicar problemas como epilepsia, doença do sono, edema cerebral, dentre outros problemas.

Alt text: Imagem de um encefalograma representado por 18 gráficos lineares oscilando entre várias frequências organizadas em 18 gráficos organizados verticalmente que variam entre os tons de vermelho, tons de laranja, roxo, azul e verde de cima para baixo. Não é possivel definir os valores do eixo y e o eixo x tem valores de alguns segundos variando de 08:42:10 segundos até 08:12:19 segundos.

Figura 03: Gráfico de um exame de eletroencefalograma. Fonte: neurologie.

Outro exame também comumente utilizado para a classificação é o eletrocardiograma que o modelo pode identificar problemas como infarto no miocárdio, problemas nas válvulas do coração, dentre outros. Além desses exames, outras ondas sonoras, como sons de maquinários e animais, também são utilizadas em modelos de classificação.

Clustering

O clustering é um tipo de modelo Machine Learning que agrupa os dados segundo características semelhantes. A séries temporais nesse caso, normalmente, são agrupadas em clusters pela características de suas ondas, como no exemplo abaixo, os tipos de clusters k-means agruparam as séries temporais em 3 grupos.

Alt text: Imagem composta por 9 gráficos organizados em uma grade de 3 colunas e 3 linhas. A primeira linha de gráficos tem o título Euclidean k-means na parte superior e os três gráficos abaixo tem os títulos Cluster 1 no primeiro gráfico, Cluster 2  no segundo e Cluster 3 no terceiro, todos os gráficos variam de 2.5 até -2.5 e representam o agrupamento de vários tipos de ondas. A segunda linha de gráficos tem o título DBA k-means na parte superior e os três gráficos abaixo têm a mesma estrutura dos gráficos acima e a terceira linha de gráficos tem o título Soft-DTW k-means na parte superior e os três gráficos abaixo têm a mesma estrutura dos gráficos acima.

Figura 04: Clustering de ondas sonoras de motor de carro a depender do tipo de modelo para k-means. Fonte: tslearn

Essa técnica também é utilizada em séries temporais de músicas para promover o agrupamento.

Previsão

A aplicação de séries temporais em previsão é bem mais comum que as aplicações apresentadas anteriormente. O método da previsão, como o nome já diz, permite prever os próximos passos de uma série. Essa aplicação é muito observada no mercado financeiro para prever as próximas tendências do mercado como a variação do dólar ou os investimentos na bolsa de valores. Um exemplo desse modelo em uma série temporal é a previsão da continuação da série a partir do ano de 1960.

Alt text: Gráfico linear de uma série temporal, o eixo x os parâmetros variam de 1940 até 1970 com a legenda “tempo” e no eixo y os valores variam de 2.5 até -1.5. Na plotagem existem 2 gráficos na figura, o primeiro gráfico é azul e inicia no ponto de 1940 e para em 1960 e leva o nome de “Série” e em seguida inicia o outro gráfico que termina em 1970 e leva o nome “Predicao”.

Figura 05: Gráfico de uma série temporal de vendas com os dados reais e previstos.

Conclusão

Séries temporais são um conteúdo simples, principalmente por que ele já está incluído no nosso dia-a-dia. As características e classificações das séries permitem que elas sejam muito utilizadas em modelos de Machine Learning, como classificação, agrupamentos e previsão.

A análise de séries temporais permite que possamos prever e classificar dados úteis a partir dos padrões encontrados na rede. Existem outras várias formas de estudar séries temporais e suas aplicações de que podem ser encontradas em artigos, livros e plataformas de ensino que acredito que podem trazer muito conhecimento adicional.

Universidade Federal do Piauí
Departamento de Engenharia Elétrica
Sigam-nos no Instagram
@petpotencia