Байесова векторная модель (VAR) авторегрессии с сопряженным, предшествующим для вероятности данных
Байесов объект модели 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"])
задает имена этих трех переменных отклика в модели Bayesian VAR (2).
numseries
— Количество временных рядов m
(значение по умолчанию) | положительное целое числоКоличество временных рядов m в виде положительного целого числа. numseries
задает размерность многомерной переменной отклика yt и инновации εt.
numseries
устанавливает NumSeries
свойство.
Типы данных: double
numlags
— Количество изолированных ответовКоличество изолированных ответов в каждом уравнении y t в виде неотрицательного целого числа. Получившаяся модель является VAR (numlags
) модель; каждая задержка имеет numseries
- numseries
матрица коэффициентов.
numlags
устанавливает P
свойство.
Типы данных: double
Можно установить перезаписываемые значения свойств, когда вы создаете объект модели при помощи синтаксиса аргумента пары "имя-значение", или после того, как вы создаете объект модели при помощи записи через точку. Например, чтобы создать 3-D модель 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 и инновации εt.
Типы данных: double
P
— Многомерный авторегрессивный полиномиальный порядокЭто свойство доступно только для чтения.
Многомерный авторегрессивный полиномиальный порядок в виде неотрицательного целого числа. P
максимальная задержка, которая имеет ненулевую матрицу коэффициентов.
P
задает количество преддемонстрационных наблюдений, требуемых инициализировать модель.
Типы данных: double
SeriesNames
— Серийные имена ответаРяд ответа называет в виде NumSeries
вектор строки длины. Значением по умолчанию является ['Y1' 'Y2'... 'Y
. NumSeries
']conjugatebvarm
хранилища SeriesNames
как вектор строки.
Пример: ["UnemploymentRate" "CPI" "FEDFUNDS"]
Типы данных: string
IncludeConstant
— Отметьте для включения постоянного c моделиtrue
(значение по умолчанию) | false
Отметьте для включения постоянного c модели в виде значения в этой таблице.
Значение | Описание |
---|---|
false | Уравнения ответа не включают константу модели. |
true | Все уравнения ответа содержат константу модели. |
Типы данных: логический
IncludeTrend
— Отметьте для включения линейного термина тренда времени δtfalse
(значение по умолчанию) | true
Отметьте для включения линейного термина тренда времени δt в виде значения в этой таблице.
Значение | Описание |
---|---|
false | Уравнения ответа не включают линейный термин тренда времени. |
true | Все уравнения ответа содержат линейный термин тренда времени. |
Типы данных: логический
NumPredictors
— Количество внешних переменных предикторов в компоненте регрессии модели
(значение по умолчанию) | неотрицательное целое числоКоличество внешних переменных предикторов в компоненте регрессии модели в виде неотрицательного целого числа. conjugatebvarm
включает все переменные предикторы симметрично в каждое уравнение ответа.
Mu
— Среднее значение векторизованной матрицы, нормальной предшествующий на Λzeros(NumSeries*(NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors),1)
(значение по умолчанию) | числовой векторСреднее значение векторизованной матрицы, нормальной предшествующий на Λ в виде NumSeries*
- 1 числовой вектор, где k
(количество коэффициентов в уравнении ответа).k
= NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors
Му (1:
соответствует всем коэффициентам в уравнении переменной отклика k
)SeriesNames(1)
, Му ((
соответствует всем коэффициентам в уравнении переменной отклика k
+ 1): (2*k
))SeriesNames(2)
, и так далее. Для набора индексов, соответствующих уравнению:
Элементы 1
через NumSeries
соответствуйте задержке 1 коэффициент AR переменных отклика, упорядоченных SeriesNames
.
Элементы NumSeries + 1
через 2*NumSeries
соответствуйте задержке 2 коэффициента AR переменных отклика, упорядоченных SeriesNames
.
В общем случае элементы (
через q
– 1) *NumSeries + 1
соответствует задержке q
*NumSeries
Коэффициенты AR переменных отклика упорядочены q
SeriesNames
.
Если IncludeConstant
true
, элемент NumSeries*P + 1
константа модели.
Если IncludeTrend
true
, элемент NumSeries*P + 2
линейный коэффициент тренда времени.
Если NumPredictors
> 0, элементы NumSeries*P + 3
через
составьте вектор из коэффициентов регрессии внешних переменных.k
Этот рисунок показывает структуру транспонирования Mu
для 2D модели VAR (3), которая содержит постоянный вектор и четыре внешних предиктора:
где
ϕ q, jk является элементом (j, k) задержки матрица коэффициентов AR q.
c j является константой модели в уравнении переменной отклика j.
B j u является коэффициентом регрессии внешней переменной 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
Индексы строки и столбца соответствуют всем коэффициентам модели относительно коэффициентов в уравнении первой переменной отклика, y 1, t (для получения дополнительной информации, видят Алгоритмы).
Элементы 1
через NumSeries
соответствуйте задержке 1 коэффициент AR переменных отклика, упорядоченных SeriesNames
.
Элементы NumSeries + 1
через 2*NumSeries
соответствуйте задержке 2 коэффициента AR переменных отклика, упорядоченных SeriesNames
.
В общем случае элементы (
через q
– 1) *NumSeries + 1
соответствуйте задержке q
*NumSeries
Коэффициенты AR переменных отклика упорядочены q
SeriesNames
.
Элемент 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
позволяет вам создать любой Байесов 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 {
Φj
}j
, матрица коэффициентов задержки j
. Строки соответствуют уравнениям, и столбцы соответствуют изолированным переменным отклика; SeriesNames
определяет порядок переменных отклика и уравнений. Содействующие знаки являются теми из модели VAR, описанной в обозначении разностного уравнения.
Если P
= 0, AR
пустая ячейка. В противном случае, AR
набор содействующих средних значений AR, извлеченных из Mu
.
Типы данных: cell
Constant
— Среднее значение распределения постоянного c моделиЭто свойство доступно только для чтения.
Среднее значение распределения постоянного c модели (или точка пересечения) в виде NumSeries
- 1 числовой вектор. Постоянный (
константа в уравнении j
)j
; SeriesNames
определяет порядок уравнений.
Если IncludeConstant
= false
, Constant
пустой массив. В противном случае, Constant
постоянное векторное среднее значение модели, извлеченное из Mu
.
Типы данных: double
Trend
— Среднее значение распределения линейного тренда времени δЭто свойство доступно только для чтения.
Среднее значение распределения линейного тренда времени δ в виде NumSeries
- 1 числовой вектор. Тренд (
линейный тренд времени в уравнении j
)j
; SeriesNames
определяет порядок уравнений.
Если IncludeTrend
= false
(значение по умолчанию), Trend
пустой массив. В противном случае, Trend
линейное содействующее среднее значение тренда времени, извлеченное из Mu
.
Типы данных: double
Beta
— Среднее значение распределения матрицы коэффициента регрессии ΒЭто свойство доступно только для чтения.
Среднее значение распределения матрицы B коэффициента регрессии сопоставлено с внешними переменными предикторами в виде NumSeries
- NumPredictors
числовая матрица.
Бета (
содержит коэффициенты регрессии каждого предиктора в уравнении переменной отклика j
yj
,:)j
T. \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
) уровни.
\forall , серия независимых 3-D нормальных инноваций со средним значением 0 и ковариация . Примите следующие предшествующие распределения:
, где M 13 3 матрица средних значений и 13 13 матрица шкалы среди коэффициента. Эквивалентно, .
, где 3х3 матрица шкалы и степени свободы.
Создайте сопряженную предшествующую модель для 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
свойство только для чтения, но оно выведено из writeable свойства Mu
.
Полагайте, что 1D модель Bayesian AR (2) для ежедневной NASDAQ возвращается с 2 января 1990 до 31 декабря 2001.
Уголовное прошлое:
, где вектор 3 на 1 из содействующих средних значений и 3х3 масштабированная ковариационная матрица.
, где степени свободы и шкала.
Создайте сопряженную предшествующую модель для 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 для содействующих отклонений AR
1e3
для постоянных векторных отклонений
0 для всех содействующих ковариаций
Кроме того, для сопряженных моделей Bayesian 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]
Считайте 2D модель VARX(1) для США действительным GDP (RGDP
) и инвестиции (GCE
) уровни, который обрабатывает персональное потребление (PCEC
) уровень как внешний:
\forall , серия независимых 2D нормальных инноваций со средним значением 0 и ковариация . Примите следующие предшествующие распределения:
, где M 4 2 матрица средних значений и матрица шкалы среди коэффициента 4 на 4. Эквивалентно, .
, где Ω является матрицей шкалы 2 на 2 и степени свободы.
Создайте сопряженную предшествующую модель для 2D 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 коэффициентов. Для содействующей разреженности создайте сопряженную модель Bayesian 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));
Для сопряженных моделей Bayesian 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
использует первые четыре наблюдения в качестве предварительной выборки, чтобы инициализировать модель.
Сгенерируйте прогнозы от следующего прогнозирующего распределения
От следующего прогнозирующего распределения сгенерируйте прогнозы более чем горизонт 2D года. Поскольку выборка от следующего прогнозирующего распределения требует целого набора данных, задайте предшествующую модель в 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)
Bayesian VAR model обрабатывает все коэффициенты и инновационную ковариационную матрицу как случайные переменные в m - размерная, стационарная модель VARX(p). Модель имеет одну из трех форм, описанных в этой таблице.
Модель | Уравнение |
---|---|
VAR уменьшаемой формы (p) в обозначении разностного уравнения |
|
Многомерная регрессия |
|
Матричная регрессия |
|
В течение каждого раза 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
. Все переменные предикторы появляются в каждом уравнении.
который является 1 на (mp + r + 2) вектор, и Z t является m-by-m матрица диагонали блока (mp + r + 2)
где 0z является 1 на (mp + r + 2) нулевой вектор.
, который является (mp + r + 2)-by-m случайная матрица коэффициентов и m (mp + r + 2)-by-1 векторный λ = vec (Λ).
εt является m-by-1 вектор из случайных, последовательно некоррелированых, многомерных нормальных инноваций с нулевым вектором для среднего значения и m-by-m матрица Σ для ковариации. Это предположение подразумевает, что вероятность данных
где f является m - размерная многомерная нормальная плотность со средним z t Λ и ковариация Σ, оцененный в y t.
Прежде, чем рассмотреть данные, вы налагаете предположение joint prior distribution на (Λ,Σ), которым управляет распределение π (Λ,Σ). В Байесовом анализе распределение параметров обновляется с информацией о параметрах, полученных из вероятности данных. Результатом является π joint posterior distribution (Λ,Σ | Y, X, Y 0), где:
Y является T-by-m матрица, содержащая целый ряд ответа {y t}, t = 1, …, T.
X является T-by-m матрица, содержащая целый внешний ряд {x t}, t = 1, …, T.
Y 0 является p-by-m, матрица преддемонстрационных данных раньше инициализировала модель VAR для оценки.
dependent, matrix-normal-inverse-Wishart conjugate model является m-D модель Bayesian VAR (p), в которой условное предшествующее распределение Λ |Σ является матрицей, нормальной со средней матрицей Μ и матрицы шкалы Σ и V. Предшествующим распределением Σ является обратный Уишарт с матрицей шкалы Ω и степени свободы ν.
Символически:
который подразумевает для λ = vec (Λ), где
μ = vec (Μ) = Mu
.
V = V
.
r = NumPredictors
.
1c 1 если IncludeConstant
верно, и 0 в противном случае.
1δ 1 если IncludeTrend
верно, и 0 в противном случае.
Чтобы достигнуть апостериорных распределений, которые сопряжены для вероятности данных, ковариации матрицы коэффициентов AR должны быть пропорциональными среди уравнений. И, для каждого уравнения, само - и ковариации перекрестной задержки должно быть равным.
Апостериорные распределения
где:
Если вы передаете любого conjugatebvarm
или diffusebvarm
объект и данные к estimate
MATLAB® возвращает conjugatebvarm
объект, представляющий апостериорное распределение.
Условная ковариация (немасштабированная) из целой векторизованной матрицы, нормальной предшествующий, является Σ ⊗ V
. Чтобы достигнуть сопряжения, эти условия должны быть верными:
Предшествующие ковариации приняты, чтобы быть пропорциональными среди всех уравнений. Σ определяет пропорциональность и масштабирует V
во время следующей оценки.
Для уравнения ковариации между всеми коэффициентами AR, сам задержка и перекрестная задержка, равны.
conjugatebvarm
осуществляет первое условие, но не второе. Поэтому conjugatebvarm
применяет элементы V
ко всем коэффициентам в модели относительно коэффициентов в уравнении y 1, t.
[1] Литтермен, Роберт Б., "Предсказывающий с Байесовыми Векторными Авторегрессиями: Пять Лет опыта". Журнал Бизнес-и Экономической статистики 4, № 1 (январь 1986): 25–38. https://doi.org/10.2307/1391384.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.