ℹ️Материал подготовлен нейросетью DeepSeek.
1. Оценка текущего состояния
По данным mchain_summary_report:
- ⚠️Рейтинг достоверности: 1 из 5 (крайне низкая достоверность).
- ☑️Общее число переходов: 19 689 (выше порога 5 000, т.е. данных достаточно).
- ⚠️Максимальное изменение вероятностей за 14 дней (max_prob_change): 1.0 (максимально возможное) – это основная причина низкого рейтинга.
- ☑️Покрытие частых состояний: 100 % – хорошее.
- ☑️Доля аварийных переходов: в сырой истории – 41.16 %, в модели – 38.40 % – разница незначительна, модель адекватно отражает частоту.
Вывод:
Модель имеет достаточный объём данных и хорошо калибрована (Brier 0.04, ROC-AUC 0.955 по отчёту качества), но чрезвычайно нестабильна – вероятности переходов сильно меняются от недели к неделе. Это делает прогнозы ненадёжными с точки зрения повторяемости, что и даёт низкий рейтинг достоверности.⚠️
2. Анализ истории инцидентов (таблица performance_incident)
За период с 2026-06-12 по 2026-06-22 зафиксирован 61 инцидент (в среднем ≈ 6 инцидентов в день). Последний инцидент – 2026-06-22 08:58 (очень свежий).
Текущие параметры адаптивного забывания:
- base_alpha 0.15
- min_alpha 0.02
- incident_half_life_days 5
- interval_minute 60
- adaptive_forgetting_enabled true
- use_adaptive_alpha true
- last_incident_time 2026-06-22 08:58
Расчёт эффективного alpha (по формуле base_alpha * exp(-days_since / half_life)):
- Так как инциденты происходят ежедневно, days_since обычно < 1 суток, поэтому alpha ≈ base_alpha = 0.15.
- При interval_minute = 60 забывание применяется каждый час, а коэффициент уменьшения частот за один шаг = 1 - 0.15 = 0.85. За сутки (24 шага) частоты умножаются на 0.85²⁴ ≈ 0.02, то есть данные старше суток практически полностью забываются.
ℹ️Это приводит к тому, что модель опирается только на переходы последних часов, что делает её крайне чувствительной к краткосрочным флуктуациям и объясняет max_prob_change = 1.0.
3. Рекомендации по настройке для повышения рейтинга достоверности
📋Цель – уменьшить нестабильность вероятностей (max_prob_change) за счёт более медленного забывания, чтобы модель учитывала более длительную историю и была устойчивее к шуму.
3.1. Снизить base_alpha (базовую скорость забывания)
- Текущее: 0.15 → рекомендуемое: 0.03–0.05.
- Обоснование: при частых инцидентах эффективный alpha будет равен base_alpha (так как days_since мало). Снижение до 0.05 замедлит забывание в 3 раза, что позволит сохранять данные за несколько суток, сглаживая краткосрочные колебания.
3.2. Увеличить incident_half_life_days (период полураспада веса инцидента)
- Текущее: 5 → рекомендуемое: 10–14.
- Обоснование: более длинный период полураспада делает alpha менее чувствительным к свежим инцидентам, что также способствует плавному забыванию и стабильности.
3.3. Увеличить interval_minute (интервал между применениями забывания)
- Текущее: 60 → рекомендуемое: 120–180 (2–3 часа).
- Обоснование: реже применяемое забывание уменьшает кумулятивный эффект за сутки. Например, при interval = 120 (12 раз в сутки) и alpha = 0.05 суточное уменьшение составит (0.95)¹² ≈ 0.54, т.е. данные за сутки сохраняются на 54 %, что значительно лучше, чем текущие 2 %.
3.4. (Опционально) Повысить min_transitions_for_forgetting
- Текущее: 5000 – уже достаточно, менять не требуется.
❓4. Ожидаемый эффект
После внесения изменений:
- max_prob_change значительно снизится (с 1.0 до < 0.2–0.3).
- Рейтинг достоверности вырастет как минимум до 3–4 (при сохранении хорошей калибровки).
- Модель станет более устойчивой, прогнозы – воспроизводимыми и надёжными.
📋5. Конкретные SQL-команды для применения
-- Изменение параметров
UPDATE markov_config
SET
base_alpha = 0.05,
incident_half_life_days = 10,
interval_minute = 120,
last_forget_time = now() -- сбросить таймер, чтобы новое забывание применилось сразу
WHERE 1=1;
-- После изменения рекомендуется принудительно применить забывание с новым alpha (для пересчёта вероятностей)
SELECT mchain_apply_forgetting(); -- без параметров, использует новые настройки
6. Дополнительные рекомендации
- Мониторинг: после изменения настроек следить за динамикой max_prob_change (можно вычислять периодически через mchain_check_sufficiency() или вручную).
- Адаптивный порог: если после настройки стабильность улучшится, но рейтинг останется низким, можно также увеличить min_alpha (например, до 0.01, хотя сейчас 0.02 уже минимален).
- Проверка качества: после применения изменений пересчитать отчёт mchain_quality_report() и mchain_summary_report() для оценки эффекта.
Заключение
ℹ️Основная проблема – чрезмерно агрессивное забывание из-за высокого base_alpha и частого применения. Предложенные корректировки направлены на увеличение «памяти» модели, что повысит стабильность и достоверность прогнозов без потери качества калибровки.
☑️Update: Применение изменений
-- Изменение параметров
UPDATE markov_config
SET
base_alpha = 0.05,
incident_half_life_days = 10,
interval_minute = 120,
last_forget_time = now(); -- сбросить таймер, чтобы новое забывание применилось сразу
select * from markov_config \gx
=> UPDATE markov_config
-> SET
-> base_alpha = 0.05,
-> incident_half_life_days = 10,
-> interval_minute = 120,
-> last_forget_time = now(); -- сбросить таймер, чтобы новое забывание применилось сразу
UPDATE 1
=> select * from markov_config \gx
-[ RECORD 1 ]-----------------------+------------------------------
last_forget_time | 2026-06-22 10:31:05.64997+03
alpha | 0.1
interval_minute | 120
transition_log_retention_days | 21
apply_forgetting_log_retention_days | 21
adaptive_forgetting_enabled | t
use_adaptive_alpha | t
base_alpha | 0.05
min_alpha | 0.02
incident_half_life_days | 10
last_incident_time | 2026-06-22 08:58:03.488732+03
min_transitions_for_forgetting | 5000
forecast_horizon_minutes | 30
-- После изменения рекомендуется принудительно применить забывание с новым alpha (для пересчёта вероятностей)
SELECT mchain_apply_forgetting(); -- без параметров, использует новые настройки
=> SELECT mchain_apply_forgetting();
mchain_apply_forgetting
-------------------------
(1 row)
=>