irf

Сгенерируйте векторные импульсные ответы модели (VAR) авторегрессии

Функция irf возвращает динамический ответ или импульсную функцию отклика (IRF), к шоку с одним стандартным отклонением для каждой переменной в модели VAR (p). Полностью заданный объект модели varm характеризует модель VAR.

Чтобы оценить или построить IRF динамической линейной модели, охарактеризованной структурным, авторегрессия или содействующие матрицы скользящего среднего значения, видит armairf.

IRFs прослеживают эффекты инновационного шока для одной переменной на ответе всех переменных в системе. Напротив, разложение отклонения ошибки прогноза (FEVD) предоставляет информацию об относительной важности каждых инноваций во влиянии на все переменные в системе. Чтобы оценить FEVD модели VAR, охарактеризованной объектом модели varm, смотрите fevd.

Синтаксис

Response = irf(Mdl)
Response = irf(Mdl,Name,Value)
[Response,Lower,Upper] = irf(___)

Описание

пример

Response = irf(Mdl) возвращает ортогонализируемый IRF с 20 периодами переменных отклика, которые составляют модель VAR (p) Mdl, охарактеризованный полностью заданным объектом модели varm. irf потрясает переменные во время 0 и возвращает IRF в течение многих времен 0 до 19.

пример

Response = irf(Mdl,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, 'NumObs',10,'Method',"generalized" задает оценку обобщенного IRF для 10 моментов времени, запускающихся во время 0, во время которого irf применяет шок, и заканчивающийся в период 9.

пример

[Response,Lower,Upper] = irf(___) использование любая из комбинаций входных аргументов в предыдущих синтаксисах и возвращает более низкие и верхние 95% доверительных границ в течение каждого периода и переменной в IRF:

  • Если вы задаете серию невязок при помощи аргумента пары "имя-значение" E, то irf оценивает доверительные границы путем начальной загрузки заданных невязок.

  • В противном случае irf оценивает доверительные границы путем проведения симуляции Монте-Карло.

Если Mdl является пользовательским объектом модели varm (объект, не возвращенный estimate или измененный после оценки), irf может потребовать объема выборки для симуляции SampleSize или преддемонстрационные ответы Y0.

Примеры

свернуть все

Соответствуйте 4-D модели VAR (2) к датским деньгам и поступите ряд уровня. Затем оценка и график ортогонализируемый IRF из предполагаемой модели.

Загрузите датские деньги и поступите набор данных.

load Data_JDanish

Набор данных включает четыре временных ряда в таблицу DataTable. Для получения дополнительной информации на наборе данных, введите Description в командной строке.

При предположении, что ряды являются стационарными, создайте объект модели varm, который представляет 4-D модель VAR (2). Задайте имена переменных.

Mdl = varm(4,2);
Mdl.SeriesNames = DataTable.Properties.VariableNames;

Mdl является объектом модели varm, задающим структуру 4-D модели VAR (2); это - шаблон для оценки.

Соответствуйте модели VAR (2) к набору данных.

Mdl = estimate(Mdl,DataTable.Series);

Mdl является полностью заданным объектом модели varm, представляющим предполагаемую 4-D модель VAR (2).

Оцените ортогонализируемый IRF из предполагаемой модели VAR (2).

Response = irf(Mdl);

Response является 20 массивом 4 на 4, представляющим IRF Mdl. Строки соответствуют последовательным моментам времени со времени от 0 до 19, столбцы соответствуют переменным, получающим инновационный шок с одним стандартным отклонением во время 0, и страницы соответствуют ответам переменных к потрясаемой переменной. Mdl.SeriesNames задает переменный порядок.

Отобразите IRF курса облигаций (переменные 3, IB), когда журнал реального дохода (переменные 2, Y) будет потрясен во время 0.

Response(:,2,3)
ans = 20×1

    0.0018
    0.0048
    0.0054
    0.0051
    0.0040
    0.0029
    0.0019
    0.0011
    0.0006
    0.0003
      ⋮

Постройте IRFs всего ряда на отдельных графиках путем передачи предполагаемой содействующей ковариационной матрицы матриц и инноваций AR Mdl к armairf.

armairf(Mdl.AR,[],"InnovCov",Mdl.Covariance);

Каждый график показывает четыре IRFs переменной, когда все другие переменные потрясены во время 0. Mdl.SeriesNames задает переменный порядок.

Считайте 4-D модель VAR (2) в Модели VAR Оценки и Графика IRF. Оцените обобщенный IRF системы в течение 50 периодов.

Загрузите датские деньги и поступите набор данных, затем оцените модель VAR (2).

load Data_JDanish

Mdl = varm(4,2);
Mdl.SeriesNames = DataTable.Properties.VariableNames;
Mdl = estimate(Mdl,DataTable.Series);

Оцените обобщенный IRF из предполагаемой модели VAR (2).

Response = irf(Mdl,"Method","generalized","NumObs",50);

Response является 50 массивом 4 на 4, представляющим обобщенный IRF Mdl.

Постройте обобщенный IRF курса облигаций, когда реальный доход будет потрясен во время 0.

figure;
plot(0:49,Response(:,2,3))
title("IRF of IB When Y Is Shocked")
xlabel("Observation Time")
ylabel("Response")
grid on

Курс облигаций исчезает медленно, когда реальный доход потрясен во время 0.

Считайте 4-D модель VAR (2) в Модели VAR Оценки и Графика IRF. Оцените и постройте его ортогонализируемый IRF и 95% доверительных интервалов Монте-Карло на истинном IRF.

Загрузите датские деньги и поступите набор данных, затем оцените модель VAR (2).

load Data_JDanish

Mdl = varm(4,2);
Mdl.SeriesNames = DataTable.Properties.VariableNames;
Mdl = estimate(Mdl,DataTable.Series);

Оцените IRF и соответствующие 95% доверительных интервалов Монте-Карло из предполагаемой модели VAR (2).

rng(1); % For reproducibility
[Response,Lower,Upper] = irf(Mdl);

Response, Lower и Upper 20 массивами 4 на 4, представляющими ортогонализируемый IRF Mdl и соответствующие нижние и верхние границы доверительных интервалов. Для всех массивов строки соответствуют последовательным моментам времени со времени от 0 до 19, столбцы соответствуют переменным, получающим инновационный шок с одним стандартным отклонением во время 0, и страницы соответствуют ответам переменных к потрясаемой переменной. Mdl.SeriesNames задает переменный порядок.

Постройте ортогонализируемый IRF с его доверительными границами курса облигаций, когда реальный доход будет потрясен во время 0.

irfshock2resp3 = Response(:,2,3);
IRFCIShock2Resp3 = [Lower(:,2,3) Upper(:,2,3)];

figure;
h1 = plot(0:19,irfshock2resp3);
hold on
h2 = plot(0:19,IRFCIShock2Resp3,'r--');
legend([h1 h2(1)],["IRF" "95% Confidence Interval"])
xlabel("Time Index");
ylabel("Response");
title("IRF of IB When Y Is Shocked");
grid on
hold off

Эффект импульса к реальному доходу на курсе облигаций исчезает после 10 периодов.

Считайте 4-D модель VAR (2) в Модели VAR Оценки и Графика IRF. Оцените и постройте его ортогонализируемый IRF и 90%-е доверительные интервалы начальной загрузки на истинном IRF.

Загрузите датские деньги и поступите набор данных, затем оцените модель VAR (2). Возвратите невязки в образцовую оценку.

load Data_JDanish

Mdl = varm(4,2);
Mdl.SeriesNames = DataTable.Properties.VariableNames;
[Mdl,~,~,E] = estimate(Mdl,DataTable.Series);
T = size(DataTable,1) % Total sample size
T = 55
n = size(E,1)         % Effective sample size
n = 53

E 53 4 массив невязок. Столбцы соответствуют переменным в Mdl.SeriesNames. Функция estimate требует, чтобы Mdl.P = 2 наблюдения инициализировал модель VAR (2) для оценки. Поскольку преддемонстрационные данные (Y0) не заданы, estimate берет первые два наблюдения в заданных данных об ответе, чтобы инициализировать модель. Поэтому получившимся эффективным объемом выборки является TMdl.P = 53, и строки E соответствуют индексам наблюдения 3 через T.

Оцените ортогонализируемый IRF и соответствующие 90%-е доверительные интервалы начальной загрузки из предполагаемой модели VAR (2). Чертите 500 путей длины n от серии невязок.

rng(1); % For reproducibility
[Response,Lower,Upper] = irf(Mdl,"E",E,"NumPaths",500,...
    "Confidence",0.9);

Постройте ортогонализируемый IRF с его доверительными границами курса облигаций, когда реальный доход будет потрясен во время 0.

irfshock2resp3 = Response(:,2,3);
IRFCIShock2Resp3 = [Lower(:,2,3) Upper(:,2,3)];

figure;
h1 = plot(0:19,irfshock2resp3);
hold on
h2 = plot(0:19,IRFCIShock2Resp3,'r--');
legend([h1 h2(1)],["IRF" "90% Confidence Interval"])
xlabel("Time Index");
ylabel("Response");
title("IRF of IB When Y Is Shocked");
grid on
hold off

Эффект импульса к реальному доходу на курсе облигаций исчезает после 10 периодов.

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

свернуть все

Модель VAR, заданная как объект модели varm, созданный varm или estimate. Mdl должен быть полностью задан.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'NumObs',10,'Method',"generalized" задает оценку обобщенного IRF для 10 моментов времени, запускающихся во время 0, во время которого irf применяет шок, и заканчивающийся в период 9.

Опции для всего IRFs

свернуть все

Количество периодов, в течение которых irf вычисляет IRF, заданный как пара, разделенная запятой, состоящая из 'NumObs' и положительного целого числа. NumObs задает количество наблюдений, чтобы включать в IRF (количество строк в Response).

Пример: 'NumObs',10 задает включение 10 моментов времени в IRF, запускающемся во время 0, во время которого irf применяет шок, и заканчивающийся в период 9.

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

Метод вычисления IRF, заданный как пара, разделенная запятой, состоящая из 'Method' и значения в этой таблице.

ЗначениеОписание
"orthogonalized"Вычислите импульсные ответы с помощью ортогонализируемых, инновационных шоков с одним стандартным отклонением. irf использует факторизацию Холесского Mdl.Covariance для ортогонализации.
"generalized"Вычислите импульсные ответы с помощью инновационных шоков с одним стандартным отклонением.

Пример: 'Method',"generalized"

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

Опции для оценки доверительной границы

свернуть все

Количество демонстрационных путей (испытания), чтобы сгенерировать, заданный как пара, разделенная запятой, состоящая из 'NumPaths' и положительного целого числа.

Пример: 'NumPaths',1000 генерирует демонстрационные пути 1000, от которых программное обеспечение выводит доверительные границы.

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

Количество наблюдений для симуляции Монте-Карло или начальной загрузки на демонстрационный путь, заданный как пара, разделенная запятой, состоящая из 'SampleSize' и положительного целого числа.

  • Если Mdl является предполагаемым объектом модели varm (объект, возвращенный estimate и неизмененный после этого), то значением по умолчанию является объем выборки данных, к которым модель является подходящей (см. summarize).

  • Если оценочные доверительные границы irf путем проведения симуляции Монте-Карло (для получения дополнительной информации смотрите E), необходимо задать SampleSize.

  • Если irf оценивает доверительные границы путем начальной загрузки невязок, значением по умолчанию является длина заданной серии невязок (size(E,1)).

Пример: Если вы задаете 'SampleSize',100 и не задаете аргумент пары "имя-значение" 'E', программное обеспечение оценивает доверительные границы от NumPaths случайные пути длины 100 от Mdl.

Пример: Если вы задаете 'SampleSize',100,'E',E, программное обеспечение передискретизирует, с заменой, наблюдения 100 (строки) от E, чтобы сформировать демонстрационный путь инноваций, чтобы проникнуть в Mdl. Программное обеспечение формирует пути к случайной выборке NumPaths, от которых оно выводит доверительные границы.

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

Преддемонстрационные данные об ответе, которые обеспечивают начальные значения для образцовой оценки во время симуляции, заданной как пара, разделенная запятой, состоящая из 'Y0' и numpreobs-by-numseries числовая матрица.

Строки Y0 соответствуют периодам в предварительной выборке, и последняя строка содержит последний преддемонстрационный ответ. numpreobs является количеством заданных преддемонстрационных ответов, и это должен быть, по крайней мере, Mdl.P. Если numpreobs превышает Mdl.P, то irf использует только последние строки Mdl.P.

numseries является размерностью модели Mdl.NumSeries входа VAR. Столбцы должны соответствовать переменным отклика в Mdl.SeriesNames.

  • Если Mdl является предполагаемым объектом модели varm (объект, возвращенный estimate и неизмененный после этого), irf устанавливает Y0 на преддемонстрационные данные об ответе, используемые для оценки по умолчанию (см. 'Y0').

  • В противном случае необходимо задать Y0.

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

Данные о предикторе для оценки образцового компонента регрессии во время симуляции, заданной как пара, разделенная запятой, состоящая из 'X' и числовой матрицы, содержащей столбцы numpreds.

numpreds является количеством переменных прогноза (size(Mdl.Beta,2)).

Строки соответствуют наблюдениям. X должен иметь, по крайней мере, строки SampleSize. Если вы предоставляете больше строк, чем необходимый, irf использует только последние наблюдения SampleSize. Последняя строка содержит последнее наблюдение.

Столбцы соответствуют отдельным переменным прогноза. Все переменные прогноза присутствуют в компоненте регрессии каждого уравнения ответа.

Чтобы поддержать образцовую непротиворечивость, когда irf оценивает доверительные границы, хорошая практика должна задать X, когда Mdl имеет компонент регрессии. Если Mdl является предполагаемой моделью, задайте данные о предикторе, используемые во время образцовой оценки (см. 'X').

По умолчанию irf исключает компонент регрессии из оценки доверительной границы, независимо от ее присутствия в Mdl.

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

Серия невязок, от которых можно чертить выборки начальной загрузки, заданные как пара, разделенная запятой, состоящая из 'E' и числовой матрицы, содержащей столбцы numseries. irf принимает, что E свободен от последовательной корреляции.

Столбцы содержат остаточный ряд, соответствующий серийным именам ответа в Mdl.SeriesNames.

Если Mdl является предполагаемым объектом модели varm (объект, возвращенный estimate), можно задать E как выведенные невязки от оценки (см. E или infer).

По умолчанию irf выводит доверительные границы путем проведения симуляции Монте-Карло.

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

Доверительный уровень для доверительных границ, заданных как пара, разделенная запятой, состоящая из 'Confidence' и числового скаляра в [0,1].

Предположим Confidence = c. Затем 100 (1 – c)/2 процент импульсных ответов лежат вне доверительных границ.

Значением по умолчанию является 0.95, который подразумевает, что доверительные границы представляют 95% доверительных интервалов.

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

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

свернуть все

IRF, возвращенный как numobs-by-numseries-by-numseries числовой массив. numobs является значением NumObs. Столбцы и страницы соответствуют переменным отклика в Mdl.SeriesNames.

Response(t + 1,j,k) является импульсным ответом переменной k к инновационному шоку с одним стандартным отклонением для переменной j во время 0, для t = 0, 1..., numObs – 1, j = 1,2..., numseries и k = 1,2..., numseries.

Более низкие доверительные границы, возвращенные как numobs-by-numseries-by-numseries числовой массив. Элементы Lower соответствуют элементам Response.

Lower(t + 1,j,k) является нижней границей интервала процентили % 100*Confidence на истинном импульсном ответе переменной k к инновационному шоку с одним стандартным отклонением для переменной j во время 0.

Верхние доверительные границы, возвращенные как numobs-by-numseries-by-numseries числовой массив. Элементы Upper соответствуют элементам Response.

Upper(t + 1,j,k) является верхней границей интервала процентили % 100*Confidence на истинном импульсном ответе переменной k к инновационному шоку с одним стандартным отклонением для переменной j во время 0.

Больше о

свернуть все

Импульсная функция отклика

impulse response function (IRF) модели временных рядов (или dynamic response of the system) измеряет изменения в будущих ответах всех переменных в системе, когда переменная потрясена импульсом. Другими словами, IRF во время, t является производной ответов во время t относительно инноваций во время t 0 (время, когда инновации были потрясены), tt 0.

Считайте numseries-D моделью VAR (p) для многомерной переменной отклика yt. В обозначении оператора задержки бесконечное представление MA задержки yt:

yt=Φ1(L)(c+βxt+δt)+Φ1(L)εt=Ω(L)(c+βxt+δt)+Ω(L)εt.

Общая форма IRF yt, потрясенного импульсом к переменной j одним стандартным отклонением его инноваций периоды m в будущее:

ψj(m)=Cmej.

  • ej является вектором выбора длины numseries, содержащий 1 в элементе j и нули в другом месте.

  • Для ортогонализируемого IRF, Cm=ΩmP, где P является нижним треугольным фактором в факторизации Холесского Σ, и Ωm является задержкой коэффициент m Ω (L).

  • Для обобщенного IRF, Cm=σj1ΩmΣ, где σj является стандартным отклонением инноваций j.

  • IRF свободен от образцового постоянного, компонента регрессии и тренда времени.

Векторная модель авторегрессии

vector autoregression (VAR) model является стационарной многомерной моделью временных рядов, состоящей из системы уравнений m m отличные переменные отклика как линейные функции изолированных ответов и других условий.

Модель VAR (p) в difference-equation notation и в reduced form

yt=c+Φ1yt1+Φ2yt2+...+Φpytp+βxt+δt+εt.

  • yt является numseries-by-1 вектор значений, соответствующих переменным отклика numseries во время t, где t = 1..., T. Структурный коэффициент является единичной матрицей.

  • c является numseries-by-1 вектор констант.

  • Φj является numseries-by-numseries матрица авторегрессивных коэффициентов, где j = 1..., p и Φp не является матрицей, содержащей только нули.

  • xt является numpreds-by-1 вектор значений, соответствующих numpreds внешние переменные прогноза.

  • β является numseries-by-numpreds матрица коэффициентов регрессии.

  • δ является numseries-by-1 вектор линейных значений тренда времени.

  • εt является numseries-by-1 вектор случайных Гауссовых инноваций, каждого со средним значением 0 и коллективно numseries-by-numseries ковариационная матрица Σ. Для ts, εt и εs независимы.

Сжатый и в обозначении оператора задержки, система

Φ(L)yt=c+βxt+δt+εt,

где Φ(L)=IΦ1LΦ2L2...ΦpLp, Φ (L), yt является многомерным авторегрессивным полиномом и I, является numseries-by-numseries единичная матрица.

Алгоритмы

  • Значения NaN в Y0, X и E указывают на недостающие данные. irf удаляет недостающие данные из этих аргументов мудрым списком удалением. Каждый аргумент, если строка содержит по крайней мере один NaN, то irf удаляет целую строку.

    Мудрое списком удаление уменьшает объем выборки, может создать неправильные временные ряды и может заставить E и X не синхронизироваться.

  • Если Method является "orthogonalized", то получившийся IRF зависит от порядка переменных в модели временных рядов. Если Method является "generalized", то получившийся IRF является инвариантным к порядку переменных. Поэтому эти два метода обычно приводят к различным результатам.

  • Если Mdl.Covariance является диагональной матрицей, то получившиеся обобщенные и ортогонализируемые IRFs идентичны. В противном случае получившиеся обобщенные и ортогонализируемые IRFs идентичны только, когда первая переменная потрясает все переменные (то есть, все остальное являющееся тем же самым, оба метода приводят к тому же значению Response(:,1,:)).

  • Данные о предикторе X представляют один путь внешних многомерных временных рядов. Если вы задаете X и модель VAR, Mdl имеет компонент регрессии (Mdl.Beta не является пустым массивом), irf применяет те же внешние данные ко всем путям, используемым для оценки доверительного интервала.

  • irf проводит симуляцию, чтобы оценить доверительные границы Lower и Upper.

    • Если вы не задаете невязки E, то irf проводит симуляцию Монте-Карло путем выполнения этой процедуры:

      1. Моделируйте пути к ответу NumPaths длины SampleSize от Mdl.

      2. Подходящие модели NumPaths, которые имеют ту же структуру как Mdl к моделируемым путям к ответу. Если Mdl содержит компонент регрессии, и вы задаете X, то irf соответствует моделям NumPaths к моделируемым путям к ответу и X (те же данные о предикторе для всех путей).

      3. Оцените NumPaths, IRFs от NumPaths оценил модели.

      4. Для каждого момента времени t = 0, …, NumObs, оценивают доверительные интервалы путем вычисления 1 – Confidence и квантили Confidence (верхние и нижние границы, соответственно).

    • Если вы задаете невязки E, то irf проводит непараметрическую начальную загрузку путем выполнения этой процедуры:

      1. Передискретизируйте, с заменой, невязками SampleSize от E. Выполните этот шаг времена NumPaths, чтобы получить пути NumPaths.

      2. Сосредоточьте каждый путь загруженных невязок.

      3. Отфильтруйте каждый путь загруженных невязок в центре через Mdl, чтобы получить загруженные пути к ответу NumPaths длины SampleSize.

      4. Полные шаги 2 - 4 симуляции Монте-Карло, но замена моделируемые пути к ответу с загруженными путями к ответу.

Ссылки

[1] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.

[2] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Нью-Йорк, Нью-Йорк: Springer-Verlag, 2007.

[3] Pesaran, H. H. и И. Шин. "Обобщенный Импульсный Анализ Ответа в Линейных Многомерных Моделях". Экономические Буквы. Издание 58, 1998, стр 17–29.

Смотрите также

Объекты

Функции

Введенный в R2019a