Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Estacionaridade | Processamento de Dados de Séries Temporais
Pré-processamento de Dados
course content

Conteúdo do Curso

Pré-processamento de Dados

Pré-processamento de Dados

1. Breve Introdução
2. Processamento de Dados Quantitativos
3. Processamento de Dados Categóricos
4. Processamento de Dados de Séries Temporais
5. Engenharia de Recursos
6. Passando para as Tarefas

bookEstacionaridade

Um dos principais passos é o processo de conversão de uma série temporal não estacionária em uma estacionária, eliminando a tendência, sazonalidade e outros fatores que afetam a mudança nas propriedades estatísticas da série ao longo do tempo. Uma série temporal estacionária transformada pode ser mais previsível e mais fácil de analisar do que uma série não estacionária. Existem vários métodos de transformação de dados em estacionários:

Diferenciação

Diferenciação - calcular a diferença entre o valor atual e o valor anterior da série temporal. Mas como escolher a ordem da diferenciação? Se as primeiras diferenças não se estabilizarem em torno de uma média e variância constantes, então encontramos a segunda diferenciação usando os valores da primeira diferenciação. Você pode repetir isso até obter uma série estacionária.

Você também pode plotar a série diferenciada e verificar se há uma média e variância constantes para determinar se a série está suficientemente diferenciada.

Decomposição

Decomposição - decompor a série temporal nos seus componentes de tendência, sazonalidade e ruído aleatório.

Transformação Box-Cox

A transformação Box-Cox é um método que generaliza a transforma em logaritmo natural e converte dados não normais em uma distribuição mais normal.

Remoção de Outliers

Remoção de outliers - um método que remove os outliers da série temporal não estacionária, o que ajuda a melhorar sua estacionariedade.

No exemplo abaixo, vamos considerar como implementar a transformação de dados em dados estacionários usando o método de decomposição:

1234567891011121314151617181920212223
import pandas as pd import numpy as np from statsmodels.tsa.seasonal import seasonal_decompose from statsmodels.tsa.stattools import adfuller # Read the dataset dataset = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/9c23bf60-276c-4989-a9d7-3091716b4507/datasets/df_diamond_data.csv', index_col=0, parse_dates=True) # Time series decomposition result = seasonal_decompose(dataset['diamond price'], model='additive', period=365) # Dickey-Fuller test result = adfuller(result.resid.dropna()) print(f'ADF Statistic: {result[0]:.3f}') print(f'p-value: {result[1]:.3f}') # Differencing dataset_diff = dataset['diamond price'].diff().dropna() # Dickey-Fuller test result = adfuller(dataset_diff) print(f'ADF Statistic: {result[0]:.3f}') print(f'p-value: {result[1]:.3f}')
copy

Você pode observar os gráficos abaixo. O primeiro é o conjunto de dados original, e o segundo é após a aplicação do método de diferenciação.

Quais dos seguintes métodos podem ser usados para converter uma série temporal não estacionária em uma estacionária?

Quais dos seguintes métodos podem ser usados para converter uma série temporal não estacionária em uma estacionária?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3
some-alt