Parte II — Análise Preditiva · Cap. 24

Séries Temporais

Prever o futuro sem trapacear com ele.

◐ essencial🕒 estado da arte 2026-08revisão 2026-08-10📖 ~14 min de leitura🎯 3 exercícios⬇ md

Objetivos de aprendizagem

  • O1. Decompor uma série em tendência, sazonalidade e resíduo.
  • O2. Aplicar validação com origem móvel, e explicar por que k-fold embaralhado é inválido aqui.
  • O3. Comparar uma previsão contra a linha de base ingênua correta.
  • O4. Reconhecer quando um problema temporal pode ser tratado como tabular.

O problema: o futuro vaza pela divisão

Um analista prevê a demanda mensal de um centro de distribuição. Carrega cinco anos de histórico, chama train_test_split com shuffle=True, treina, mede: erro 4%. Excelente. Sobe para produção. No primeiro mês, erra 22%.

Nada quebrou. O experimento é que estava errado — e de um jeito invisível. Ao embaralhar, ele pôs dezembro de 2025 no treino e junho de 2025 no teste: o modelo previu junho sabendo o que aconteceu em dezembro. Em produção esse conhecimento não existe, porque dezembro ainda não aconteceu.

É o vazamento do capítulo 02 na sua forma mais fácil de cometer e mais difícil de perceber. A divisão aleatória — a coisa certa a fazer em quase todo o resto do livro — aqui é exatamente o defeito, e não deixa rastro: nenhum aviso, nenhuma exceção, nenhum número absurdo. Só uma métrica boa demais que ninguém questiona, porque métrica boa é o que todo mundo estava esperando. Este capítulo é sobre o que muda quando os dados têm ordem.

De onde isto veio

O aperto. 1927. As manchas solares oscilam com regularidade aparente, e a estatística da época tem uma explicação pronta para qualquer periodicidade: existe um ciclo determinístico oculto na natureza, e o que borra a curva é o erro de medição do instrumento. George Udny Yule desconfia dessa divisão de trabalho. E se o ruído não estiver na medição, mas no próprio sistema?

O que se fazia antes. Análise harmônica: decompor a série em senos e cossenos, à procura dos períodos escondidos. O método pressupõe a resposta — se você procura período fixo, você acha algum.

A virada. Modelar o valor de hoje como função dos valores anteriores mais uma perturbação aleatória. É o autorregressivo. A metáfora de Yule diz tudo sem uma linha de notação: um pêndulo que leva pancadas aleatórias oscila — mas sem período fixo. Ele parece cíclico e não é. A regularidade não vem de um relógio escondido; vem da inércia do próprio sistema, que carrega para a frente cada empurrão que recebe.

A ideia reaproveitável. O acaso pode estar dentro do mecanismo, não só no instrumento. Trocar "sinal limpo + erro de leitura" por "sistema que é ele mesmo ruidoso" muda o que você procura: em vez de caçar o período verdadeiro, você estima quanto do passado sobrevive no presente. É uma troca de pergunta, não de técnica — e serve muito além de séries temporais. Sempre que um modelo não fecha, vale perguntar se o erro está no medidor ou na sua ideia do que está sendo medido.

O nome. ARIMA = AutoRegressive Integrated Moving Average — as três peças do procedimento, no acrônimo. O "AR" é Yule; o "I" é a diferenciação; o "MA" é a memória curta dos choques.

Repare no relógio: 43 anos

Yule publica a autorregressão em 1927. O procedimento que qualquer pessoa consegue seguir — identificar → estimar → diagnosticar — chega em 1970, com Box & Jenkins. Quarenta e três anos entre a ideia e a ferramenta.

É o formato padrão deste livro: 1962→1977 no capítulo 21, 1943→1958 no 18, 1931→1974 no 01 — também 43 anos.

Mas o capítulo 07 traz a exceção que explica a regra: no boosting foram sete anos. Pergunta em 1988, resposta em 1990, algoritmo em 1995. Por quê tão rápido? Porque ali o aperto já estava formulado como pergunta formal precisa — "um aprendiz fraco pode ser transformado num forte?" — com os dois lados definidos o bastante para alguém responder sim ou não.

O gargalo nunca é o tempo nem o computador. É a precisão da pergunta. Yule tinha uma intuição excelente e vaga; Kearns e Valiant tinham um enunciado. Quarenta e três anos contra sete.

Procedência das afirmações desta seção:

Selo Afirmação
O aperto de 1927 (o ruído no sistema e não na medição), a análise harmônica como prática anterior e a metáfora do pêndulo que leva pancadas
✓ᵐ Yule, On a Method of Investigating Periodicities in Disturbed Series, with Special Reference to Wolfer's Sunspot Numbers, Phil. Trans. Royal Society A, 226, 267–298 (1927) — primeira aplicação de autorregressão, com defasagem 2. Localizado e identificado; não lido
✓ᵐ Box & Jenkins, Time Series Analysis: Forecasting and Control (Holden-Day, 1970), e o acrônimo ARIMA. Localizado e identificado; não lido
📖 A ideia reaproveitável, e a leitura do relógio — os 43 anos, o paralelo com os capítulos 21, 18 e 01, e o contraste com os sete anos do 07

Fundamentos: o que muda quando existe tempo

Uma série é uma sequência de observações ordenadas, e a ordem é informação. Quatro componentes convivem em quase toda série real:

Componente O que é Como se reconhece
Tendência movimento de longo prazo a média muda de nível ao longo do período
Sazonalidade padrão de período fixo e conhecido mês, dia da semana, hora do dia
Ciclo oscilação de período variável dura anos, não fecha em calendário
Ruído o que sobra sem estrutura aproveitável

A distinção entre sazonalidade e ciclo é a herança direta de Yule, e é a mais confundida. Sazonalidade tem calendário: dezembro é dezembro. Ciclo não tem — é o pêndulo levando pancadas, e prever quando ele vira é bem mais difícil do que prever dezembro. Antes de qualquer modelo, desenhe a série: é o capítulo 21 aplicado ao tempo, e tendência, sazonalidade, quebras de nível e buracos de coleta aparecem num gráfico de linha em cinco segundos — nenhum deles aparece numa tabela de médias.

Estacionariedade e a diferenciação

Uma série é estacionária quando suas propriedades estatísticas — média, variância, autocorrelação — não dependem de quando você olha. Os métodos clássicos exigem isso, e a razão é honesta: eles aprendem uma relação entre passado e presente. Se essa relação muda de ano para ano, não há o que aprender.

A ferramenta padrão é a diferenciação: em vez de modelar o valor, modele a variação. Uma série que cresce (100, 110, 121, 133) não é estacionária; a série das diferenças (10, 11, 12) já vive num nível fixo. Este é o "I" de ARIMAIntegrated, o número de vezes que foi preciso diferenciar; para sazonalidade, diferencia-se contra o mesmo período do ano anterior. Duas armadilhas: diferenciar demais injeta ruído que não existia, e a previsão precisa ser desdiferenciada de volta à escala original — esquecer esse passo produz números plausíveis na unidade errada.

O diagnóstico da memória: ACF e PACF

A função de autocorrelação (ACF) mede a correlação da série com ela mesma defasada de k períodos. É um gráfico, e responde de graça uma pergunta cara: quanto do passado ainda importa? Uma ACF que cai devagar e nunca zera denuncia tendência (falta diferenciar); um pico solitário na defasagem 12, em dado mensal, é sazonalidade anual gritando. Já a autocorrelação parcial (PACF) remove o efeito das defasagens intermediárias — a correlação entre hoje e três dias atrás descontando ontem e anteontem. É ela que sugere quantos termos autorregressivos usar; a defasagem 2 de Yule saiu de um raciocínio desse tipo.

Exercício24-e1escolha uma

Você plota a série mensal de vendas de uma loja e observa: as vendas sobem de forma consistente ao longo de quatro anos, e todo dezembro é muito maior que os meses vizinhos. Qual decomposição descreve isso?

A validação não pode ser aleatória

Esta é a seção mais importante do capítulo. Embaralhar e sortear treino/teste vaza o futuro para o passado. Não é um vazamento sutil de atributo mal construído — é o modelo lendo a resposta. E ele não se manifesta como erro: manifesta-se como uma métrica excelente que produção jamais reproduz.

Divisão cronológica. O treino termina numa data; o teste começa depois dela. Sempre. Se houver ajuste de hiperparâmetros, use três blocos em ordem — treino, validação, teste — e o teste é o mais recente.

Validação com origem móvel (walk-forward). Um único corte informa pouco: talvez você tenha sorteado um trimestre fácil. Então repita o corte, avançando a origem:

treino [========]           teste [==]
treino [==========]              teste [==]
treino [============]                 teste [==]

Cada rodada treina com tudo até a origem e avalia no bloco seguinte. Você ganha várias medidas, e com elas a incerteza que o capítulo 04 exige — e não só um ponto.

Janela expansiva ou deslizante? A expansiva (acima) acumula todo o histórico; a deslizante mantém o tamanho fixo e descarta o passado remoto. Expansiva quando o processo é estável e dado é escasso; deslizante quando o regime mudou — uma pandemia, uma troca de precificação, um concorrente novo. Dado antigo de um regime morto não é dado a mais, é viés.

Um detalhe que engana gente experiente: atributos defasados têm de respeitar o corte. Se você calcula uma média móvel de 30 dias sobre a série inteira antes de dividir, cada linha do treino já contém informação do teste. Calcule as features dentro de cada dobra, nunca antes.

A linha de base ingênua

Antes de qualquer modelo, meça o que a previsão ingênua entrega: amanhã é igual a hoje. Se houver sazonalidade, a versão honesta é a ingênua sazonal: este dezembro é igual ao dezembro passado. Ela é surpreendentemente difícil de bater — em séries com muita inércia o último valor já carrega quase tudo o que se sabe. E o incômodo desta seção é este: muito modelo publicado não bate essa linha, porque ninguém a calculou. Compare-se sempre à ingênua do tipo certo: pôr um modelo sazonal contra a ingênua simples é escolher o adversário fraco.

Exercício24-e2responda com um número

Vendas mensais (em milhares):

Mês 2024 2025
jan 100 110
fev 120 126
mar 90 99

Calcule o MAE (erro absoluto médio) da previsão ingênua sazonal — cada mês de 2025 previsto pelo mesmo mês de 2024 — nos três meses de 2025. Responda com 2 casas decimais.

Exercício24-e3responda com suas palavras

Uma colega apresenta este protocolo para prever a demanda diária de um e-commerce:

"Peguei 3 anos de dados diários. Criei atributos defasados (venda de 1, 7 e 30 dias atrás) e a média móvel de 30 dias, tudo calculado sobre a base completa. Depois embaralhei as linhas e fiz train_test_split com 20% de teste, mais um k-fold de 5 dobras para ajustar os hiperparâmetros. Deu 3,1% de erro percentual. Também rodei uma validação cruzada aleatória repetida para confirmar, e o intervalo ficou estreito."

Identifique os problemas do protocolo e descreva o que você faria no lugar.

Quando o problema temporal vira tabular

Boa parte do trabalho prático não usa ARIMA. Usa-se janelamento: cada linha vira "os k valores anteriores + atributos de calendário", e o alvo é o valor seguinte. A partir daí, qualquer regressor do capítulo 07 serve.

A transformação é legítima e frequentemente vence os métodos clássicos — desde que o protocolo de validação continue temporal. É aí que mora o perigo: assim que o problema parece tabular, o reflexo de embaralhar volta. A tabela esconde a ordem; a ordem continua lá. E declare o horizonte: prever 1 passo à frente e prever 30 são problemas diferentes, com erros diferentes — um modelo excelente em 1 passo pode ser inútil em 30, e reportar só o primeiro número é omissão.

Síntese — o que levar

  • Tempo é ordem, e ordem é informação. Todo procedimento do livro que embaralha precisa ser reexaminado aqui.
  • Nunca embaralhe. Divisão cronológica e validação com origem móvel; expansiva se o regime é estável, deslizante se mudou.
  • Atributos defasados e estatísticas móveis calculam-se dentro de cada dobra. Vazamento por feature sobrevive a uma divisão cronológica correta.
  • A previsão ingênua — do tipo certo — é o adversário obrigatório. Modelo que não a bate não tem valor.
  • Um intervalo estreito em torno de um protocolo inválido é precisão sem validade, e é mais perigoso que um número ruim.
  • Separe sazonalidade (período fixo, do calendário) de ciclo (período variável, emergente). Estacionariedade é pré-requisito dos métodos clássicos, e diferenciar é o caminho mais curto até ela — com a previsão voltando à escala original.
  • A ideia de Yule que atravessa tudo: o acaso pode estar dentro do mecanismo, não só no instrumento.

Verificação

  1. Explique a um colega, sem usar a palavra "vazamento", por que k-fold embaralhado dá uma métrica boa e inútil numa série temporal.
  2. Sua série tem sazonalidade semanal e uma quebra de nível há seis meses (mudança de preço). Você usaria janela expansiva ou deslizante, e qual previsão ingênua seria a linha de base honesta? Justifique as duas escolhas.
  3. Você transformou o problema em tabular com janelas e vai usar um ensemble de árvores. Liste tudo que ainda precisa respeitar a ordem temporal — e diga em que ponto do seu código cada um desses cuidados aparece.