← Назад к вопросам

Какие знаешь параметры временных рядов?

2.0 Middle🔥 221 комментариев
#Временные ряды#Машинное обучение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Параметры и характеристики временных рядов

Временной ряд — это последовательность наблюдений, упорядоченных по времени. Понимание ключевых параметров и свойств временных рядов критически важно для их анализа, моделирования и прогнозирования.

Основные статистические параметры

Тренд — долгосрочное направление изменения временного ряда. Тренд может быть восходящим (positive trend), нисходящим (negative trend) или отсутствовать. Тренд выявляется через скользящие средние, полиномиальную регрессию или экспоненциальное сглаживание.

Сезонность — регулярные циклические колебания, которые повторяются с фиксированным периодом. Например, недельная, месячная или годовая сезонность. Сезонность часто выявляется с помощью функции автокорреляции (ACF) и анализа сезонной декомпозиции.

from statsmodels.tsa.seasonal import seasonal_decompose
result = seasonal_decompose(timeseries, model='additive', period=12)
trend = result.trend
seasonal = result.seasonal
residual = result.resid

Стационарность — свойство временного ряда, при котором его статистические характеристики (среднее, дисперсия, автокорреляция) не изменяются со временем. Стационарные ряды проще моделировать. Проверяется с помощью расширенного теста Дики-Фуллера (ADF-test).

from statsmodels.tsa.stattools import adfuller
result = adfuller(timeseries)
if result[1] < 0.05:
    print("Ряд стационарен")

Параметры автокорреляции

Автокорреляция (ACF) измеряет корреляцию временного ряда с его собственными лагированными значениями. Функция автокорреляции показывает, на сколько периодов назад наблюдение влияет на текущее значение.

Частичная автокорреляция (PACF) показывает корреляцию между наблюдениями, удаляя влияние промежуточных лагов. PACF и ACF используются для определения порядков в моделях ARIMA.

from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(timeseries, lags=40)
plot_pacf(timeseries, lags=40)

Параметры ARIMA модели

p (порядок AR) — количество лагированных наблюдений, используемых в авторегрессионной части. Определяется по графику PACF.

d (степень дифференцирования) — количество раз, которое нужно продифференцировать ряд для достижения стационарности.

q (порядок MA) — размер скользящего среднего. Определяется по графику ACF.

from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(timeseries, order=(1, 1, 1))
results = model.fit()
print(results.summary())

Дополнительные характеристики

Волатильность — мера разброса или вариативности временного ряда. Высокая волатильность указывает на нестабильность данных.

Белый шум — случайные флуктуации без структурной зависимости. Временной ряд, состоящий из белого шума, не содержит полезной информации для прогнозирования.

Точка излома (breakpoint) — момент в истории, когда происходит резкое изменение в поведении ряда (например, из-за внешних событий).

Экспоненциальное сглаживание

Параметр сглаживания α в методе экспоненциального сглаживания (0 < α ≤ 1) определяет вес, придаваемый последним наблюдениям. Малые значения α означают большое сглаживание, большие значения придают больший вес свежим данным.

from statsmodels.tsa.holtwinters import ExponentialSmoothing
model = ExponentialSmoothing(timeseries, trend='add', seasonal='add', seasonal_periods=12)
results = model.fit()

Практический подход к анализу

При анализе временного ряда я следую такому порядку:

  1. Визуализация — строю график ряда, выявляю тренд и аномалии
  2. Декомпозиция — разделяю тренд, сезонность и остаток
  3. Проверка стационарности — ADF-тест
  4. Анализ ACF/PACF — определяю параметры ARIMA
  5. Моделирование — выбираю подходящий алгоритм (ARIMA, exponential smoothing, нейросети)
  6. Валидация — проверяю предсказания на тестовом наборе

Понимание этих параметров позволяет эффективно работать с временными рядами и строить точные прогнозные модели.

Какие знаешь параметры временных рядов? | PrepBro