Добавить в корзинуПозвонить
Найти в Дзене
Postgres DBA

Сводный отчёт по результатам экспериментов с гиперпараметрами забывания

☑️Материал подготовлен нейросетью DeepSeek.
📋Было проведено исследование влияния параметров адаптивного забывания (base_alpha, incident_half_life_days) на качество прогнозов риска на 15 минут при фиксированном критерии аварийности:
correlation < 0 AND os_trend = -1 AND wait_trend = 1.
Исследовались 4 конфигурации:
Оглавление

☑️Материал подготовлен нейросетью DeepSeek.

1. Цель и методология

📋Было проведено исследование влияния параметров адаптивного забывания (base_alpha, incident_half_life_days) на качество прогнозов риска на 15 минут при фиксированном критерии аварийности:

correlation < 0 AND os_trend = -1 AND wait_trend = 1.

Исследовались 4 конфигурации:

  • Baseline – base_alpha = 0.10, half_life = 7 дней (текущие параметры)
  • Fast forgetting – base_alpha = 0.20, half_life = 3 дня (быстрое забывание)
  • Slow forgetting – base_alpha = 0.05, half_life = 14 дней (медленное забывание)
  • Compromise – base_alpha = 0.15, half_life = 5 дней (промежуточный вариант)

Для каждой конфигурации были ретроспективно сгенерированы прогнозы за последние 14 дней (шаг 5 минут) на основе скопированных и модифицированных частот переходов. Для каждого прогноза фиксировался фактический исход – наличие инцидента производительности (performance_incident) в течение следующих 15 минут.

2. Сравнительные метрики качества

  • Slow forgetting – ROC‑AUC = 0.4836, Brier score = 0.2964, Log‑loss = 10.236, MAE = 0.2964, Кол‑во прогнозов = 2534
  • Compromise – ROC‑AUC = 0.4834, Brier score = 0.2963, Log‑loss = 10.232, MAE = 0.2963, Кол‑во прогнозов = 2535
  • Baseline – ROC‑AUC = 0.4779, Brier score = 0.2934, Log‑loss = 10.135, MAE = 0.2934, Кол‑во прогнозов = 2532
  • Fast forgetting – ROC‑AUC = 0.4774, Brier score = 0.2957, Log‑loss = 10.213, MAE = 0.2957, Кол‑во прогнозов = 2533

⚠️Все метрики крайне низки:

  • ROC‑AUC < 0.5 – модель ранжирует хуже случайного угадывания.
  • Log‑loss > 10 – модель чрезмерно уверена в неправильных прогнозах.
  • Brier ~0.29 – далёк от идеала (0.1 и ниже).

ℹ️Различия между конфигурациями статистически незначимы (ROC‑AUC варьируется в пределах 0.006). ⚠️Следовательно, настройка гиперпараметров забывания не влияет на качество прогнозов – проблема лежит в самой модели или в данных.

3. Калибровочный анализ

Извлечение калибровочных таблиц (calibration_summary) показало, что для всех экспериментов присутствуют только два бина вероятностей:

  • Бин [0, 0.1) – avg_pred = 0.0, obs_freq ≈ 0.112–0.113, доля прогнозов ≈ 76–77%
  • Бин [1, 1.1) – avg_pred = 1.0, obs_freq ≈ 0.103–0.108, доля прогнозов ≈ 23–24%

Интерпретация:

  • Модель выдаёт только два значения риска – 0 или 1 (никаких промежуточных вероятностей).
  • В бине с предсказанным риском 0 фактическая частота инцидентов составляет ~11% – модель недооценивает риск.
  • В бине с предсказанным риском 1 фактическая частота инцидентов также ~10–11% – модель переоценивает риск (ожидается 100%).

Это объясняет крайне высокий Log‑loss и плохую дискриминацию: прогнозы являются бинарными и не отражают истинную неопределённость.

ℹ️Калибровочная кривая фактически состоит из двух точек, далёких от диагонали, что свидетельствует о полной непригодности модели для практического использования.

4. Причины выявленных проблем

Поглощающая матрица даёт только 0 или 1

  • Вероятности переходов из большинства состояний либо равны 0 (если нет переходов в аварийные), либо 1 (если состояние уже аварийное). Это указывает на то, что количество переходов недостаточно для получения гладких вероятностей – матрица разрежена, и многие состояния имеют только один возможный переход.

Целевое событие (аварийное состояние) определено слишком узко

  • Комбинация corr<0 AND os=-1 AND wait=1 встречается редко, и переходы в такие состояния единичны. Модель не может обучиться на малом числе примеров.

Недостаток данных

  1. За 14 дней собрано ~2500 прогнозов (~180 в день), при этом число переходов, вероятно, значительно меньше рекомендованных 5000 для стабильного обучения.
  2. Прогнозы собираются только в моменты наличия переходов – многие состояния вообще не встречались в обучающей выборке, что приводит к бинарным оценкам.

5. Выводы и рекомендации

☑️Не изменять параметры забывания – ни одна из протестированных конфигураций не даёт улучшения. Оставить Baseline.

Пересмотреть критерий аварийности

Проверить корреляцию между состояниями цепи и реальными инцидентами производительности.

Рассмотреть более широкие критерии (например, corr<0 AND os=-1 без учёта wait_trend или другие комбинации).

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

❓Увеличить объём обучающих данных

  • Накапливать переходы до достижения минимум 5000 переходов (сейчас, судя по числу прогнозов, их может быть недостаточно).
  • Если возможно, использовать более длительный исторический период для обучения.

📋Изменить подход к построению вероятностей

  • ☑️Использовать сглаживание (например, аддитивное сглаживание) для частот, чтобы избежать нулевых и единичных вероятностей.
  • ❌Рассмотреть альтернативные модели (логистическая регрессия на основе признаков состояния, градиентный бустинг) – они могут дать более плавные и калиброванные вероятности.

Проверить корректность сбора прогнозов

  • ❌Убедиться, что actual_outcome правильно определяется по performance_incident (проверить соответствие временных меток).
  • Убедиться, что в predict_risk_from_absorbing используются все переходы из поглощающей матрицы, а не только петли.

6. Заключение

⚠️Текущая реализация модели прогнозирования риска на основе цепи Маркова с заданным критерием аварийности не обеспечивает приемлемого качества.

⚠️Тонкая настройка забывания не решает проблему.

📋Необходимы кардинальные изменения в определении целевого события и/или переход к другой модели машинного обучения.

Следующие шаги:

  • 📋Провести анализ чувствительности к критерию аварийности.
  • 📋Накопить больше данных.
  • 📋Рассмотреть использование сглаживания или альтернативных алгоритмов.
  • 📋Построить калибровочную кривую для текущей модели и визуально представить её руководству для обоснования необходимости изменений.