irf

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

Описание

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

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

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

пример

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ниже, и 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 имя аргумента и 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- 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- numseries- numseries числовой массив. numobs значение NumObs. Столбцы и страницы соответствуют переменным отклика в Mdl.SeriesNames.

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

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

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

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

Верхний (t + 1, jK) верхняя граница 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- 1 вектор значений, соответствующих numseries переменные отклика во время t, где t = 1..., T. Структурный коэффициент является единичной матрицей.

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

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

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

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

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

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

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

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

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

Алгоритмы

  • NaN значения в Y0X, и 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. Анализ Временных Рядов. Принстон, NJ: Издательство Принстонского университета, 1994.

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

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

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

Объекты

Функции

Введенный в R2019a

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