exponenta event banner

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около-numSeries числовая матрица.

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

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

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

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

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

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

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

  • Trend(:,k) = Y(:,k).

  • Cyclical(:,k) = zeros(numObs,1).

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

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

  • Cyclical(:,k) является убыточной серией.

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

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

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

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

  • 100 для годовых данных

Пример: 100

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

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

свернуть все

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

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

Подробнее

свернуть все

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

Фильтр Ходрика-Прескотта разлагает наблюдаемый временной ряд yt (Y) в трендовую составляющую startt (Trend) и циклический компонент ct (Cyclical) таким образом, что yt = startt + ct.

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

f (thet) =∑t=1T (yt thet) 2+λ∑t=2T−1 [((thet + 1

где:

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

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

  • yt - startt = ct.

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

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

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

Фильтр эквивалентен кубическому сплайну более гладкому, где сглаженная составляющая является

Совет

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

Ссылки

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

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