ДЕКОМПОЗИЦИЯ ВРЕМЕННОГО РЯДА PYTHON

Декомпозиция временных рядов - это метод, позволяющий разделить ряд на его составляющие: тренд, сезонность и шум. Она широко используется в экономике, финансах, маркетинге и других областях, где важна аналитика временных рядов. В Python для декомпозиции временных рядов существует множество библиотек, например, statsmodels, pandas и другие.

Для начала рассмотрим простой пример: имеется временной ряд, который состоит из тренда и сезонности, но без шума. Мы можем сгенерировать его с помощью библиотеки numpy:

import numpy as np
trend = 2*np.arange(1, 101)
seasonality = 10*np.sin(np.arange(1, 101))
ts = trend + seasonality

Для декомпозиции временного ряда воспользуемся библиотекой statsmodels:

from statsmodels.tsa.seasonal import seasonal_decompose
decomposition = seasonal_decompose(ts, model='additive')

Данный код выполнит декомпозицию ряда на тренд, сезонность и шум в аддитивной модели. Результат хранится в объекте decomposition.

Чтобы получить доступ к составляющим ряда, можно использовать следующие атрибуты:

trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid

Для визуализации результата можно воспользоваться библиотекой matplotlib:

import matplotlib.pyplot as plt
fig, ax = plt.subplots(4, 1, figsize=(10,10))
ax[0].plot(ts)
ax[0].set_ylabel('Original')
ax[1].plot(trend)
ax[1].set_ylabel('Trend')
ax[2].plot(seasonal)
ax[2].set_ylabel('Seasonality')
ax[3].plot(residual)
ax[3].set_ylabel('Residuals')
plt.tight_layout()
plt.show()

Этот код построит графики для исходного ряда, тренда, сезонности и остатков декомпозиции.

Анализ временного ряда (Python)

Practical Python Data Science Techniques : Time Series Analysis with Pandas - pygame.ru

Python 3 Programming Tutorial - Multi-dimensional List

Занятие 20. Временные ряды

Python 3 - Repetition / Loops with For

Visualization in Python - Temporal plot in Python - Time series plots in Python

Multivariate Time Series Data Preprocessing with Pandas in Python - Machine Learning Tutorial

Лекция 10 Прогнозирование временных рядов

14-11 Временные ряды в python

Multidimensional Lists in Python

BLGPG-BECC9CCC9741-24-09-20-01

Новые материалы: