Стационарность: почему ряд дифференцируют
Модели прогноза устроены так, что учатся на прошлом и переносят выученное в будущее. Перенос имеет смысл только тогда, когда правила игры не меняются: среднее держится на месте, разброс не растёт, связь между соседними днями одинакова в начале и в конце. Ряд с таким свойством называют стационарным. Растущая выручка ему не удовлетворяет — и её приводят к нужному виду переходом от самих значений к приростам.
Дифференцирование вычитает из каждого значения предыдущее. Тренд уходит — но каждая лишняя разность съедает одно наблюдение и раздувает шум.
Под графиком ряда идут два датчика: скользящее среднее и скользящий разброс, посчитанные в окне двух недель. Это и есть проверка стационарности на глаз. У исходного ряда линия среднего уверенно ползёт вверх — ряд растёт, значит его среднее зависит от того, в какой момент времени мы смотрим.
Что это значит
Порядок действий стандартный: посмотреть на график и коррелограмму, взять разность, посмотреть снова. Если коррелограмма после первой разности перестала спадать медленно, дифференцирования достаточно.
Автоматический подбор (auto_arima и подобные) выбирает d по тестам стационарности сам. Проверять всё равно стоит: на коротких рядах тесты неустойчивы, и лишняя разность обходится дороже недостающей.
Ряды в деньгах и в счётчиках часто удобнее логарифмировать перед дифференцированием. Тогда разность логарифмов читается как относительный прирост — «на столько процентов ко вчера», а растущий вместе с уровнем разброс стабилизируется.
Где это встречается
Цены акций почти нестационарны, а их дневные доходности — почти стационарны. Поэтому в финансах моделируют не цену, а доходность: это ровно переход к разности логарифмов.
Инфляцию публикуют не как уровень цен, а как прирост к предыдущему периоду — та же первая разность, только в бытовом языке.
Сравнение «год к году» в отчётности — по сути сезонная разность с периодом 12: способ разом убрать и годовой цикл, и часть тренда.
Определения
Когда метод врёт (допущения)
Дифференцирование лечит нестационарность по среднему, но не по разбросу. Если размах колебаний растёт вместе с уровнем, сначала нужно преобразование — логарифм или Бокса — Кокса, — и только потом разность.
Стационарность — предпосылка модели, а не свойство бизнеса. Смена ценовой политики, запуск в новой стране или пандемия делают прошлое непригодным для переноса в будущее, и никакая разность этого не исправит: ряд придётся резать на периоды.
Подробный разбор: математика и механизм (необязательно)
Различают два вида нестационарности, и лечатся они по-разному. Ряд с детерминированным трендом (значение колеблется вокруг прямой) достаточно очистить регрессией на время. Ряд со стохастическим трендом — случайное блуждание, у которого каждое значение равно вчерашнему плюс шум, — регрессией на время не лечится, ему нужна именно разность. Перепутать их дорого: лишняя разность у первого раздувает шум, недостающая у второго оставляет ложную предсказуемость.
Отсюда же берётся ложная регрессия: если взять два независимых случайных блуждания и построить регрессию одного на другое, R² окажется высоким, а t-статистика — уверенно значимой, хотя связи нет вовсе. Знаменитые «корреляции» между потреблением сыра и числом разводов живут именно на этом эффекте: оба ряда просто растут.