0Pricing
Learn AI with Python · Aula

Componentes de séries temporais e estacionariedade

Tendência, sazonalidade, ruído, teste ADF de estacionariedade e diferenciação para alcançar a estacionariedade.

Componentes de séries temporais e estacionariedade é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

O que é uma série temporal?

Uma série temporal é um conjunto de dados indexado em ordem cronológica, como vendas diárias ou temperatura por hora. Como as observações são ordenadas e frequentemente correlacionadas, são necessárias técnicas específicas; você não pode simplesmente embaralhar as linhas como faria com dados tabulares comuns.

Os três componentes

Uma visão clássica decompõe uma série em:

  • Tendência: movimento de longo prazo para cima ou para baixo.
  • Sazonalidade: padrões que se repetem em períodos fixos (semanais, anuais).
  • Residual: ruído aleatório restante após a remoção da tendência e da sazonalidade.

Aditivo versus multiplicativo

Em um modelo aditivo: y = trend + seasonality + residual, usado quando as variações sazonais têm tamanho constante.

Em um modelo multiplicativo: y = trend * seasonality * residual, usado quando as variações sazonais crescem junto com a tendência.

seasonal_decompose

O statsmodels pode separar automaticamente uma série em seus componentes.

from statsmodels.tsa.seasonal import seasonal_decompose

result = seasonal_decompose(series, model="additive", period=12)
result.trend
result.seasonal
result.resid

Visualizando a decomposição

Representar o resultado graficamente mostra cada componente empilhado, tornando a tendência e a sazonalidade fáceis de identificar e ajudando você a escolher uma abordagem de previsão.

import matplotlib.pyplot as plt

result.plot()
plt.tight_layout()
plt.show()

O que é estacionariedade?

Uma série é estacionária quando suas propriedades estatísticas (média, variância e autocorrelação) permanecem constantes ao longo do tempo. Muitos modelos clássicos, como ARIMA, pressupõem estacionariedade; por isso, verificá-la e garanti-la é uma primeira etapa essencial.

Por que a estacionariedade é importante

Se a média se desloca ou a variância cresce sem controle ao longo do tempo, um modelo ajustado aos dados iniciais não generalizará para os dados posteriores. Remover a tendência e estabilizar a variância torna a série previsível de maneira consistente.

O teste ADF

O teste Augmented Dickey-Fuller (ADF) verifica a estacionariedade. A hipótese nula é "não estacionária (possui uma raiz unitária)". Um valor-p inferior a 0,05 permite rejeitar a hipótese nula e tratar a série como estacionária.

from statsmodels.tsa.stattools import adfuller

stat, pvalue, *_ = adfuller(series)
print("p-value:", pvalue)
# pvalue < 0.05  -> stationary

Diferenciação para alcançar a estacionariedade

A diferenciação subtrai cada valor do valor anterior, removendo a tendência. A diferenciação de primeira ordem geralmente lida com uma tendência linear; aplique-a novamente se necessário.

diff1 = series.diff().dropna()      # first difference
diff2 = series.diff().diff().dropna()  # second difference

Confirmando após a diferenciação

Execute novamente o teste ADF na série diferenciada. Quando o valor-p ficar abaixo de 0,05, você terá alcançado a estacionariedade e registrado a ordem de diferenciação d, que será usada diretamente no ARIMA.

stat, pvalue, *_ = adfuller(series.diff().dropna())
print("p-value after differencing:", pvalue)

Outras transformações estabilizadoras

Se a variância crescer ao longo do tempo, uma transformação log ou Box-Cox a estabiliza antes da diferenciação. Combinar uma transformação log com diferenciação lida com muitas séries do mundo real que apresentam crescimento multiplicativo.

import numpy as np

log_series = np.log(series)
stationary = log_series.diff().dropna()

Verificação rápida

Teste sua compreensão sobre estacionariedade.

Recapitulação

Você decompôs séries em tendência, sazonalidade e residual com seasonal_decompose, aprendeu sobre modelos aditivos e multiplicativos, testou a estacionariedade com o teste ADF e usou a diferenciação (ordem d) para tornar uma série estacionária. A seguir: ARIMA e SARIMA.

Perguntas Frequentes

A aula “Componentes de séries temporais e estacionariedade” é grátis?

Sim — o texto completo de “Componentes de séries temporais e estacionariedade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Componentes de séries temporais e estacionariedade”?

Tendência, sazonalidade, ruído, teste ADF de estacionariedade e diferenciação para alcançar a estacionariedade. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Componentes de séries temporais e estacionariedade”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Componentes de séries temporais e estacionariedade
  2. Modelos ARIMA e SARIMA
  3. Prophet para previsão automatizada
  4. LSTM para previsão de séries temporais
← Voltar para Learn AI with Python