Устранение сезонных трендов с помощью сезонного дифференцирования
Для временных рядов с сезонными трендами можно применить сезонное дифференцирование, чтобы устранить периодические паттерны. Например, месячные данные нередко демонстрируют выраженный двенадцатимесячный цикл. В таких случаях изменения поведения из года в год могут быть интереснее, чем изменения от месяца к месяцу, которые в основном следуют общему сезонному паттерну.
Функция diff(..., lag = s) вычисляет разность с лагом s, то есть сезонные изменения длиной s. Для месячных или квартальных данных подходящим значением s будет 12 или 4 соответственно. По умолчанию функция diff() использует lag = 1 для первичного дифференцирования. Как и прежде, ряд после сезонного дифференцирования будет содержать на s наблюдений меньше, чем исходный.
Это упражнение является частью курса
Анализ временных рядов в R
Инструкции к упражнению
- Временной ряд
xуже загружен и показан на соседнем графике — его значения варьируются ниже −10 и выше +10. Примените функциюdiff(..., lag = 4)кxи сохраните результат в переменнуюdx. - Используйте
ts.plot(), чтобы отобразить преобразованный рядdx, и обратите внимание на уменьшившийся диапазон значений по вертикальной оси. - Дважды вызовите функцию
length(), чтобы вычислить количество наблюдений вxиdxсоответственно.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Generate a diff of x with lag = 4. Save this to dx
dx <-
# Plot dx
# View the length of x and dx, respectively