Байесовская векторная модель авторегрессии (VAR) с сопряженной предшествующей для правдоподобия данных
Объект модели Bayesian VAR conjugatebvarm задает совместное предшествующее или апостериорное распределение массива модельных коэффициентов Λ и новшеств ковариационной матрицы Λ модели m-D VAR (p). Совместное предварительное распределение (Λ, Λ) - зависимая, матрично-нормально-обратная-сопряжённая модель Вишарта.
Как правило, при создании байесовского объекта модели VAR задается совместное предварительное распределение и характеристики только модели VARX. То есть объект модели является шаблоном, предназначенным для дальнейшего использования. В частности, для включения данных в модель для последующего анализа распределения передайте объект модели и данные соответствующей функции объекта.
Создание conjugatebvarm объект, используйте либо conjugatebvarm функция (описана здесь) или bayesvarm функция. Синтаксы для каждой функции схожи, но опции различаются. bayesvarm позволяет легко установить предыдущие значения гиперпараметров для Миннесоты до [1] регуляризации, тогда какconjugatebvarm требует полной спецификации предыдущих гиперпараметров распределения.
создает PriorMdl = conjugatebvarm(numseries,numlags)numseries-D Байесовский VAR (numlags) объект модели PriorMdl, которая определяет размерности и предшествующие допущения для всех коэффициентов модели ′ и ковариации новшеств Λ, где:
numseries = m, число переменных временного ряда ответа.
numlags = p, порядок многочленов AR.
Совместное предварительное распределение (Λ, Λ) представляет собой зависимую, матрично-нормально-обратную-сопряжённую модель Вишарта.
задает свойства, доступные для записи (кроме PriorMdl = conjugatebvarm(numseries,numlags,Name,Value)NumSeries и P) с использованием аргументов пары имя-значение. Заключите каждое имя свойства в кавычки. Например, conjugatebvarm(3,2,'SeriesNames',["UnemploymentRate" "CPI" "FEDFUNDS"]) задает имена трех переменных ответа в байесовской модели VAR (2).
numseries - Количество временных рядов m1 (по умолчанию) | положительное целое числоЧисло временных рядов m, указанное как положительное целое число. numseries определяет размерность переменной многомерного ответа yt и innovation αt.
numseries устанавливает NumSeries собственность.
Типы данных: double
numlags - Количество отложенных ответовКоличество запаздывающих ответов в каждом уравнении yt, указанное как неотрицательное целое число. Полученная модель является VAR (numlags) модель; каждое отставание имеет numseriesоколо-numseries матрица коэффициентов.
numlags устанавливает P собственность.
Типы данных: double
Значения свойств, доступные для записи, можно задать при создании объекта модели с помощью синтаксиса аргумента пара имя-значение или после создания объекта модели с помощью точечной нотации. Например, чтобы создать 3D модель Bayesian VAR (1) и маркировать первое через третьи переменные ответа и затем включать линейный термин тенденции времени, войдите:
PriorMdl = conjugatebvarm(3,1,'SeriesNames',["UnemploymentRate" "CPI" "FEDFUNDS"]); PriorMdl.IncludeTrend = true;
Description - Описание моделиОписание модели, указанное как строковый скалярный или символьный вектор. Значение по умолчанию описывает размерность модели, например '2-Dimensional VAR(3) Model'.
Пример: "Model 1"
Типы данных: string | char
NumSeries - Количество временных рядов mЭто свойство доступно только для чтения.
Число временных рядов m, указанное как положительное целое число. NumSeries определяет размерность переменной многомерного ответа yt и innovation αt.
Типы данных: double
P - Многомерный авторегрессивный полиномиальный порядокЭто свойство доступно только для чтения.
Многомерный авторегрессивный полиномиальный порядок, заданный как неотрицательное целое число. P - максимальное отставание, имеющее ненулевую матрицу коэффициентов.
P указывает количество предварительных наблюдений, необходимых для инициализации модели.
Типы данных: double
SeriesNames - Имена серий ответовИмена серий ответов, указанные как NumSeries вектор строки длины. Значение по умолчанию: ['Y1' 'Y2' ... 'Y. NumSeries']conjugatebvarm магазины SeriesNames в виде строкового вектора.
Пример: ["UnemploymentRate" "CPI" "FEDFUNDS"]
Типы данных: string
IncludeConstant - Флаг для включения константы модели ctrue (по умолчанию) | falseФлаг для включения константы модели c, указанной как значение в этой таблице.
| Стоимость | Описание |
|---|---|
false | Уравнения отклика не включают константу модели. |
true | Все уравнения отклика содержат константу модели. |
Типы данных: logical
IncludeTrend - Флаг для включения термина линейного временного тренда δtfalse (по умолчанию) | trueФлаг для включения члена линейного временного тренда δt, указанного в качестве значения в этой таблице.
| Стоимость | Описание |
|---|---|
false | Уравнения отклика не включают член линейного временного тренда. |
true | Все уравнения отклика содержат член линейного временного тренда. |
Типы данных: logical
NumPredictors - Количество экзогенных переменных предиктора в компоненте регрессии модели0 (по умолчанию) | неотрицательное целое числоЧисло экзогенных переменных предиктора в компоненте регрессии модели, указанное как неотрицательное целое число. conjugatebvarm включает все переменные предиктора симметрично в каждое уравнение ответа.
Mu - Среднее значение нормали векторизованной матрицы до Λzeros(NumSeries*(NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors),1) (по умолчанию) | числовой векторСреднее значение нормали векторизованной матрицы до Λ, указанное как NumSeries*-по-1 числовой вектор, где k (количество коэффициентов в уравнении отклика).k = NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors
Mu(1: соответствует всем коэффициентам в уравнении переменной отклика k)SeriesNames(1), Mu(( соответствует всем коэффициентам в уравнении переменной отклика k + 1):(2*k))SeriesNames(2)и так далее. Для набора индексов, соответствующих уравнению:
Элементы 1 через NumSeries соответствуют коэффициентам AR с запаздыванием 1 для переменных ответа, упорядоченных по SeriesNames.
Элементы NumSeries + 1 через 2*NumSeries соответствуют коэффициентам AR с запаздыванием 2 для переменных ответа, упорядоченных по SeriesNames.
В общем, элементы ( через q – 1)*NumSeries + 1 соответствует запаздыванию q*NumSeries Коэффициенты AR переменных ответа упорядочены по qSeriesNames.
Если IncludeConstant является true, элемент NumSeries*P + 1 - константа модели.
Если IncludeTrend является true, элемент NumSeries*P + 2 - коэффициент линейного временного тренда.
Если NumPredictors > 0, элементы NumSeries*P + 3 через составляют вектор коэффициентов регрессии экзогенных переменных.k
На этом рисунке показана структура транспонирования Mu для модели 2-D VAR (3), которая содержит постоянный вектор и четыре экзогенных предиктора:
где
β q, jk - элемент (j, k) матрицы коэффициентов lag q AR.
cj - константа модели в уравнении переменной отклика j.
Bju - коэффициент регрессии экзогенной переменной u в уравнении переменной ответа j.
Совет
bayesvarm позволяет указать Mu легко с использованием метода регуляризации Миннесоты. Определить Mu непосредственно:
Установите отдельные переменные для предыдущего среднего значения каждой матрицы коэффициентов и вектора.
Горизонтально соединить все коэффициенты означает в следующем порядке:
Векторизируйте транспонирование матрицы среднего коэффициента.
Mu = Coeff.'; Mu = Mu(:);
Типы данных: double
V - Масштабированная условная ковариационная матрица векторизованной матрицы, нормальная к Λeye(NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors) (по умолчанию) | положительная определенная числовая матрицаМасштабированная условная ковариационная матрица нормали векторизованной матрицы до Λ, заданная как около-k симметричная, положительная определенная матрица, где k (количество коэффициентов в уравнении отклика).k = NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors
Индексы строк и столбцов соответствуют всем коэффициентам модели относительно коэффициентов в уравнении первой переменной отклика y1, t (подробнее см. Алгоритмы).
Элементы 1 через NumSeries соответствуют коэффициентам AR с запаздыванием 1 для переменных ответа, упорядоченных по SeriesNames.
Элементы NumSeries + 1 через 2*NumSeries соответствуют коэффициентам AR с запаздыванием 2 для переменных ответа, упорядоченных по SeriesNames.
В общем, элементы ( через q – 1)*NumSeries + 1 соответствуют запаздыванию q*NumSeries Коэффициенты AR переменных ответа упорядочены по qSeriesNames.
Элемент NumSeries*P + 1 - константа модели.
Элемент NumSeries*P + 2 - коэффициент линейного временного тренда.
Элемент NumSeries*P + 3 через составляют вектор коэффициентов регрессии экзогенных переменных.k
Например, рассмотрим модель 3-D VAR (2), содержащую константу и четыре экзогенные переменные.
V(1,1) представляет собой Var (δ 1,11), Var (/1,21) и Var (/1,31).
V(1,4) представляет собой Cov (δ 1, 11, δ 2, 11), Cov (δ 1, 21 ,/2, 21) и Cov (δ 1, 31 ,/2, 31).
V(8,9) является Cov (β11, β12), Cov (β21, β22) и Cov (β31, β32), которые являются ковариациями коэффициентов регрессии первой и второй экзогенных переменных для всех уравнений.
Совет
bayesvarm позволяет создать любую предшествующую модель Bayesian VAR и указать V легко с использованием метода регуляризации Миннесоты.
Типы данных: double
Omega - Матрица обратного масштаба Вишартаeye(numseries) (по умолчанию) | положительная определенная числовая матрицаМатрица обратного масштаба Вишарта, заданная как NumSeriesоколо-NumSeries положительная определенная числовая матрица.
Типы данных: double
DoF - Обратные степени свободы Вишартаnumseries + 10 (по умолчанию) | положительный числовой скалярОбратные степени свободы Вишарта, заданные как положительный числовой скаляр.
Для правильного распределения укажите значение, превышающее numseries – 1. Для распределения с конечным средним значением укажите значение, которое больше numseries + 1.
Типы данных: double
AR - Среднее распределение матриц авторегрессивных коэффициентов Φ1,...,ΦpЭто свойство доступно только для чтения.
Среднее распределение матриц авторегрессионных коэффициентов Φ1,...,Φp связанных с запаздывающими откликами, указанное как P-D клеточный вектор NumSeriesоколо-NumSeries числовые матрицы.
AR{ является Startj}j, матрица коэффициентов запаздывания j . Строки соответствуют уравнениям, а столбцы - переменным с запаздыванием ответа; SeriesNames определяет порядок переменных ответа и уравнений. Знаки коэффициентов - это знаки модели VAR, выраженные в нотации «разность-уравнение».
Если P = 0, AR является пустой ячейкой. В противном случае AR - совокупность значений коэффициента AR, извлеченных из Mu.
Типы данных: cell
Constant - Среднее распределение константы модели cЭто свойство доступно только для чтения.
Среднее значение распределения константы модели c (или перехвата), указанное как NumSeries-по-1 числовой вектор. Constant( - константа в уравнении j)j; SeriesNames определяет порядок уравнений.
Если IncludeConstant = false, Constant является пустым массивом. В противном случае Constant - среднее значение постоянного вектора модели, извлеченное из Mu.
Типы данных: double
Trend - Среднее распределение линейного временного тренда δЭто свойство доступно только для чтения.
Среднее распределение линейного временного тренда δ, указанного как NumSeries-по-1 числовой вектор. Trend( - линейный временной тренд в уравнении j)j; SeriesNames определяет порядок уравнений.
Если IncludeTrend = false (по умолчанию), Trend является пустым массивом. В противном случае Trend - среднее значение коэффициента тренда линейного времени, извлеченное из Mu.
Типы данных: double
Beta - Среднее распределение матрицы коэффициентов регрессии ΒЭто свойство доступно только для чтения.
Среднее распределение матрицы коэффициентов регрессии B, связанной с переменными экзогенного предиктора, указанное как NumSeriesоколо-NumPredictors числовая матрица.
Beta( содержит коэффициенты регрессии каждого предиктора в уравнении переменной отклика j
yj,:)j, т .Beta(:, содержит коэффициент регрессии в каждом уравнении предсказателя xk. По умолчанию все переменные предиктора находятся в регрессионной составляющей всех уравнений ответа. Можно уменьшить вес предиктора из уравнения, указав для соответствующего коэффициента предыдущее среднее значение 0 в k)Mu и небольшая разница в V.
При создании модели переменные предиктора являются гипотетическими. Данные предиктора задаются при работе с моделью (например, при оценке задних значений с помощью estimate). Столбцы данных предиктора определяют порядок столбцов Beta.
Типы данных: double
Covariance - Среднее распределение новшеств ковариационной матрицыЭто свойство доступно только для чтения.
Среднее распределение новшеств ковариационной матрицы NumSeries нововведения в каждый момент времени t = 1,...,T, указанные как NumSeriesоколо-NumSeries положительная определенная числовая матрица. Строки и столбцы соответствуют нововведениям в уравнениях переменных ответа, упорядоченных по SeriesNames.
Типы данных: double
estimate | Оценить апостериорное распределение параметров модели авторегрессии байесовского вектора (VAR) |
forecast | Прогнозные ответы из модели авторегрессии байесовского вектора (VAR) |
simsmooth | Моделирование более плавной модели авторегрессии байесовского вектора (VAR) |
simulate | Моделирование коэффициентов и инноваций ковариационной матрицы байесовской векторной авторегрессионной (VAR) модели |
summarize | Сводная статистика распределения байесовской векторной модели авторегрессии (VAR) |
Рассмотрим модель 3-D VAR (4) для инфляции в США (INFL), безработица (UNRATE) и федеральные средства (FEDFUNDS) ставки.
Для всех - это ряд независимых 3-D нормальных нововведений со средним значением 0 и ковариацией . Предположим следующие предыдущие распределения:
, V, Λ), где M является матрицей среднего значения 13 на 3, а V является матрицей масштаба 13 на 13 среди коэффициентов. (vec (Λ), Σ⊗ V).
start), Λ - матрица шкалы 3 на 3, а start- степени свободы.
Создайте сопряженную предыдущую модель для параметров модели 3-D VAR (4).
numseries = 3; numlags = 4; PriorMdl = conjugatebvarm(numseries,numlags)
PriorMdl =
conjugatebvarm with properties:
Description: "3-Dimensional VAR(4) Model"
NumSeries: 3
P: 4
SeriesNames: ["Y1" "Y2" "Y3"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
Mu: [39x1 double]
V: [13x13 double]
Omega: [3x3 double]
DoF: 13
AR: {[3x3 double] [3x3 double] [3x3 double] [3x3 double]}
Constant: [3x1 double]
Trend: [3x0 double]
Beta: [3x0 double]
Covariance: [3x3 double]
PriorMdl является conjugatebvarm Объект байесовской модели VAR, представляющий предшествующее распределение коэффициентов и новшеств ковариации модели 3-D VAR (4). В командной строке отображаются свойства модели. Свойства можно отобразить с помощью точечной нотации.
Отображение предыдущих средних матриц четырех коэффициентов AR путем установки переменной для каждой матрицы в ячейке.
AR1 = PriorMdl.AR{1}AR1 = 3×3
0 0 0
0 0 0
0 0 0
AR2 = PriorMdl.AR{2}AR2 = 3×3
0 0 0
0 0 0
0 0 0
AR3 = PriorMdl.AR{3}AR3 = 3×3
0 0 0
0 0 0
0 0 0
AR4 = PriorMdl.AR{4}AR4 = 3×3
0 0 0
0 0 0
0 0 0
conjugatebvarm центрирует все коэффициенты AR при 0 по умолчанию. AR свойство доступно только для чтения, но является производным от записываемого свойства Mu.
Рассмотрите 1-D модель Bayesian AR (2) для ежедневной прибыли NASDAQ с 2 января 1990 до 31 декабря 2001 .
δ 2yt-1 + αt.
Приорами являются:
), где μ - вектор содействующих средств 3 на 1 и V, является чешуйчатой ковариационной матрицей 3 на 3.
β), = start2 - степени свободы, β = Ω2 - масштаб.
Создайте сопряженную предыдущую модель для параметров модели AR (2).
numseries = 1; numlags = 2; PriorMdl = conjugatebvarm(numseries,numlags)
PriorMdl =
conjugatebvarm with properties:
Description: "1-Dimensional VAR(2) Model"
NumSeries: 1
P: 2
SeriesNames: "Y1"
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
Mu: [3x1 double]
V: [3x3 double]
Omega: 1
DoF: 11
AR: {[0] [0]}
Constant: 0
Trend: [1x0 double]
Beta: [1x0 double]
Covariance: 0.1111
conjugatebvarm интерпретирует инновационную ковариационную матрицу как обратную случайную переменную Вишарта. Поскольку гиперпараметры масштабов и степеней свободы среди обратного распределения Вишарта и обратного гамма-распределения не равны, их можно настроить, используя точечную нотацию. Например, чтобы достичь 10 степеней свободы для обратной гамма-интерпретации, установите обратные степени свободы Вишарта на 20.
PriorMdl.DoF = 20
PriorMdl =
conjugatebvarm with properties:
Description: "1-Dimensional VAR(2) Model"
NumSeries: 1
P: 2
SeriesNames: "Y1"
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
Mu: [3x1 double]
V: [3x3 double]
Omega: 1
DoF: 20
AR: {[0] [0]}
Constant: 0
Trend: [1x0 double]
Beta: [1x0 double]
Covariance: 0.0556
В модели 3-D VAR (4) «Создать матрицу - нормаль - обратная сопряженная модель Вишарта» рассмотрите возможность исключения из модели сегментов 2 и 3.
Нельзя исключить матрицы коэффициентов из моделей, но для коэффициентов, которые необходимо исключить, можно задать высокую предварительную герметичность на нуле.
Создайте сопряженную предыдущую модель для параметров модели 3-D VAR (4). Укажите имена переменных ответа.
По умолчанию предшествующие значения коэффициента AR равны нулю. Задайте высокие значения плотности для лагов 2 и 3, установив их предыдущие отклонения как 1e-6. Оставьте значения всех остальных коэффициентов герметичности по умолчанию:
1 для отклонений коэффициентов ПР
1e3 для постоянных векторных отклонений
0 для всех ковариаций коэффициентов
Кроме того, только для сопряженных байесовских моделей VAR MATLAB ® предполагает, что дисперсии коэффициентов пропорциональны уравнениям отклика. Поэтому задайте отклонения относительно первого уравнения.
numseries = 3; numlags = 4; seriesnames = ["INFL"; "UNRATE"; "FEDFUNDS"]; vPhi1 = ones(1,numseries); vPhi2 = 1e-6*ones(1,numseries); vPhi3 = 1e-6*ones(1,numseries); vPhi4 = ones(1,numseries); vc = 1e3; V = diag([vPhi1 vPhi2 vPhi3 vPhi4 vc]); PriorMdl = conjugatebvarm(numseries,numlags,'SeriesNames',seriesnames,... 'V',V)
PriorMdl =
conjugatebvarm with properties:
Description: "3-Dimensional VAR(4) Model"
NumSeries: 3
P: 4
SeriesNames: ["INFL" "UNRATE" "FEDFUNDS"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
Mu: [39x1 double]
V: [13x13 double]
Omega: [3x3 double]
DoF: 13
AR: {[3x3 double] [3x3 double] [3x3 double] [3x3 double]}
Constant: [3x1 double]
Trend: [3x0 double]
Beta: [3x0 double]
Covariance: [3x3 double]
Рассмотрим модель 2-D VARX (1) для реального ВВП США (RGDP) и инвестиции (GCE) ставки, которые лечат личное потребление (PCEC) скорость как экзогенная:
Для всех - это ряд независимых 2-D нормальных нововведений со средним значением 0 и ковариацией . Предположим следующие предыдущие распределения:
), где M - матрица средств 4 на 2 и V, является матрицей масштаба среди коэффициента 4 на 4. Эквивалентно, , Σ⊗ V).
start), где Λ - матрица шкалы 2 на 2, а start- степени свободы.
Создайте сопряженную предыдущую модель для параметров модели 2-D VARX (1).
numseries = 2;
numlags = 1;
numpredictors = 1;
PriorMdl = conjugatebvarm(numseries,numlags,'NumPredictors',numpredictors)PriorMdl =
conjugatebvarm with properties:
Description: "2-Dimensional VAR(1) Model"
NumSeries: 2
P: 1
SeriesNames: ["Y1" "Y2"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 1
Mu: [8x1 double]
V: [4x4 double]
Omega: [2x2 double]
DoF: 12
AR: {[2x2 double]}
Constant: [2x1 double]
Trend: [2x0 double]
Beta: [2x1 double]
Covariance: [2x2 double]
Отображение предыдущего среднего значения коэффициентов Mu с соответствующими коэффициентами.
coeffnames = ["phi(11)"; "phi(12)"; "c(1)"; "beta(1)"; "phi(21)"; "phi(22)"; "c(2)"; "beta(2)"]; array2table(PriorMdl.Mu,'VariableNames',{'PriorMean'},'RowNames',coeffnames)
ans=8×1 table
PriorMean
_________
phi(11) 0
phi(12) 0
c(1) 0
beta(1) 0
phi(21) 0
phi(22) 0
c(2) 0
beta(2) 0
conjugatebvarm опции позволяют непосредственно задавать предыдущие значения гиперпараметров, но bayesvarm варианты хорошо подходят для настройки гиперпараметров по методу регуляризации Миннесоты.
Рассмотрим модель 3-D VAR (4) модели «Создать матрицу - нормаль - обратная - сопряженная модель Вишарта». Модель содержит 39 коэффициентов. Для коэффициента разреженности создайте сопряженную байесовскую модель VAR с помощью bayesvarm. Укажите следующее, априори:
Каждый ответ представляет собой модель AR (1) в среднем с коэффициентом запаздывания 1 0,75.
Ранее масштабированные ковариационные коэффициенты распадаются с увеличением запаздывания со скоростью 2 (то есть более низкие запаздывания важнее более высоких запаздываний).
numseries = 3; numlags = 4; PriorMdl = bayesvarm(numseries,numlags,'ModelType','conjugate',... 'Center',0.75,'Decay',2)
PriorMdl =
conjugatebvarm with properties:
Description: "3-Dimensional VAR(4) Model"
NumSeries: 3
P: 4
SeriesNames: ["Y1" "Y2" "Y3"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
Mu: [39x1 double]
V: [13x13 double]
Omega: [3x3 double]
DoF: 13
AR: {[3x3 double] [3x3 double] [3x3 double] [3x3 double]}
Constant: [3x1 double]
Trend: [3x0 double]
Beta: [3x0 double]
Covariance: [3x3 double]
Отображение предыдущего значения коэффициента в уравнении первого ответа.
Phi1 = PriorMdl.AR{1}Phi1 = 3×3
0.7500 0 0
0 0.7500 0
0 0 0.7500
Phi2 = PriorMdl.AR{2}Phi2 = 3×3
0 0 0
0 0 0
0 0 0
Phi3 = PriorMdl.AR{3}Phi3 = 3×3
0 0 0
0 0 0
0 0 0
Phi4 = PriorMdl.AR{4}Phi4 = 3×3
0 0 0
0 0 0
0 0 0
Отображение тепловой карты ранее масштабированных ковариаций коэффициентов в первом уравнении отклика.
% Create labels for the chart. numARCoeffMats = PriorMdl.NumSeries*PriorMdl.P; arcoeffnames = strings(numARCoeffMats,1); for r = numlags:-1:1 arcoeffnames(((r-1)*numseries+1):(numseries*r)) = ["\phi_{"+r+",11}" "\phi_{"+r+",12}" "\phi_{"+r+",13}"]; end heatmap(arcoeffnames,arcoeffnames,PriorMdl.V(1:end-1,1:end-1));

Для сопряженных байесовских моделей VAR масштабированные ковариации пропорциональны среди уравнений.
Рассмотрим модель 3-D VAR (4) модели «Создать матрицу - нормаль - обратная - сопряженная модель Вишарта». Оцените апостериорное распределение и создайте прогнозы из соответствующего апостериорного прогностического распределения.
Загрузка и предварительная обработка данных
Загрузить набор макроэкономических данных США. Вычислите уровень инфляции. Постройте график всех серий ответов.
load Data_USEconModel seriesnames = ["INFL" "UNRATE" "FEDFUNDS"]; DataTable.INFL = 100*[NaN; price2ret(DataTable.CPIAUCSL)]; figure plot(DataTable.Time,DataTable{:,seriesnames}) legend(seriesnames)

Стабилизировать ставки по безработице и федеральным фондам, применяя первую разницу к каждой серии.
DataTable.DUNRATE = [NaN; diff(DataTable.UNRATE)];
DataTable.DFEDFUNDS = [NaN; diff(DataTable.FEDFUNDS)];
seriesnames(2:3) = "D" + seriesnames(2:3);Удалите все отсутствующие значения из данных.
rmDataTable = rmmissing(DataTable);
Создать предыдущую модель
Создайте сопряженную байесовскую модель VAR (4) для трех рядов ответов. Укажите имена переменных ответа.
numseries = numel(seriesnames);
numlags = 4;
PriorMdl = conjugatebvarm(numseries,numlags,'SeriesNames',seriesnames);Оценка заднего распределения
Оцените апостериорное распределение, передав предыдущую модель и весь ряд данных в estimate.
PosteriorMdl = estimate(PriorMdl,rmDataTable{:,seriesnames},'Display','equation');Bayesian VAR under conjugate priors
Effective Sample Size: 197
Number of equations: 3
Number of estimated Parameters: 39
VAR Equations
| INFL(-1) DUNRATE(-1) DFEDFUNDS(-1) INFL(-2) DUNRATE(-2) DFEDFUNDS(-2) INFL(-3) DUNRATE(-3) DFEDFUNDS(-3) INFL(-4) DUNRATE(-4) DFEDFUNDS(-4) Constant
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INFL | 0.1260 -0.4400 0.1049 0.3176 -0.0545 0.0440 0.4173 0.2421 0.0515 0.0247 -0.1639 0.0080 0.1064
| (0.0713) (0.1395) (0.0366) (0.0810) (0.1490) (0.0386) (0.0802) (0.1467) (0.0400) (0.0838) (0.1385) (0.0369) (0.0774)
DUNRATE | -0.0236 0.4440 0.0350 0.0900 0.2295 0.0520 -0.0330 0.0567 0.0010 0.0298 -0.1665 0.0104 -0.0536
| (0.0396) (0.0774) (0.0203) (0.0449) (0.0827) (0.0214) (0.0445) (0.0814) (0.0222) (0.0465) (0.0768) (0.0205) (0.0430)
DFEDFUNDS | -0.1514 -1.3408 -0.2762 0.3275 -0.2971 -0.3041 0.2609 -0.6971 0.0130 -0.0692 0.1392 -0.1341 -0.3902
| (0.1517) (0.2967) (0.0777) (0.1722) (0.3168) (0.0820) (0.1705) (0.3120) (0.0851) (0.1782) (0.2944) (0.0785) (0.1646)
Innovations Covariance Matrix
| INFL DUNRATE DFEDFUNDS
-------------------------------------------
INFL | 0.2725 -0.0197 0.1407
| (0.0270) (0.0106) (0.0417)
DUNRATE | -0.0197 0.0839 -0.1290
| (0.0106) (0.0083) (0.0242)
DFEDFUNDS | 0.1407 -0.1290 1.2322
| (0.0417) (0.0242) (0.1220)
Поскольку предшествующий является сопряженным для правдоподобия данных, задний является conjugatebvarm объект. По умолчанию estimate использует первые четыре наблюдения в качестве предварительного примера для инициализации модели.
Генерировать прогнозы из апостериорного прогностического распределения
Из заднего прогностического распределения генерируйте прогнозы на двухлетнем горизонте. Поскольку выборка из заднего прогностического распределения требует всего набора данных, укажите предыдущую модель в forecast вместо задней.
fh = 8;
FY = forecast(PriorMdl,fh,rmDataTable{:,seriesnames});FY является матрицей прогнозов 8 на 3.
Постройте график конца набора данных и прогнозов.
fp = rmDataTable.Time(end) + calquarters(1:fh);
figure
plotdata = [rmDataTable{end - 10:end,seriesnames}; FY];
plot([rmDataTable.Time(end - 10:end); fp'],plotdata)
hold on
plot([fp(1) fp(1)],ylim,'k-.')
legend(seriesnames)
title('Data and Forecasts')
hold off
Вычислить импульсные отклики
Постройте график функций импульсной реакции, передав апостериорные оценки armairf.
armairf(PosteriorMdl.AR,[],'InnovCov',PosteriorMdl.Covariance)


Байесовская модель VAR рассматривает все коэффициенты и инновационную ковариационную матрицу как случайные величины в m-мерной стационарной модели VARX (p). Модель имеет одну из трех форм, описанных в этой таблице.
| Модель | Уравнение |
|---|---|
| VAR (p) редуцированной формы в нотации разностного уравнения |
+ δt + Βxt + αt. |
| Многомерная регрессия |
α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-на-1 коэффициентов линейного тренда времени, если IncludeTrend является true.
Β - матрица коэффициентов регрессии вектора r-by-1 наблюдаемых экзогенных предикторов xt, где r = NumPredictors. Все переменные предиктора появляются в каждом уравнении.
, который является вектором 1-by- (mp + r + 2), а Zt является диагональной матрицей m-by-m (mp + r + 2)
где 0z - 1-по- (мп + r + 2) вектор нулей.
′, которая является случайной матрицей коэффициентов (mp + r + 2) -by-m, а m (mp + r + 2) -by-1 вектором λ = vec (Λ).
δ t - вектор m-на-1 случайных, последовательно некоррелированных, многомерных нормальных инноваций с нулевым вектором для среднего и матрицей m-на-м для ковариации. Это предположение подразумевает, что вероятность данных
zt),
где f - m-мерная многомерная нормальная плотность со средним значением ztΛ и ковариацией
Прежде, чем рассмотреть данные, Вы налагаете совместное предшествующее предположение распределения на (Λ,Σ), которым управляет распределение π (Λ,Σ). В байесовском анализе распределение параметров обновляется информацией о параметрах, полученных из правдоподобия данных. В результате получается совместное заднее распределение λ (Λ, Λ 'Y, X, Y0), где:
Y представляет собой матрицу T-на-m, содержащую весь ответный ряд {yt}, t = 1,...,T.
X представляет собой матрицу T-на-m, содержащую весь экзогенный ряд {xt}, t = 1,...,T.
Y0 является p-by-m матрицей предварительных данных, используемых для инициализации модели VAR для оценки.
Зависимая, матрица-нормаль-обратная-сопряжённая модель Вишарта - это модель m-D байесовского VAR (p), в которой условное предварительное распределение Λ 'Λ является нормальным к матрице со средней матрицей Λ и матрицами масштабирования Λ и V. Предшествующее распределение Λ является обратным Wishart с матрицей масштабирования Λ и степенями свободы start.
Символически:
)
из чего следует, что для λ = vec (Λ), 1δ) (μ,Σ⊗V), где
λ = vec (Λ) =Mu.
V = V.
r = NumPredictors.
1с равно 1, если IncludeConstant true и 0 в противном случае.
1δ равно 1, если IncludeTrend true и 0 в противном случае.
Для достижения задних распределений, сопряженных для правдоподобия данных, ковариации матрицы коэффициентов AR должны быть пропорциональны между уравнениями. И для каждого уравнения ковариации self и cross-lag должны быть равны.
Задние распределения:
)
где:
V−1Μ+∑t=1Tzt′yt ′).
− 1.
+ start.
Если вы передаете либо conjugatebvarm или diffusebvarm объект и данные в estimate, MATLAB ® возвращает conjugatebvarm объект, представляющий апостериорное распределение.
Условная ковариация (не масштабированная) всей векторизированной матрицы, нормальной до, равна Σ⊗V. Для достижения сопряжённости должны быть верны следующие условия:
Предполагается, что предыдущие ковариации пропорциональны между всеми уравнениями. Λ определяет пропорциональность, а шкалы V во время задней оценки.
Для уравнения ковариации между всеми AR коэффициентами, self lag и cross lag, равны.
conjugatebvarm обеспечивает выполнение первого условия, но не второго. Поэтому conjugatebvarm применяет элементы V ко всем коэффициентам в модели относительно коэффициентов в уравнении y1, t.
[1] Литтерман, Роберт Б. «Прогнозирование с помощью байесовских векторных авторегрессий: пятилетний опыт». Журнал деловой и экономической статистики 4, № 1 (январь 1986 года): 25-38. https://doi.org/10.2307/1391384.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.