Перейти к содержимому
2 / 10

STL-разложение: как искать аномалии в остатке и когда разложение подводит?

STL раскладывает ряд на тренд, сезонность и остаток с помощью последовательного локального сглаживания (LOESS), причём в robust-режиме выбросы получают малый вес и не портят оценку компонент. Детекция после этого сводится к одномерной задаче: аномалия — необычно большой остаток, а порог ставится робастно, через медиану и MAD. Подход прозрачен, объясним дежурному («ожидали 890 по сезонному профилю, получили 412») и дёшев. Подводит он в трёх ситуациях: множественная сезонность — суточная плюс недельная плюс годовая, для чего нужен MSTL или добавление гармоник; меняющаяся амплитуда — вечером разброс естественно больше, и постоянный порог по остатку даёт вечерние ложные срабатывания, лечится логарифмированием или мультипликативной моделью; сдвиг уровня — после ступеньки тренд подстраивается, и остаток быстро возвращается к нулю, так что длительное смещение перестаёт детектироваться; для него нужны CUSUM или поиск разладки.

STL-разложение: как искать аномалии в остатке и когда разложение подводит? | JScriptiser