ℹ️Материал подготовлен нейросетью DeepSeek.
1. Общее определение
- ROC‑AUC (Receiver Operating Characteristic – Area Under Curve) — это метрика качества бинарной классификации, которая измеряет способность модели различать два класса: положительный (например, «инцидент произойдёт») и отрицательный («инцидента не будет»).
- Она не зависит от выбранного порога классификации и оценивает, насколько хорошо модель упорядочивает объекты по предсказанной вероятности принадлежности к положительному классу.
- ROC-кривая строится как график зависимости True Positive Rate (TPR) от False Positive Rate (FPR) при варьировании порога от 0 до 1:
- TPR = доля положительных объектов, правильно классифицированных как положительные (чувствительность, recall).
- FPR = доля отрицательных объектов, ошибочно классифицированных как положительные (1 – специфичность).
- AUC — это площадь под этой кривой. Значение AUC равно вероятности того, что случайно выбранный положительный объект получит от модели более высокий предсказанный риск, чем случайно выбранный отрицательный объект.
2. Диапазон значений и интерпретация
Диапазон значений AUC и их интерпретация:
- 0.5 – модель не лучше случайного угадывания – дискриминация отсутствует.
- 0.5 – 0.6 – плохая дискриминация (слабое различие).
- 0.6 – 0.7 – удовлетворительная дискриминация (приемлемо для некоторых задач).
- 0.7 – 0.8 – хорошая дискриминация.
- 0.8 – 0.9 – отличная дискриминация.
- 0.9 – 1.0 – выдающаяся дискриминация (почти идеальный классификатор).
- < 0.5 – модель работает хуже случайного – возможно, перепутаны метки классов.
Важно: AUC не зависит от абсолютных значений вероятностей, а только от их порядка. Поэтому модель может иметь высокий AUC, но быть плохо калиброванной (вероятности не соответствуют реальным частотам).
3. Практический смысл значений
- AUC = 0.5 – классификатор не различает классы; результат эквивалентен подбрасыванию монеты.
- AUC = 0.6 – модель в 60% случаев присваивает более высокий риск инциденту, чем не-инциденту. Это небольшое улучшение, но обычно недостаточное для принятия решений.
- AUC = 0.7 – приемлемый уровень; модель способна выделять часть инцидентов, но всё ещё много ложных срабатываний.
- AUC = 0.8 – хороший результат; модель надёжно разделяет классы, может использоваться в практических системах.
- AUC = 0.9 – отличная дискриминация; модель редко ошибается в ранжировании.
В нашем контексте (прогнозирование инцидентов производительности СУБД) значение AUC = 0.546 означает, что модель всего на 4.6% лучше случайного угадывания. Это говорит о том, что текущие признаки и модель не дают достаточной предсказательной силы для практического применения.
4. Преимущества ROC‑AUC
- Не зависит от порога – оценивает качество модели в целом, а не при конкретном пороге.
- Инвариантна к дисбалансу классов – хорошо работает, когда положительных примеров мало (что характерно для инцидентов).
- Интуитивно понятна – легко интерпретируется как вероятность правильного ранжирования.
- Позволяет сравнивать модели независимо от их калибровки.
5. Ограничения и меры предосторожности
- Не отражает калибровку – модель может давать завышенные или заниженные вероятности, но иметь высокий AUC.
- Чувствительна к выбросам – одно очень плохое предсказание может снизить AUC.
- Не показывает, насколько хорошо модель работает в области низких FPR (важно для систем с высокими требованиями к точности).
- Может быть завышена при сильном дисбалансе, если модель просто предсказывает низкий риск для всех объектов (но в нашем случае это не так, поскольку мы явно строим прогнозы).
6. Итог для нашей задачи
В эксперименте по подбору горизонта мы получили ROC‑AUC = 0.546 при оптимальном горизонте 30 минут.
Это означает:
- Модель едва превосходит случайное угадывание.
- Она не способна надёжно разделять переходы, которые приведут к инциденту, от переходов, которые не приведут.
- Для практического использования такой уровень дискриминации недостаточен — он приведёт к большому количеству ложных тревог и пропущенных инцидентов.
Вывод: Текущий подход на основе цепей Маркова с дискретными состояниями исчерпал свои возможности. Для улучшения качества необходимо перейти к более сложным моделям машинного обучения, которые используют расширенные признаки (историю, динамику, производные) и могут улавливать нелинейные зависимости.
Целевой уровень ROC‑AUC должен составлять не менее 0.7, чтобы система могла быть внедрена в реальную эксплуатацию.