FundamentalNão exige conhecimento prévio de aprendizado de máquina
O passado e o futuro
Em aprendizado de máquina, não faltam problemas que envolvem séries temporais. Neles, a ordem dos dados importa: observações feitas em momentos diferentes podem estar relacionadas. Isso difere dos dados transversais convencionais, nos quais cada ponto costuma ser tratado como independente dos demais.
Embora conjuntos de dados de séries temporais possam conter várias características, como outros conjuntos usados em aprendizado de máquina, é comum começar por uma única sequência de valores observados em uma frequência fixa. Um exemplo é a temperatura média diária ao longo de um ano.
Temperatura média diária a 2 metros de altura na cidade de Nova York em 2023. Fonte: dados meteorológicos do NASA POWER, derivados do MERRA-2.
A maioria das séries temporais pode ser visualizada, e essas visualizações muitas vezes revelam padrões claros. Pode haver uma tendência, que indica a direção geral em que os valores se movem. Às vezes, a série cresce ou diminui com o tempo; em outros casos, permanece em torno de uma média aproximadamente constante.
Uma série também pode conter sazonalidade: padrões que se repetem em intervalos regulares. Movimentos sazonais semanais, por exemplo, são comuns em dados de vendas porque o comportamento do consumidor costuma mudar de maneira sistemática entre os dias da semana.
Unidades vendidas diariamente pela loja Walmart CA_1, somadas entre todos os produtos. Fonte: conjunto de dados M5 Forecasting, publicado pela Universidade de Nicósia no Zenodo.
Em muitos casos, como no exemplo acima, conseguimos fazer mais do que identificar esses padrões. Nossa mente consegue projetá-los naturalmente no futuro. Quando tendências e sazonalidades são claras, fazer uma previsão pode parecer apenas “continuar a linha”.
O aprendizado de máquina oferece muitos métodos para automatizar essa tarefa. Antes de pensar em como as observações futuras se relacionam com o presente, porém, vale examinar como as observações que já temos se relacionam com o próprio passado.
Se entendermos como valores anteriores influenciam — ou pelo menos fornecem informação sobre — o presente, poderemos encontrar pistas importantes sobre como o estado atual da série se relaciona com seu futuro. Este artigo se concentra em duas técnicas criadas para revelar essas relações temporais.
Dispersando o tempo
Gráficos de dispersão e correlação
Uma técnica básica para encontrar relações nos dados é o gráfico de dispersão. Escolhemos duas características de um conjunto de dados — normalmente numéricas — e traçamos seus valores em um plano x-y.
Considere, por exemplo, um conjunto de dados com a altura e o peso de várias pessoas.
Altura em pé e peso dos 2.830 participantes do NHANES 2017–2018 entre 2 e 19 anos que tinham as duas medidas; amostra sem ponderação. Correlação de Pearson: 0,85. Fonte: CDC/NCHS NHANES Body Measures.
Podemos ver que as duas características têm uma relação aproximadamente linear. Pessoas mais altas tendem, em média, a pesar mais. Portanto, as duas características são positivamente correlacionadas. Neste exemplo, a correlação entre elas é 0,85.
A correlação mede como duas características tendem a variar juntas.
Correlação positiva: quando uma aumenta, a outra tende a aumentar.
Correlação negativa: quando uma aumenta, a outra tende a diminuir.
Ausência de correlação: conhecer uma característica fornece pouca informação sobre a direção da outra.
A fórmula é relativamente simples. Ela recebe duas características e retorna um número entre −1 e 1. Neste artigo, usaremos a seguinte notação:
Aqui, xˉ e yˉ são as médias das duas características.
Uma consequência simples, mas poderosa, da correlação muitas vezes passa despercebida. Independentemente de uma característica causar ou não a outra, uma relação suficientemente forte ainda pode conter informação preditiva.
No exemplo de altura e peso, se observarmos apenas a altura de uma pessoa, não conseguiremos determinar seu peso exato. No entanto, poderemos estimar seu peso esperado de maneira mais informada do que conseguiríamos sem conhecer sua altura.
O mesmo princípio vale para séries temporais. Se valores passados estiverem correlacionados com valores posteriores, observar o presente poderá nos dar informação sobre como a série provavelmente evoluirá. A correlação não garante o futuro, mas revela se o passado mantém com ele uma relação mensurável.
Correlação temporal
O tipo de série temporal simples discutido aqui pode ser representado como uma sequência de valores indexados de 1 a T:
x1,x2,x3,…,xT
Para investigar como o passado se relaciona com o futuro, podemos reorganizar essa sequência em pares de observações vizinhas.
Percorremos a série e coletamos cada par
(Xt,Xt+1),
começando por (X1,X2) e continuando até (XT−1,XT).
No lag 1, cada valor de vendas se torna Xt, e o dia seguinte se torna Xt+1. Os valores da tabela são arredondados para exibição; os cálculos usam a precisão completa.
Agora temos um conjunto de dados com duas características numéricas. Podemos colocar Xt no eixo horizontal e Xt+1 no eixo vertical.
Cada ponto é um par de dias adjacentes da série de vendas diárias em unidades da loja Walmart CA_1. Correlação de Pearson: 0,51. Fonte: conjunto de dados M5 Forecasting.
Como antes, as características parecem correlacionadas porque os pontos se concentram em torno de uma reta. Se calcularmos a correlação entre elas, obteremos 0,51.
A diferença é que não se trata de duas variáveis distintas, como altura e peso. São duas versões deslocadas da mesma variável: uma contém o valor no instante t, enquanto a outra contém o valor observado um passo depois.
Portanto, estamos medindo se valores altos tendem a ser seguidos por valores altos, se valores baixos tendem a ser seguidos por valores baixos ou se observações consecutivas têm pouca relação linear.
Mais lags
Em vez de combinar Xt com Xt+1, podemos combiná-lo com Xt+n, em que n é um número inteiro que representa um lag, ou defasagem.
Um lag descreve a distância entre duas observações da série.
Quando n=1, comparamos observações separadas por um passo no tempo:
(Xt,Xt+1).
Quando n=2, comparamos observações separadas por dois passos no tempo:
(Xt,Xt+2).
Percorremos a série como antes, mas agora as observações do par estão separadas por um valor intermediário.
No lag 2, cada valor de vendas se torna Xt, e o valor de dois dias depois se torna Xt+2. O valor entre eles é ignorado.
Isso produz um novo gráfico de dispersão e um novo valor de correlação.
Cada ponto combina as vendas em unidades de um dia da loja Walmart CA_1 com o valor de dois dias depois. Correlação de Pearson: −0,20. Fonte: conjunto de dados M5 Forecasting.
Podemos repetir esse processo para muitos lags. A partir do lag 1, calculamos a correlação entre observações separadas por dois passos, três passos, quatro passos e assim por diante.
Em princípio, podemos continuar até que o conjunto de dados não permita formar outro par. Na prática, costumamos parar antes, quando restam poucos dados nos lags seguintes ou quando eles deixam de ser relevantes para o problema.
Toda série temporal é finita. Para uma série com T observações, calcular a correlação no lag n exige pares da forma
(Xt,Xt+n).
A segunda observação só existe quando
t+n≤T.
Portanto,
t≤T−n.
No lag n, apenas T−n pares estão disponíveis. À medida que o lag aumenta, restam menos observações para estimar a correlação. Por isso, correlações em lags muito grandes se baseiam em menos dados e, em geral, são mais incertas.
Agora vamos executar esse processo diretamente. Na visualização a seguir, você verá a série temporal de vendas que analisamos e escolherá o lag usado no cálculo.
Você começará no lag 1. Toda vez que aumentar o lag, a série será varrida novamente, e um novo gráfico de dispersão será construído com os pares resultantes.
À direita, um gráfico de barras resumirá os resultados. O eixo horizontal representará o lag, enquanto o eixo vertical mostrará a correlação calculada naquele lag.
Execute a simulação e observe se aparece algum padrão interessante.
Vendas ao longo do tempoPar 0 de 89
Pares no lag 1r = —
Cada ponto posiciona o valor em t na horizontal e o valor em t + 1 na vertical.
Correlação por lag0 concluídos
O lag 1 combina cada observação com o valor 1 passo adiante. Arraste a varredura ou execute-a.
Lag 1, 0 de 89 pares varridos, correlação —.
Depois de concluir a simulação, você percebeu que o lag 7 tem correlação maior do que vários lags intermediários?
Isso nos diz que observações separadas por sete passos no tempo tendem a ter uma relação linear mais forte do que observações separadas por alguns intervalos menores. Não significa necessariamente que o valor de sete passos atrás cause diretamente o valor atual. Significa que conhecer uma dessas observações fornece informação relativamente forte sobre a outra.
Para dados de vendas diárias, esse resultado não surpreende. Uma distância de sete observações corresponde a uma semana, e os mesmos dias de semanas consecutivas costumam apresentar comportamentos de compra semelhantes. Segundas-feiras podem se parecer mais com outras segundas-feiras do que com as terças-feiras imediatamente seguintes.
A visualização talvez já tenha sugerido esse padrão semanal. Agora, o cálculo da correlação o confirma numericamente e quantifica sua intensidade.
Todo esse processo se chama autocorrelação. O prefixo auto indica que a série está sendo correlacionada com uma versão deslocada dela mesma.
Para o lag n, podemos escrever:
ACF(n)=Corr(Xt,Xt+n).
De maneira mais explícita, usando o mesmo cálculo de Pearson do playground, sejam xˉesquerda e xˉdireita as médias das duas sequências sobrepostas. Então, a autocorrelação amostral no lag n é
Aqui, a sequência da esquerda é x1,…,xT−n, e a da direita é x1+n,…,xT. Portanto, a fórmula é a correlação comum aplicada às duas colunas deslocadas construídas pela varredura.
O conjunto das autocorrelações calculadas para vários lags recebe o nome de função de autocorrelação, ou ACF.
A visualização oferece uma intuição de como a ACF é construída: desloque a série pelo lag escolhido, forme pares com as observações sobrepostas, meça a correlação entre elas e repita o processo para outros lags.
As influências indiretas
Até aqui, usamos a função de autocorrelação para medir a correlação entre Xt e Xt+n para diferentes valores de n.
Em muitos processos de séries temporais, porém, as relações se propagam pelas observações intermediárias. Considere três valores consecutivos:
Xt,Xt+1,Xt+2.
Se Xt ajuda a determinar Xt+1, e Xt+1 ajuda a determinar Xt+2, então parte da relação entre Xt e Xt+2 pode ser transmitida por Xt+1.
Isso não significa que a correlação seja sempre transitiva. Em geral, saber que dois pares de variáveis são correlacionados não basta para garantir que o par restante também seja. No entanto, em um processo temporal recursivo, observações anteriores podem afetar observações posteriores por meio dos valores que existem entre elas.
A autocorrelação no lag 1,
ACF(1)=Corr(Xt,Xt+1),
mede a relação entre observações consecutivas.
A autocorrelação no lag 2,
ACF(2)=Corr(Xt,Xt+2),
mede a relação total entre observações separadas por dois passos. Ela não distingue uma relação específica do lag 2 de outra que tenha se propagado por Xt+1.
Isso levanta uma pergunta importante. Se Xt se relaciona com Xt+1, que por sua vez se relaciona com Xt+2, quanto de ACF(2) representa uma relação exclusiva do lag 2? Será que estamos medindo em parte uma informação que já apareceu no lag 1?
A resposta é sim. A ACF mede a relação linear completa entre duas observações a uma determinada distância. Ela não separa relações transmitidas por observações intermediárias das relações que permanecem depois que esses valores intermediários são levados em conta.
Podemos enxergar isso com clareza construindo uma série temporal sintética simples com apenas um lag definido explicitamente:
Xt+1=0,8Xt+εt+1,
em que cada εt+1 é amostrado de maneira independente de uma distribuição gaussiana. Inicializaremos a série com X1=1, multiplicaremos o valor mais recente por 0,8, somaremos um novo termo de erro e repetiremos o processo.
Construa a série1 de 160 observações
Observação 1 de 160. Valor atual 1,00.
Embora a equação contenha apenas Xt, seu efeito se propaga para além da observação seguinte. Substituir a primeira equação na etapa posterior resulta em
Não há um termo Xt separado na equação original para prever dois passos adiante. Mesmo assim, a influência de Xt chega a Xt+2 por meio de Xt+1.
A mesma propagação continua em outros lags:
Xt+n=0,8nXt+termos de erro acumulados.
Série AR(1) sintéticaPar 0 de 159
Pares no lag 1r = —
Cada ponto posiciona o valor em t na horizontal e o valor em t + 1 na vertical.
Correlação por lag0 concluídos
O lag 1 combina cada observação com o valor 1 passo adiante. Arraste a varredura ou execute-a.
Lag 1, 0 de 159 pares varridos, correlação —.
Depois de executar a visualização, observe que a ACF não desaparece após o lag 1. Embora tenhamos definido apenas uma relação direta de um passo, ainda há autocorrelações relevantes nos lags 2, 3 e seguintes.
Para um processo estacionário dessa forma, a autocorrelação da população segue
ρ(n)=0,8n.
Portanto,
ρ(1)=0,8,ρ(2)=0,82=0,64,
e
ρ(3)=0,83=0,512.
Em uma amostra finita e ruidosa, os valores medidos não serão exatamente iguais a esses números, mas deverão ficar razoavelmente próximos quando a série for longa o bastante.
Esse decaimento revela como a relação de um passo se propaga ao longo do tempo. A ACF no lag 2 contém a relação transmitida pelo lag 1; a ACF no lag 3 contém relações transmitidas pelas observações anteriores; e o mesmo padrão continua nos lags posteriores.
Agora que sabemos que a ACF combina relações diretas e propagadas, surge uma nova pergunta:
Podemos isolar a relação associada a um lag específico depois de remover as relações transmitidas pelos valores intermediários?
Removendo a influência
Para separar relações diretas das relações transmitidas ao longo do tempo, precisamos de mais uma ideia familiar do aprendizado de máquina: o resíduo.
Suponha que um modelo linear prediga Yt a partir de um conjunto de características:
Yt=β0+β1X1,t+⋯+βpXp,t+εt.
Depois de ajustar o modelo, obtemos uma previsão Yt. A diferença entre o valor observado e o valor previsto pelo modelo é o resíduo:
et=Yt−Yt.
Isso nos permite separar uma observação em dois componentes:
Yt=explicado pelo modeloYt+na˜o explicado pelo modeloet.
Aqui, “não explicado” não significa aleatório nem impossível de compreender. Significa apenas que o modelo não capturou essa parte usando os preditores que fornecemos. O resíduo é útil porque nos deixa conservar aquilo que sobra depois que esses preditores fazem seu trabalho.
Antes de generalizar essa ideia, considere uma janela de lag 2 da série sintética acima. Suas três observações, arredondadas para exibição, são
XtXt+1Xt+2=0,14,=−0,03,=−0,27.
Em todas as janelas disponíveis no lag 2, ajustamos um modelo que usa o valor intermediário para predizer o extremo esquerdo e outro que o usa para predizer o extremo direito. Para esta janela, esses modelos predizem −0,09 à esquerda e −0,08 à direita. Portanto, os resíduos são
Essa janela acrescenta o ponto (0,23,−0,19) ao gráfico de dispersão dos resíduos. Os extremos originais não entram diretamente no gráfico. Restam apenas as partes que a observação intermediária não conseguiu predizer.
Voltemos agora a duas observações separadas por n passos: Xt e Xt+n. Entre elas estão as observações
Xt+1,Xt+2,…,Xt+n−1.
Esses valores intermediários são precisamente o caminho pelo qual uma observação anterior pode ecoar em uma posterior. Por isso, damos a eles uma tarefa: predizer os dois extremos.
Para uma janela da série, reúna as observações intermediárias em um vetor de características:
Mt=(Xt+1,Xt+2,…,Xt+n−1).
Use o mesmo vetor em dois modelos lineares. Um prediz o extremo à esquerda,
Xt=f(Mt),
e o outro prediz o extremo à direita:
Xt+n=g(Mt).
Agora subtraia cada previsão do extremo observado correspondente:
rtesquerda=Xt−Xt,rtdireita=Xt+n−Xt+n.
Cada janela nos dá um par de resíduos. O par contém o que os valores intermediários não conseguiram predizer à esquerda e o que não conseguiram predizer à direita. São esses resíduos — e não as observações originais — que colocamos no gráfico de dispersão.
Deslize a janela adiante e repita. À medida que os valores intermediários destacados percorrem a série, cada posição acrescenta um par de resíduos. A correlação entre eles é
Corr(rtesquerda,rtdireita).
Se os resíduos ainda se alinharem, os extremos conservam uma relação linear que as observações entre eles não explicaram. Se a nuvem perder sua direção, a relação aparente era transmitida principalmente pelos valores intermediários.
Antes da varredura
O que deve restar depois do lag 1?
A ACF da nossa série sintética permaneceu alta nos lags 2 e 3, embora o processo tenha sido definido apenas por uma relação de um passo. Preveja o que acontecerá depois que as observações intermediárias puderem explicar os dois extremos.
Os valores intermediários predizem os dois extremosJanela 0 de 159 · 0 valores intermediários
Pares de resíduos no lag 1r parcial = —
Somente o que os valores intermediários não conseguiram predizer entra neste gráfico de dispersão.
Correlação parcial por lag0 concluídos
O lag 1 não tem observações intermediárias para remover. Varra-o primeiro para criar uma referência.
Lag 1, 0 de 159 janelas varridas, correlação parcial —.
No lag 1, não há observação intermediária para remover. Por isso, o gráfico de dispersão dos resíduos preserva a mesma relação que vimos na ACF, e a correlação parcial permanece próxima de 0,8.
No lag 2, a faixa móvel contém Xt+1. Depois que esse valor intermediário é usado para predizer Xt e Xt+2, a nuvem de resíduos perde quase toda a inclinação. A barra cai para perto de zero. Os lags posteriores se comportam de maneira semelhante nesta série.
Essa é a distinção que procurávamos. A ACF mostrou que uma relação alcança vários passos no tempo. A varredura dos resíduos revela que a maior parte dessa relação posterior percorre as observações intermediárias.
A relação que resta é a autocorrelação parcial no lag n:
PACF(n)=Corr(rtesquerda,rtdireita),
em que os dois resíduos vêm de previsões feitas com as observações intermediárias
Xt+1,…,Xt+n−1.
Agora, as duas funções respondem a perguntas relacionadas, porém diferentes.
A ACF pergunta:
Qual é a correlação entre duas observações separadas por n passos no tempo?
A PACF faz uma pergunta mais específica:
Qual é a correlação entre essas observações depois de remover as relações lineares explicadas por tudo o que existe entre elas?
No lag 1, não há observações intermediárias para remover. Portanto,
PACF(1)=ACF(1).
Para lags maiores, a distinção importa. A ACF enxerga a relação completa através do intervalo. A PACF pergunta quanto dessa relação sobrevive depois que o caminho pelos valores intermediários é removido.
Lendo os ecos
Agora podemos ler a ACF e a PACF como duas visões da mesma memória temporal.
A ACF mostra como a dependência se propaga. Se uma informação entra na série em certo ponto e é carregada adiante por observações posteriores, seu eco pode permanecer visível por vários lags. Uma ACF que decai lentamente sugere que essa informação persiste. Picos que retornam em distâncias regulares podem revelar sazonalidade. Uma ACF próxima de zero depois de uma distância curta sugere que o eco linear não viaja muito longe.
Esse é o ponto forte da ACF: ela mostra a relação total em cada intervalo. Sua limitação é não separar uma relação que pertence ao lag n de outra que apenas chegou até ali pelos lags intermediários.
A PACF procura a relação acrescentada por um lag específico. Uma autocorrelação parcial alta no lag n indica que esse lag ainda contribui com informação linear depois que os lags intermediários são levados em conta. Nesse sentido, a PACF costuma oferecer uma visão mais clara quando queremos identificar relações individuais entre lags.
Essa diferença se torna útil ao diagnosticar duas famílias clássicas de modelos de séries temporais.
Um modelo autorregressivo, ou modelo AR, prediz o presente a partir de valores anteriores da mesma série. Como um valor influencia o seguinte e essa influência pode continuar adiante, sua ACF costuma se dissipar aos poucos. A PACF pode apresentar um ponto de corte mais claro depois dos lags usados diretamente pelo modelo.
Um modelo de médias móveis, ou modelo MA, constrói cada valor a partir dos choques aleatórios atual e recentes. Aqui, “médias móveis” nomeia um modelo probabilístico; não é o suavizador por média móvel frequentemente usado em gráficos. Como apenas um conjunto limitado de choques se sobrepõe entre as observações, a ACF pode mostrar o ponto de corte mais nítido, enquanto a PACF se dissipa aos poucos.
Padrões idealizados da população para processos AR(1) e MA(1). Estimativas de uma amostra finita serão mais ruidosas e raramente pararão exatamente em zero.
Tente sem os rótulos
Com qual família esse padrão se parece?
Imagine uma série desconhecida cuja ACF se dissipa gradualmente ao longo de vários lags, enquanto a PACF tem um pico claro e depois cai para perto de zero. Essa evidência é mais compatível com um processo semelhante a AR ou a MA? Que característica dos dois gráficos sustenta sua resposta?
Essa é a pista clássica de um processo semelhante a AR: a ACF carrega adiante a relação propagada, enquanto a PACF isola o primeiro lag como a principal relação individual. Se a ACF tivesse um corte claro e a PACF se dissipasse, o padrão seria mais compatível com um processo semelhante a MA.
Esses padrões são pistas, não regras automáticas de seleção de modelos. Séries reais podem combinar comportamentos autorregressivos e de médias móveis, conter tendências ou sazonalidades, mudar ao longo do tempo ou produzir picos isolados por ruído amostral. Os gráficos ajudam a formular uma hipótese; a validação e o conhecimento do domínio ainda determinam se essa hipótese é útil.
O valor diagnóstico das duas funções também vai além dos modelos AR e MA clássicos. Antes da modelagem, a ACF pode revelar persistência e distâncias sazonais recorrentes, enquanto a PACF pode sugerir quais lags individuais merecem mais atenção. Depois da modelagem, as duas funções podem ser aplicadas aos resíduos. Se ainda houver correlações fortes, o modelo deixou parte da estrutura temporal sem explicação.
Isso continua útil mesmo quando o modelo final de previsão é um modelo de espaço de estados, um sistema baseado em árvores ou uma rede neural. ACF e PACF são maneiras compactas de perguntar se o passado ainda deixa um sinal linear detectável — e se esse sinal se propaga pela série ou se concentra em lags específicos.
Guarde a menor distinção útil
A ACF acompanha o eco ao longo do tempo. A PACF pergunta qual lag ainda fala depois que as observações intermediárias são levadas em conta.
Uma ideia difícil por semana
Receba a Aflora no seu e-mail.
Um artigo visual, o experimento principal e uma pergunta para levar com você. Confirmação em duas etapas; você pode sair quando quiser.
A medição é opcional.
Com sua permissão, a Aflora registra páginas vistas, tempo de leitura ativo, progresso e uso dos laboratórios. Não gravamos textos digitados, endereço de rede ou replay da sessão. Ver detalhes de privacidade.