hpfilter

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

Описание

пример

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

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

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

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

Примеры

свернуть все

Постройте циклический компонент США действительный грубый национальный poroduct (GNP) с учетом сезонных колебаний после Второй Мировой войны. Задайте smoothing из 1 600, который подходит для ежеквартальных данных.

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 object. The axes object contains an object of type line.

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

свернуть все

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

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

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

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

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

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

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

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

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

  • Цикличный (: K) = zeros(numObs,1).

При сглаживании (k) isinf, 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] Hodrick, Роберт Дж. и Эдвард К. Прескотт. "Послевоенные американские Деловые циклы: Эмпирическое Расследование". Журнал Денег, Кредита и Банковского дела 29, № 1 (февраль 1997): 1–16. https://doi.org/10.2307/2953682.

Представленный в R2006b