hpfilter

Фильтр Ходрика-Прескотта для трендовых и циклических компонентов

Описание

пример

hpfilter(Y) строит графики данных переменных временных рядов (столбцов) Y и их соответствующие компоненты тренда, рассчитанные фильтром Ходрика-Прескотта. Параметр сглаживания 1600, что соответствует ежеквартальной периодичности [1 ].hpfilter строит графики всех временных рядов и их соответствующих компонентов тренда на одних и тех же осях.

hpfilter(Y,smoothing) применяет параметр сглаживания фильтра Ходрика-Прескотта smoothing.

Trend = hpfilter(___) возвращает компоненты тренда Trend переменных временных рядов, использующих любую из комбинаций входных аргументов в предыдущих синтаксисах.

[Trend,Cyclical] = hpfilter(___) также возвращает циклические компоненты Cyclical.

Примеры

свернуть все

Постройте график циклического компонента США после второй мировой сезонно скорректированного реального валового национального породука (ВНП). Задайте smoothing 1600, что соответствует ежеквартальным данным.

load Data_GNP
gnpDate = dates;
realgnp = DataTable.GNPR;
[~,c] = hpfilter(realgnp,1600);

plot(gnpDate,c) 
axis tight
ylabel('Real GNP cyclical component')

Figure contains an axes. The axes contains an object of type line.

Входные параметры

свернуть все

Данные временных рядов, заданные как числовой вектор длины numObs или numObs-by- numSeries числовая матрица.

  • Вектор представляет numObs наблюдения одной серии или переменной.

  • Матрица представляет numObs наблюдения за numSeries серия. Y (j, k) - наблюдаемое значение последовательной k во время j. Наблюдения в одной строке происходят одновременно.

Последний элемент или строка содержит последнее наблюдение.

Если какой-либо элемент Y является NaN или Inf, hpfilter выдает ошибку.

Типы данных: double

Параметр сглаживания компонента тренда, заданный как неотрицательный числовой скаляр или неотрицательный числовой вектор длины numSeries. Для числового скаляра, hpfilter применяется smoothing ко всем последовательностям в Y. Для числового вектора, hpfilter применяет сглаживание (k) к последовательным k в данных (Y (:, k)).

Если сглаживание (k) является 0, hpfilter не сглаживает трендовый компонент последовательных k. В этом случае верны следующие:

  • Тренд (:, k) = Y (:, k).

  • Циклический (:, k) = zeros(numObs,1).

Если сглаживание (k) является Inf, hpfilter применяет максимальное сглаживание. В этом случае верны следующие:

  • Тренд (:, k) - линейный временной тренд, вычисленный методом наименьших квадратов.

  • Циклический (:, k) - детрендированный ряд.

Когда величина параметра сглаживания увеличивается, Trend приближается к линейному временному тренду.

Соответствующие значения параметра сглаживания зависят от периодичности данных. Хотя лучшая практика состоит в том, чтобы экспериментировать со значениями сглаживания для ваших данных, эти значения сглаживания рекомендованы [1]:

  • 14400 для ежемесячных данных

  • 1600 для ежеквартальных данных

  • 100 для ежегодных данных

Пример: 100

Типы данных: double

Выходные аргументы

свернуть все

Тренды компонента τt каждой серии в данных, возвращенные в виде числового вектора или матрицы с такими же размерностями, как Y.

Циклические ct компонентов каждой серии в данных, возвращенные в виде числового вектора или матрицы с такими же размерностями, как Y.

Подробнее о

свернуть все

Фильтр Ходрика-Прескотта

Hodrick-Prescott filter разлагает наблюдаемые временные ряды yt (Y) в τt компонента тренда (Trend) и циклический компонент ct (Cyclical) таким, что yt = τt + ct.

Целевая функция фильтра:

f(τt)=t=1T(ytτt)2+λt=2T1[(τt+1τt)(τtτt1)]2,

где:

  • T - размер выборки.

  • λ является параметром сглаживания (smoothing).

  • ytτt = ct.

Задача программирования состоит в том, чтобы минимизировать целевую функцию над τ 1,..., τT. Цель штрафует сумму квадратов для циклического компонента с суммой квадратов различий второго порядка для компонента тренда (trend acceleration penalty). Если λ = 0, минимум цели 0 с τt = yt для всех t. Когда λ увеличивается, штраф за гибкий тренд увеличивается, что приводит к все более плавному тренду. Когда λ произвольно велика, ускорение тренда приближается к 0, получая линейный тренд.

Этот рисунок показывает эффекты увеличения параметра сглаживания на компоненте тренда для моделируемого ряда.

The effects of increasing the smoothing parameter on the trend component for a simulated series

Фильтр эквивалентен кубическому сплайну, более сглаженному, где сглаженный компонент τt.

Совет

  • Для высокочастотных рядов фильтр Ходрика-Прескотта может создавать аномальные эффекты конечной точки. В этом случае не экстраполируйте ряд с помощью результатов фильтра.

Ссылки

[1] Ходрик, Роберт Дж., и Эдвард К. Прескотт. Послевоенные бизнес-циклы США: эмпирическое расследование. Журнал денег, кредита и банковского дела 29, № 1 (февраль 1997 года): 1-16. https://doi.org/10.2307/2953682.

Введенный в R2006b