[БЕЗ_ЗВУКА] Перед тем как
приступить к первым настоящим прогнозирующим моделям,
нам нужно познакомиться еще с одним важным свойством временных рядов.
Это свойство стационарности.
О нем это видео.
Ряд называется стационарным, если для любой
ширины окна S распределение ряда в этом окне не зависит от того,
в какое место ряда мы окно поставим, то есть свойства
распределения совокупности отчетов ряда не зависят от времени.
Например, это значит, что автоматически не являются стационарными ряды,
в которых есть тренд, потому что в зависимости от того,
где мы поставим наше окно, у нас будут разные средние уровни ряда,
то есть средние значения вот этого распределения в окне меняются.
Кроме того, нестационарны ряды с сезонностью, потому что,
если мы возьмем окно ширины меньше сезонного периода,
то в зависимости от того, в какой части сезонного периода мы это окно поставим,
мы будем получать разные распределения.
Интересно, что при этом ряды, в которых есть непериодические циклы,
все равно являются стационарными, поскольку мы не можем заранее предсказать,
где именно будут находиться максимумы и минимумы нашего ряда.
Перед вами девять временных рядов.
Давайте подумаем, какие из них можно считать стационарными.
Вот эти пять рядов явно не стационарны,
поскольку в них есть достаточно сильно выраженный тренд.
В этих трех рядах сильно выражена сезонность,
поэтому они стационарными тоже не являются.
Помимо всего прочего, в этом ряду со временем меняется дисперсия,
поскольку размах колебаний в самом начале ряда намного меньше,
чем ближе к концу ряда, то есть еще одно свойство распределения — дисперсия — не
является постоянным во времени.
Таким образом, это оставляет нам вот эти два ряда,
один из которых это ежедневное изменение индекса Доу — Джонса,
которое мы уже видели, а второй — это размер поголовья рыси.
Это ряд, в котором колебания, которые вы здесь видите,
имеют нефиксированный период, то есть это ряд с циклами.
Поэтому он может считаться стационарным.
Формально гипотезу стационарности можно проверить с помощью критерия Дики
— Фуллера.
Он принимает на вход временной ряд и проверяет гипотезу о том,
что он не стационарен, против альтернативы стационарности.
Это делается с помощью статистики, которая выглядит достаточно сложно,
и мы пока не будем ее рассматривать.
И распределение эта статистика имеет тоже специальное, табличное.
Мы не будем подробно останавливаться на том, как работает именно этот критерий,
потому что он достаточно сложный.
А, вообще говоря, существует большое количество критериев для проверки гипотезы
стационарности — вы можете использовать любые другие.
Мы будем ориентироваться на критерий Дики — Фуллера,
потому что для него есть стандартная реализация в Python.
Если вы имеете дело с нестационарным рядом, существует несколько стандартных
трюков, которые можно использовать, чтобы сделать его стационарным.
Например, если в вашем ряде во времени монотонно изменяется дисперсия,
можно использовать специальное преобразование, стабилизирующее дисперсию.
Очень часто используется обычное логарифмирование.
Например, на ряде с продажами электричества в Австралии обычное
логарифмирование делает размах колебаний в начале и в конце ряда намного более
похожими друг на друга, то есть дисперсия примерно стабилизируется.
Логарифмирование — частный случай семейства преобразований,
которое называется семейством Бокса — Кокса.
Это параметрическое семейство функций с параметром λ, в котором λ определяет,
как именно мы преобразовываем ряд по сути.
λ = 0 соответствует логарифмированию, λ = 1 — это тождественное преобразование ряда,
то есть ряд фактически остается таким, как он был,
а при других значениях λ — это преобразование степенно́е.
λ можно подбирать некоторым образом так,
чтобы дисперсия была как можно более стабильной во времени.
Например, для ряда с продажами электричества оптимальным является
значение λ = 0,27.
При этом λ дисперсии немного более стабильна,
чем при использовании обычного логарифма.
Еще один важный трюк, который позволяет сделать ваш ряд стационарным,
— это дифференцирование.
Если вы имеете дело с нестационарным рядом, часто оказывается,
что стационарным является ряд его попарных разностей,
то есть вы от Y переходите к ряду разностей Yt − Y(t − 1).
Такая операция позволяет стабилизировать среднее значение ряда и избавиться от
тренда, иногда даже от сезонности.
Кроме того, это дифференцирование может применяться неоднократно,
то есть вы можете от ряда первых разностей, продифференцировав его еще раз,
перейти к ряду вторых разностей и так далее.
Длина ряда будет каждый раз немного сокращаться,
но зато он будет получаться стационарным.
Еще может использоваться сезонное дифференцирование — это когда вы
переходите от исходного ряда к ряду попарных разностей его значений в
соседних сезонах.
Если у вас сезонный период длины S, ваш новый ряд — это ряд из Yt − Y(t − s).
Сезонное и обычное дифференцирование могут применяться к ряду в любом порядке,
однако рекомендуется начинать именно с сезонного,
если у вашего ряда выраженный сезонный профиль.
Уже после такого преобразования может оказаться, что ряд стационарен.
Пример: на верхних графиках здесь индекс Доу — Джонса и его
автокорреляционная функция.
Мы видим, что этот ряд достаточно сильно нестационарен,
то есть он явно имеет выраженный тренд,
от которого удается полностью избавиться, просто продифференцировав.
В нижнем ряду график ежедневных изменений индекса Доу — Джонса, тот самый,
на который мы уже столько раз смотрели, и его автокорреляционная функция.
Критерий Дики — Фуллера подтверждает, что этот новый продифференцированный ряд
является стационарным, гипотеза нестационарности отвергается,
в то время как для исходного ряда гипотезу нестационарности отвергнуть нельзя.
Итак, в этом видео мы ввели понятие стационарности,
и мы узнали, как обычный нестационарный ряд можно превратить в стационарный
с использованием двух специальных трюков — стабилизации дисперсии с помощью,
например, семейства преобразований Бокса — Кокса, и дифференцирования.
Кроме того, мы узнали, как именно проверять гипотезу о том,
что ряд является нестационарным.
В следующем видео мы разберемся с тем, зачем все это было нужно,
и начнем рассматривать наконец первые прогнозирующие модели временных рядов.