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.residVisualizando 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 -> stationaryDiferenciaçã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 differenceConfirmando 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
- Componentes de séries temporais e estacionariedade
- Modelos ARIMA e SARIMA
- Prophet para previsão automatizada
- LSTM para previsão de séries temporais