fevd

Сгенерируйте векторное разложение отклонения ошибки прогноза (FEVD) модели (VAR) авторегрессии

Описание

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

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

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

пример

Decomposition = fevd(Mdl) возвращает ортогонализируемый FEVDs переменных отклика, которые составляют модель VAR (p) Mdl, охарактеризованный полностью заданным varm объект модели. fevd переменные шоков во время 0, и возвращают FEVD в течение многих времен 1 - 20.

пример

Decomposition = fevd(Mdl,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, 'NumObs',10,'Method',"generalized" задает оценку обобщенного FEVD в течение периодов 1 - 10.

пример

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

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

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

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

Примеры

свернуть все

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

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

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).

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

Decomposition = fevd(Mdl);

Decomposition 20 массивом 4 на 4, представляющим FEVD Mdl. Строки соответствуют последовательным моментам времени со времени 1 - 20, столбцы соответствуют переменным, получающим инновационный шок с одним стандартным отклонением во время 0, и страницы соответствуют переменным чье отклонение ошибки прогноза fevd разлагается. Mdl.SeriesNames задает переменный порядок.

Поскольку Decomposition представляет ортогонализируемый FEVD, строки должны суммировать к 1. Эта характеристика иллюстрирует, что ортогонализируемые FEVDs представляют пропорции вкладов отклонения. Подтвердите что все строки Decomposition суммируйте к 1.

rowsums = sum(Decomposition,2);
sum((rowsums - 1).^2 > eps)
ans = 
ans(:,:,1) =

     0


ans(:,:,2) =

     0


ans(:,:,3) =

     0


ans(:,:,4) =

     0

Суммы строки среди страниц близко к 1.

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

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

    0.0499
    0.1389
    0.1700
    0.1807
    0.1777
    0.1694
    0.1601
    0.1516
    0.1446
    0.1390
      ⋮

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

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

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

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

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

load Data_JDanish

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

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

Decomposition = fevd(Mdl,"Method","generalized","NumObs",100);

Decomposition 100 массивом 4 на 4, представляющим обобщенный FEVD Mdl.

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

figure;
plot(1:100,Decomposition(:,2,3))
title("FEVD of IB When Y Is Shocked")
xlabel("Forecast Horizon")
ylabel("Variance Contribution")
grid on

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

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

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

load Data_JDanish

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

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

rng(1); % For reproducibility
[Decomposition,Lower,Upper] = fevd(Mdl);

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

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

fevdshock2resp3 = Decomposition(:,2,3);
FEVDCIShock2Resp3 = [Lower(:,2,3) Upper(:,2,3)];

figure;
h1 = plot(1:20,fevdshock2resp3);
hold on
h2 = plot(1:20,FEVDCIShock2Resp3,'r--');
legend([h1 h2(1)],["FEVD" "95% Confidence Interval"],...
    'Location',"best")
xlabel("Forecast Horizon");
ylabel("Variance Contribution");
title("FEVD of IB When Y Is Shocked");
grid on
hold off

В конечном счете, и когда реальный доход потрясен, пропорция отклонения ошибки прогноза курса облигаций обосновывается между приблизительно 0 и 0.5 с 95%-й уверенностью.

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

Загрузите датские деньги и поступите набор данных, затем оцените модель 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.

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

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

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

fevdshock2resp3 = Decomposition(:,2,3);
FEVDCIShock2Resp3 = [Lower(:,2,3) Upper(:,2,3)];

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

В конечном счете, и когда реальный доход потрясен, пропорция отклонения ошибки прогноза курса облигаций обосновывается между приблизительно 0,05 и 0.4 с 90%-й уверенностью.

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

свернуть все

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

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

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

Пример: 'NumObs',10,'Method',"generalized" задает оценку обобщенного FEVD в течение периодов 1 - 10.

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

свернуть все

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

Пример: 'NumObs',10 задает оценку FEVD в течение многих времен 1 - 10.

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

  • Если fevd оценочные доверительные границы путем начальной загрузки остаточных значений, значением по умолчанию является длина заданной серии остаточных значений (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, затем fevd использование только последний Mdl.P 'Строки' .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Разложение (tJK) вклад в разложение отклонения переменной k относящийся к инновациям с одним стандартным отклонением потрясают к переменной j во время t, для t = 1,2, …, numobsJ = 1,2..., numseries, и k = 1,2..., numseries.

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

Ниже (tJK) нижняя граница 100*Confidence% интервал процентили на истинном вкладе в разложение отклонения переменной k относящийся к инновациям с одним стандартным отклонением потрясают к переменной j во время 0.

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

Верхний (tJK) верхняя граница 100*Confidence% интервал процентили на истинном вкладе в разложение отклонения переменной k относящийся к инновациям с одним стандартным отклонением потрясают к переменной j во время 0.

Больше о

свернуть все

Разложение отклонения ошибки прогноза

forecast error variance decomposition (FEVD) многомерной, динамической системы показывает относительную важность шока для каждых инноваций во влиянии на отклонение ошибки прогноза всех переменных в системе.

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

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

Общая форма FEVD ykt (переменная k) периоды m в будущее, относящееся к инновационному шоку с одним стандартным отклонением для yjt,

γmjk=t=0m1(ekCtej)2t=0m1ekΩtΣΩtek.

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

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

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

  • Числитель является вкладом инновационного шока для переменной j к отклонению ошибки прогноза m - неродной вперед прогноз переменной k. Знаменатель является среднеквадратичной погрешностью (MSE) m - неродной вперед прогноз переменной k [3].

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

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 единичная матрица.

Алгоритмы

  • Если Method "orthogonalized", затем fevd ортогонализирует инновационные шоки путем применения факторизации Холесского ковариационной матрицы модели Mdl.Covariance. Ковариация ортогонализируемых инновационных шоков является единичной матрицей и FEVD каждой переменной суммы к одной (то есть, сумма вдоль любой строки Decomposition один). Поэтому ортогонализируемый FEVD представляет пропорцию отклонения ошибки прогноза, относящегося к различным шокам в системе. Однако ортогонализируемый FEVD обычно зависит от порядка переменных.

    Если Method "generalized", затем получившийся FEVD является инвариантным к порядку переменных и не является основанным на ортогональном преобразовании. Кроме того, получившийся FEVD суммирует одному для конкретной переменной только когда Mdl.Covariance диагональный [4]. Поэтому обобщенный FEVD представляет вклад в отклонение ошибки прогноза мудрых уравнением шоков для переменных отклика в модели.

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

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

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

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

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

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

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

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

      3. Оцените NumPaths FEVDs от NumPaths предполагаемые модели.

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

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

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

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

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

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

Ссылки

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

[2] Lütkepohl, H. "Асимптотические Распределения Функций Импульсной характеристики и Разложения Отклонения Ошибки прогноза Векторных Авторегрессивных Моделей". Анализ Экономики и Статистики. Издание 72, 1990, стр 116–125.

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

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

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

Объекты

Функции

Введенный в R2019a

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