hpfilter

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

Синтаксис

hpfilter(S)
hpfilter(S,smoothing)
T = hpfilter(...)
[T,C] = hpfilter(...)

Описание

  • hpfilter(S) использует фильтр Ходрик-Прескотта и параметр сглаживания значения по умолчанию 1 600, чтобы разделить столбцы S в тренд и циклические компоненты. S m-by-n матрица с выборками m от временных рядов n. График отображает каждые временные ряды вместе со своим трендом (временные ряды с циклическим удаленным компонентом).

  • hpfilter(S,smoothing) применяет параметр сглаживания smoothing к столбцам S. Если smoothing скаляр, hpfilter применяет его ко всем столбцам. Если S имеет столбцы n и smoothing соответствующий вектор (n-by-1 или 1 n), hpfilter применяет векторные компоненты smoothing к соответствующим столбцам S.

    Если параметром сглаживания является 0, никакое сглаживание не происходит. Когда параметр сглаживания увеличивается в значении, сглаживавший ряд становится более линейным. Параметр сглаживания Inf производит линейный компонент тренда.

    Соответствующие значения параметра сглаживания зависят от периодичности данных. Следующая ссылка предлагает следующие значения:

    • Ежегодно — 100

    • Ежеквартально — 1600

    • Ежемесячно — 14400

  • T = hpfilter(...) возвращает компоненты тренда столбцов S в T, без графического вывода.

  • [T,C] = hpfilter(...) возвращает циклические компоненты столбцов S в C, без графического вывода.

Примеры

свернуть все

Постройте циклический компонент американского действительного GNP с учетом сезонных колебаний после Второй Мировой войны. В hpfilter, задайте тот smoothing 1600, который подходит для ежеквартальных данных.

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

plot(gnpDate,c) 
axis tight

Алгоритмы

Фильтр Ходрик-Прескотта разделяет временные ряды y t на компонент тренда T t и циклический C компонента t, таким образом что y t = T t + C t. Это эквивалентно кубическому более сглаженному сплайну со сглаживавшим фрагментом в T t.

Целевая функция для фильтра имеет форму

t=1mCt2+λt=2m1((Tt+1Tt)(TtTt1))2

где m является количеством выборок, и λ является параметром сглаживания. Проблема программирования должна минимизировать цель по всему T 1..., T m. Первая сумма минимизирует различие между временными рядами и его компонентом тренда (который является его циклическим компонентом). Вторая сумма минимизирует различие второго порядка компонента тренда (который походит на минимизацию второй производной компонента тренда).

Ссылки

[1] Hodrick, Роберт Дж и Эдвард К. Прескотт. “Послевоенные американские Деловые циклы: Эмпирическое Расследование”. Журнал Денег, Кредита и Банковского дела. Издание 29, № 1, февраль 1997, стр 1–16.

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

Для просмотра документации необходимо авторизоваться на сайте