Сезонные временные ряды

Модели ARIMA в Python

James Fulton

Climate informatics researcher

Сезонные данные

  • Имеют предсказуемые повторяющиеся паттерны
  • Повторяются через любой промежуток времени
Модели ARIMA в Python

Сезонная декомпозиция

Модели ARIMA в Python

Сезонная декомпозиция

time series = trend + seasonal + residual

Модели ARIMA в Python

Сезонная декомпозиция с помощью statsmodels

# Import 
from statsmodels.tsa.seasonal import seasonal_decompose
# Decompose data
decomp_results = seasonal_decompose(df['IPG3113N'], period=12)
type(decomp_results)
statsmodels.tsa.seasonal.DecomposeResult
Модели ARIMA в Python

Сезонная декомпозиция с помощью statsmodels

# Plot decomposed data
decomp_results.plot()
plt.show()

Модели ARIMA в Python

Определение сезонного периода с помощью ACF

Модели ARIMA в Python

Выявление сезонности с помощью ACF

Модели ARIMA в Python

Удаление тренда из временного ряда

# Subtract long rolling average over N steps
df = df - df.rolling(N).mean()

# Drop NaN values df = df.dropna()

Модели ARIMA в Python

Выявление сезонности с помощью ACF

# Create figure
fig, ax = plt.subplots(1,1, figsize=(8,4))

# Plot ACF
plot_acf(df.dropna(), ax=ax, lags=25, zero=False)
plt.show()

Модели ARIMA в Python

Модели ARIMA и сезонные данные

Модели ARIMA в Python

Давайте потренируемся!

Модели ARIMA в Python

Preparing Video For Download...