forecast

Прогнозные отклики из модели байесовской векторной авторегрессии (VAR)

Описание

forecast хорошо подходит для вычисления безусловных прогнозов вне выборки байесовской модели VAR (p), которая не содержит экзогенного регрессионного компонента. Для перспективных приложений, таких как выборочное условное прогнозирование, прогнозирование модели VARX (p), вменение отсутствующих значений и спецификация выборщика Гиббса для оценки апостериорного прогнозирующего распределения, см.simsmooth.

пример

YF = forecast(PriorMdl,numperiods,Y) возвращает путь прогнозируемых ответов YF по длине numperiods прогнозный горизонт. Каждый период в YF - среднее значение апостериорного прогнозирующего распределения, которое определяется из апостериорного распределения предыдущей байесовской модели VAR (p) PriorMdl учитывая данные отклика Y. Область выхода YF представляет продолжение Y.

NaNs в данных указывают отсутствующие значения, которые forecast удаляет с помощью спискового удаления.

пример

[YF,YFStd] = forecast(PriorMdl,numperiods,Y) также возвращает соответствующие стандартные отклонения апостериорного прогнозирующего распределения YFStd.

Примеры

свернуть все

Рассмотрим 3-D модель VAR (4) для инфляции в США (INFL), безработица (UNRATE), и федеральные фонды (FEDFUNDS) ставки.

[INFLtUNRATEtFEDFUNDSt]=c+j=14Φj[INFLt-jUNRATEt-jFEDFUNDSt-j]+[ε1,tε2,tε3,t].

Для всех t, εt - серия независимых 3-D нормальных инноваций со средним значением 0 и ковариацией Σ. Примите диффузное предшествующее распределение для параметров ([Φ1,...,Φ4,c],Σ).

Загрузка и предварительная обработка данных

Загрузите набор макроэкономических данных США. Рассчитать уровень инфляции, стабилизировать ставки по безработице и федеральным фондам и удалить отсутствующие значения.

load Data_USEconModel
seriesnames = ["INFL" "UNRATE" "FEDFUNDS"];
DataTable.INFL = 100*[NaN; price2ret(DataTable.CPIAUCSL)];
DataTable.DUNRATE = [NaN; diff(DataTable.UNRATE)];
DataTable.DFEDFUNDS = [NaN; diff(DataTable.FEDFUNDS)];
seriesnames(2:3) = "D" + seriesnames(2:3);
rmDataTable = rmmissing(DataTable);

Создайте предыдущую модель

Создайте диффузную предшествующую модель. Задайте имена рядов ответов.

numseries = numel(seriesnames);
numlags = 4;

PriorMdl = bayesvarm(numseries,numlags,'SeriesNames',seriesnames);

Прогнозные ответы

Непосредственно прогнозируется два года (восемь четвертей) наблюдений от апостериорного прогнозирующего распределения. forecast оценивает апостериорное распределение параметров, а затем формирует апостериорное прогнозирующее распределение.

numperiods = 8;
YF = forecast(PriorMdl,numperiods,rmDataTable{:,seriesnames});

YF - матрица прогнозируемых ответов 8 на 3.

Постройте график прогнозируемых откликов.

fh = rmDataTable.Time(end) + calquarters(0:8);
for j = 1:PriorMdl.NumSeries
subplot(3,1,j)
plot(rmDataTable.Time(end - 20:end),rmDataTable{end - 20:end,seriesnames(j)},'r',...
    fh,[rmDataTable{end,seriesnames(j)}; YF(:,j)],'b');
legend("Observed","Forecasted",'Location','NorthWest')
title(seriesnames(j))
end

Figure contains 3 axes. Axes 1 with title INFL contains 2 objects of type line. These objects represent Observed, Forecasted. Axes 2 with title DUNRATE contains 2 objects of type line. These objects represent Observed, Forecasted. Axes 3 with title DFEDFUNDS contains 2 objects of type line. These objects represent Observed, Forecasted.

Рассмотрим 3-D модель VAR (4) прогнозных ответов от апостериорного прогнозирующего распределения.

Загрузите набор макроэкономических данных США. Рассчитать уровень инфляции, стабилизировать ставки по безработице и федеральным фондам и удалить отсутствующие значения.

load Data_USEconModel
seriesnames = ["INFL" "UNRATE" "FEDFUNDS"];
DataTable.INFL = 100*[NaN; price2ret(DataTable.CPIAUCSL)];
DataTable.DUNRATE = [NaN; diff(DataTable.UNRATE)];
DataTable.DFEDFUNDS = [NaN; diff(DataTable.FEDFUNDS)];
seriesnames(2:3) = "D" + seriesnames(2:3);
rmDataTable = rmmissing(DataTable);

Создайте диффузную предшествующую модель. Задайте имена рядов ответов.

numseries = numel(seriesnames);
numlags = 4;

PriorMdl = bayesvarm(numseries,numlags,'SeriesNames',seriesnames);

Непосредственно прогнозируется два года (восемь четвертей) наблюдений за ответом от апостериорного прогнозирующего распределения. Верните апостериорные стандартные отклонения.

numperiods = 8;
[YF,YStd] = forecast(PriorMdl,numperiods,rmDataTable{:,seriesnames});

YF и YStd являются матрицами 8 на 3 прогнозируемых откликов и соответствующих стандартных отклонений, соответственно.

Постройте график прогнозируемых откликов и приблизите 95% достоверных интервалов.

fh = rmDataTable.Time(end) + calquarters(0:8);
for j = 1:PriorMdl.NumSeries
subplot(3,1,j)
plot(rmDataTable.Time(end - 20:end),rmDataTable{end - 20:end,seriesnames(j)},'r',...
    fh,[rmDataTable{end,seriesnames(j)}; YF(:,j)],'b',...
    fh,[rmDataTable{end,seriesnames(j)}; YF(:,j) + 1.96*YStd(:,j)],'b--',...
    fh,[rmDataTable{end,seriesnames(j)}; YF(:,j) - 1.96*YStd(:,j)],'b--');
legend("Observed","Forecasted","Approximate 95% Credible Interval",'Location','NorthWest')
title(seriesnames(j))
end

Figure contains 3 axes. Axes 1 with title INFL contains 4 objects of type line. These objects represent Observed, Forecasted, Approximate 95% Credible Interval. Axes 2 with title DUNRATE contains 4 objects of type line. These objects represent Observed, Forecasted, Approximate 95% Credible Interval. Axes 3 with title DFEDFUNDS contains 4 objects of type line. These objects represent Observed, Forecasted, Approximate 95% Credible Interval.

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

свернуть все

Предыдущая модель Bayesian VAR, заданная как объект модели в этой таблице.

Объект моделиОписание
conjugatebvarmЗависимая, матричная-нормальная-обратная-Wishart сопряженная модель, возвращенная bayesvarm, conjugatebvarm, или estimate
semiconjugatebvarmНезависимая, нормальная-обратная-Wishart полусредняя предыдущая модель, возвращенная bayesvarm или semiconjugatebvarm
diffusebvarmДиффузная предыдущая модель, возвращенная bayesvarm или diffusebvarm
normalbvarmНормальная сопряженная модель с фиксированной инновационной ковариационной матрицей, возвращенной bayesvarm, normalbvarm, или estimate

Горизонт прогноза или количество временных точек в прогнозном периоде, заданное в виде положительного целого числа.

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

Предварительная выборка и оценка выборки многомерного ряда отклика, заданные как a (numlags + numobs) -by- numseries числовая матрица.

Строки соответствуют наблюдениям, а последняя строка содержит последнее наблюдение. forecast использует первую numlags = PriorMdl.P наблюдения как предварительная выборка для инициализации предыдущей модели PriorMdl для апостериорной оценки. forecast оценивает апостериор, используя оставшиеся numobs наблюдения и PriorMdl.

numseries количество переменных отклика PriorMdl.NumSeries. Столбцы соответствуют отдельным переменным отклика PriorMdl.SeriesNames.

Для получения дополнительной информации см. «Алгоритмы».

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

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

свернуть все

Путь многомерных прогнозов серии ответов, возвращаемый как numperiods-by- numseries числовая матрица. YF - среднее значение апостериорного прогнозирующего распределения каждого периода в прогнозном горизонте.

YF представляет продолжение серии ответов Y. Строки соответствуют наблюдениям; строка j является j-период-опережающий прогноз. Столбцы соответствуют столбцам в Y.

Прогнозируйте стандартные отклонения, возвращенные как numperiods-by- numseries числовая матрица. YFStd - стандартное отклонение апостериорного прогнозирующего распределения каждого периода в прогнозном горизонте. Размеры соответствуют размерностям YF.

Подробнее о

свернуть все

Байесовский вектор векторной авторегрессии (VAR)

A Bayesian VAR model обрабатывает все коэффициенты и ковариационную матрицу инноваций как случайные переменные в m -мерной, стационарной модели VARX (p). Модель имеет одну из трех форм, описанных в этой таблице.

МодельУравнение
VAR (p) редуцированной формы в обозначении разностного уравнения

yt=Φ1yt1+...+Φpytp+c+δt+Βxt+εt.

Многомерная регрессия

yt=Ztλ+εt.

Матричная регрессия

yt=Λzt+εt.

Для каждого временного t = 1,..., T:

  • yt - m -мерный вектор наблюдаемой отклика, где m = numseries.

  • Φ1,..., - p являются m -by m матрицами коэффициентов AR лагов с 1 по p, где p = numlags.

  • c - вектор m -by-1 констант модели, если IncludeConstant является true.

  • δ - вектор m -by-1 коэффициентов линейного временного тренда, если IncludeTrend является true.

  • Β - m -by - r матрица коэффициентов регрессии вектора r -by - 1 наблюдаемых экзогенных предикторов x t, где r = NumPredictors. Все переменные предиктора появляются в каждом уравнении.

  • zt=[yt1yt2ytp1txt], который является вектором 1-by- (mp + r + 2), и Z t является m -by- m (mp + r + 2) блочной диагональной матрицей

    [zt0z0z0zzt0z0z0z0zzt],

    где 0 z является 1-бай- (mp + r + 2) вектором нулей.

  • Λ=[Φ1Φ2ΦpcδΒ], которая является (mp + r + 2) -by m случайной матрицей коэффициентов, и m (mp + r + 2) -by-1 вектор λ = vec (

  • εt является m-на-1 вектором случайных, последовательно некоррелированных, многомерных нормальных инноваций с нулевым вектором для среднего и m -by- m матрицы Это предположение подразумевает, что вероятность данных является

    (Λ,Σ|y,x)=t=1Tf(yt;Λ,Σ,zt),

    где f m - размерная многомерная нормальная плотность со средним <reservedrangesplaceholder3> <reservedrangesplaceholder2> Λ и ковариацией Σ, оценен в <reservedrangesplaceholder1> <reservedrangesplaceholder0>.

Прежде, чем рассмотреть данные, Вы налагаете joint prior distribution предположение на (Λ,Σ), которым управляет распределение π (Λ,Σ). В байесовском анализе распределение параметров обновляется информацией о параметрах, полученных из вероятности данных. Результатом является joint posterior distribution π (Λ,Σ|<reservedrangesplaceholder2>,<reservedrangesplaceholder1>,<reservedrangesplaceholder0>0), где:

  • Y - T матрица m, содержащая весь ряд ответов {y t}, t = 1,..., T.

  • X - T матрица m, содержащая весь экзогенный ряд {x t}, t = 1,..., T.

  • Y 0 является p -by - m матрицей предварительных образцов данных, используемых для инициализации модели VAR для оценки.

Апостериорное прогнозирующее распределение

posterior predictive distribution следующего ВАРА Bayesian (<reservedrangesplaceholder13>) модель π (Yf | Y, X) распределение следующих τ будущих переменных ответа после заключительного наблюдения в выборке оценки Yf = [<reservedrangesplaceholder6> <reservedrangesplaceholder5> +1, <reservedrangesplaceholder4> <reservedrangesplaceholder3> +2..., <reservedrangesplaceholder2> <reservedrangesplaceholder1> + τ], учитывая следующее, маргинализованный по Λ и Σ:

  • Предварительная выборка и оценка данных отклика на выборку Y

  • Коэффициенты И

  • Инновации ковариации матрица

  • Оценка и будущая выборка экзогенных данных X

Символически,

π(Yf|Y,X)=π(Yf|Y,X,Λ,Σ)π(Λ,Σ|Y,X)dΛdΣ.

Совет

  • Симуляция Монте-Карло подвержена изменениям. Если forecast использует симуляцию Монте-Карло, тогда оценки и выводы могут варьироваться при вызове forecast несколько раз при, казалось бы, эквивалентных условиях. Чтобы воспроизвести результаты оценки, установите начальное число случайных чисел при помощи rng перед вызовом forecast.

Алгоритмы

  • Если апостериорное прогнозирующее распределение аналитически неразрешимо (true для большинства случаев), forecast реализует выборку Монте-Карло (MCMC) цепи Маркова с увеличением байесовских данных, чтобы вычислить среднее и стандартное отклонение апостериорного прогнозирующего распределения. Для этого, forecast вызовы simsmooth, который использует вычислительно интенсивную процедуру.

  • Большинство Econometrics Toolbox™ forecast функции принимают оцененный или апостериорный объект модели, из которого можно генерировать прогнозы. Такая модель охватывает параметрическую структуру и данные. Однако, forecast функция байесовских моделей VAR требует предварительной выборки и оценки выборочных данных, чтобы сделать следующее:

    • Выполните обновление байесовских параметров, чтобы оценить апостериорные распределения. forecast реализует выборку MCMC с байесовским увеличением данных, которая включает в себя шаг сглаживания фильтра Калмана, который требует всей наблюдаемой серии.

    • Прогнозирование будущих ответов при наличии двух источников неопределенности:

      • Оценка шума ε 1,..., ε T, которая вызывает неопределенность параметра

      • Прогнозируемый период шума ε T + 1,..., ε T + numperiods

Ссылки

[1] Литтерман, Роберт Б. «Прогнозирование с байесовскими векторными авторегрессиями: пятилетний опыт». Журнал деловой и экономической статистики 4, № 1 (январь 1986 года): 25-38. https://doi.org/10.2307/1391384.

См. также

Объекты

Функции

Введенный в R2020a