ℹ️Для формального определения наличия и силы сезонности в метриках СУБД и ОС существуют конкретные численные критерии и статистические тесты.
Они делятся на три основные категории:
1️⃣тесты для проверки гипотезы о наличии сезонности,
2️⃣методы оценки периода и 3️⃣критерии качества модели.
Вот основные численные критерии, которые используются в анализе:
1. Статистические тесты на наличие сезонности
Эти тесты проверяют гипотезу о том, что наблюдаемые колебания не являются случайными, а имеют регулярный характер.
➡️QS-тест (Тест на сезонные лаги): Проверяет, есть ли значимая положительная автокорреляция на сезонных лагах (например, на 7-м и 14-м днях для недельных данных) . Если автокорреляция значима — это численное подтверждение сезонности.
◽Численный критерий: Рассчитанная QS-статистика сравнивается с критическим значением распределения χ² (хи-квадрат). Превышение порога говорит о наличии сезонности.
➡️Тест Фридмана: Это непараметрический метод (ANOVA с повторными измерениями), который сравнивает ранги наблюдений за одни и те же периоды в разных циклах . Например, сравниваются все понедельники или все первые дни месяца между собой.
◽Численный критерий: p-значение (p-value). Если p-value < 0.05 (стандартный порог), мы отвергаем гипотезу об отсутствии сезонности и подтверждаем, что различия между периодами статистически значимы.
➡️Дисперсионный критерий (F-тест): Используется для проверки, значимо ли отличаются средние значения для разных сезонов (месяцев, дней недели) после удаления тренда .
◽Численный критерий: F-статистика . Если расчетное значение F больше табличного (критического), сезонные колебания признаются неслучайными.
➡️Тест Сезонного Кендалла (Seasonal Kendall): Используется для обнаружения монотонных трендов в данных с учетом сезонности .
◽Численный критерий: Z-оценка и p-значение позволяют определить, является ли тренд статистически значимым, отделяя его от сезонных колебаний .
2. Методы, основанные на автокорреляции
ℹ️Сезонность — это повторение паттерна. Автокорреляция (связь значения с самим собой через некоторый лаг) — прямой способ это измерить.
➡️Анализ автокорреляционной функции (ACF): График показывает, насколько значения коррелируют со значениями, отстоящими на k шагов назад .
◽Численный критерий: Поиск пиков. Если на лаге 7 (для ваших недельных данных) коэффициент автокорреляции значительно превышает доверительный интервал (обычно вычисляемый как ±2/√N, где N — длина ряда) — это численное указание на период сезонности .
◽Автоматическое обнаружение периода: Алгоритмы (например, основанные на преобразовании Фурье в Microsoft.ML) ищут доминирующие частоты в данных .
·◽Численный критерий: Возвращается целое число — длина периода (например, 7 для дней недели). Если алгоритм возвращает -1, это означает, что устойчивый периодический паттерн не найден (несмотря на визуальные колебания) .
3. Параметры качества и пороги в моделях
ℹ️Когда вы строите модели, учитывающие сезонность (например, Хольта-Винтерса или SARIMA), используются критерии качества, которые численно оценивают, насколько хорошо модель описывает данные.
➡️Информационный критерий Акаике (AIC): Используется для сравнения моделей с разными параметрами сезонности .
◽Численный критерий: Модель с наименьшим значением AIC среди сравниваемых считается лучшей. Это помогает выбрать правильную глубину сезонности.
◽Порог случайности (Randomness Threshold): В библиотеках машинного обучения можно задать порог уверенности, насколько строго данные должны следовать паттерну, чтобы считаться сезонными .
◽Численный критерий: Параметр randomnessThreshold (обычно 0.95 или 0.99). Чем выше порог, тем строже алгоритм отсеивает "случайные" колебания .
ℹ️Резюме
Для задачи с недельной периодичностью:
❌1. Визуальный: Построить график "методом наложения" (например, график за 3 недели на одном полотне) .
☑️2. Статистический: Рассчитать ACF и найти пик на 7-м лаге. Если он значим — сезонность подтверждена численно.⬅️