Байесовская модель вектора авторегрессии (VAR) с выборками из предыдущего или апостериорного распределения
Объект модели Bayesian VAR empiricalbvarm содержит выборки из распределений коэффициентов и нововведений ковариации матрицы, а p VAR (модели), которую MATLAB® используется для характеристики соответствующих предшествующих или апостериорных распределений.
Для объектов модели Bayesian VAR, которые имеют неразрешимый апостериор, estimate функция возвращает empiricalbvarm объект, представляющий эмпирическое апостериорное распределение. Однако, если у вас есть случайные рисунки из предшествующих или апостериорных распределений коэффициентов и инноваций ковариации матрице, можно создать байесовскую модель VAR с эмпирическим априорным непосредственно при помощи empiricalbvarm.
создает Mdl = empiricalbvarm(numseries,numlags,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws)numseries-D Bayesian VAR (numlags) объект модели Mdl характеризуется случайными выборками из предшествующих или апостериорных распределений и Σ, CoeffDraws и SigmaDraws, соответственно.
numseries = m, положительное целое число, задающее количество переменных временных рядов откликов.
numlags = p, неотрицательное целое число, задающее полином порядка AR (то есть количество numseries-by- numseries Матрицы коэффициентов AR в модели VAR).
устанавливает свойства, доступные для записи (кроме Mdl = empiricalbvarm(numseries,numlags,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws,Name,Value)NumSeries и P) с использованием аргументов пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, empiricalbvarm(3,2,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws,'SeriesNames',["UnemploymentRate" "CPI" "FEDFUNDS"]) определяет случайные выборки от распределений λ и Σ и имен трех переменных ответа.
Потому что апостериорные распределения полуконъюгатной предшествующей модели (semiconjugatebvarm) аналитически неразрешимы, estimate возвращает empiricalbvarm объект, который характеризует апостериоры и содержит выборку Гиббса, полученную из полных обусловленности.
numseries - Количество временных рядов m1 (по умолчанию) | положительное целое числоКоличество m временных рядов, заданное как положительное целое число. numseries задает размерность многомерной переменной отклика yt и инновационных εt.
numseries устанавливает NumSeries свойство.
Типы данных: double
numlags - Количество откликов с отставаниемКоличество отстающих ответов в каждом уравнении y t, заданное в виде неотрицательного целого числа. Получившаяся модель является VAR (numlags) модель; каждая задержка имеет numseries-by- numseries матрица коэффициентов.
numlags устанавливает P свойство.
Типы данных: double
Можно задать значения свойств записи, когда вы создаете объект модели с помощью синтаксиса аргумента пары "имя-значение" или после того, как вы создаете объект модели с помощью записи через точку. Для примера создать 3-D модель Bayesian VAR (1) из коэффициента и инноваций ковариации массивов рисунков CoeffDraws и SigmaDraws, соответственно, и затем пометьте переменные отклика, введите:
Mdl = empiricalbvarm(3,1,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws); Mdl.SeriesNames = ["UnemploymentRate" "CPI" "FEDFUNDS"];
CoeffDraws - Случайная выборка из предыдущего или апостериорного распределения λСлучайная выборка из предыдущего или апостериорного распределения λ, заданная как NumSeries -by- * knumdraws числовая матрица, где (количество коэффициентов в уравнении отклика). k = NumSeries * P + IncludeIntercept + IncludeTrend + NumPredictorsCoeffDraws представляет эмпирическое распределение λ на основе размера numdraws выборка.
Столбцы соответствуют последовательным рисованиям из распределения. CoeffDraws (1 соответствует всем коэффициентам в уравнении переменной отклика : k,:)SeriesNames(1), CoeffDraws ( соответствует всем коэффициентам в уравнении переменной отклика (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 переменных отклика, упорядоченные по qSeriesNames.
Если IncludeConstant является true, элемент NumSeries*P + 1 является моделью постоянной.
Если IncludeTrend является true, элемент NumSeries*P + 2 - линейный коэффициент тренда времени.
Если NumPredictors > 0, элементы NumSeries*P + 3 через составляют вектор коэффициентов регрессии экзогенных переменных.k
Этот рисунок показывает структуру строк CoeffDraws для 2-D модели VAR (3), которая содержит постоянный вектор и четыре экзогенных предиктора:
где
ϕ q jk является элементом (j, k) матрицы коэффициентов AR q задержки.
c j является моделью, константой в уравнении переменной j отклика.
B j u является коэффициентом регрессии экзогенной переменной, u в уравнении переменной отклика j.
CoeffDraws и SigmaDraws должен основываться на одинаковом количестве ничьих, и оба должны представлять ничьи из предыдущего или апостериорного распределения.
numdraws должен быть достаточно большим, для примера, 1e6.
Типы данных: double
SigmaDraws - Случайная выборка из предыдущего или апостериорного распределенияСлучайная выборка из априорного или апостериорного распределения, заданная как NumSeries-by- NumSeries-by- numdraws массив положительно определенных числовых матриц. SigmaDraws представляет эмпирическое распределение И на основе размера numdraws выборка.
Строки и столбцы соответствуют инновациям в уравнениях переменных отклика, упорядоченных по SeriesNames. Столбцы соответствуют последовательным рисованиям из распределения.
CoeffDraws и SigmaDraws должен основываться на одинаковом количестве ничьих, и оба должны представлять ничьи из предыдущего или апостериорного распределения.
numdraws должен быть достаточно большим, для примера, 1e6.
Типы данных: double
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 <reservedrangesplaceholder0>']empiricalbvarm хранит SeriesNames как строковый вектор.
Пример: ["UnemploymentRate" "CPI" "FEDFUNDS"]
Типы данных: string
IncludeConstant - Флаг включения модели константы ctrue (по умолчанию) | falseФлаг для включения постоянной c модели, заданный как значение в этой таблице.
| Значение | Описание |
|---|---|
false | Уравнения отклика не включают константу модели. |
true | Все уравнения отклика содержат константу модели. |
Типы данных: logical
IncludeTrend - Флаг включения терминов линейного тренда δtfalse (по умолчанию) | trueФлаг для включения линейного временного термина тренда δt, заданный как значение в этой таблице.
| Значение | Описание |
|---|---|
false | Уравнения отклика не включают линейный срок тренда времени. |
true | Все уравнения отклика содержат линейный срок тренда времени. |
Типы данных: logical
NumPredictors - Количество переменных экзогенного предиктора в компоненте регрессии модели0 (по умолчанию) | неотрицательное целое числоКоличество переменных экзогенного предиктора в компоненте регрессии модели, заданное в виде неотрицательного целого числа. empiricalbvarm включает все переменные предиктора симметрично в каждое уравнение отклика.
AR - Распределение, среднее из авторегрессивных матриц коэффициентов Φ1..., Φ <reservedrangesplaceholder0>Это свойство доступно только для чтения.
Распределение, среднее из авторегрессивных матриц коэффициентов Φ1..., Φ <reservedrangesplaceholder1> связался с изолированными ответами, определенными как P-D вектор камеры NumSeries-by- NumSeries числовые матрицы.
AR is, {j}j, матрица коэффициентов задержки j . Строки соответствуют уравнениям, а столбцы соответствуют отстающим переменным отклика; SeriesNames определяет порядок переменных отклика и уравнений. Знаки коэффициентов являются знаками модели VAR, выраженными в обозначении разностного уравнения.
Если P = 0, AR - пустая камера. В противном случае AR - набор средств коэффициентов AR, извлеченных из Mu.
Типы данных: cell
Constant - Среднее распределение постоянных c моделиЭто свойство доступно только для чтения.
Среднее распределение модели константы c (или точки пересечения), заданное как NumSeries-by-1 числовой вектор. Константа - константа в уравнении (j)j; SeriesNames определяет порядок уравнений.
Если IncludeConstant = false, Constant - пустой массив. В противном случае Constant - модель среднего вектора константы, извлеченная из Mu.
Типы данных: double
Trend - Среднее распределение линейного временного тренда δЭто свойство доступно только для чтения.
Среднее распределение линейного временного δ тренда, заданное как NumSeries-by-1 числовой вектор. Тренд - линейный временной тренд в уравнении (j)j; SeriesNames определяет порядок уравнений.
Если IncludeTrend = false (по умолчанию), Trend - пустой массив. В противном случае Trend - среднее значение коэффициента линейного временного тренда, извлеченное из Mu.
Типы данных: double
Beta - Среднее распределение матрицы коэффициента регрессии ΒЭто свойство доступно только для чтения.
Среднее распределение матрицы коэффициента регрессии B, сопоставленной с переменными экзогенного предиктора, заданное как NumSeries-by- NumPredictors числовая матрица.
Бета содержит коэффициенты регрессии каждого предиктора в уравнении переменной отклика j
y j(j,:), т. Бета содержит коэффициенты регрессии в каждом уравнении предиктора xk. По умолчанию все переменные предиктора находятся в регрессионном компоненте всех уравнений отклика. Можно уменьшить вес предиктора из уравнения, задав, для соответствующего коэффициента, предшествующее среднее значение 0 в (:, k)Mu и небольшое отклонение в V.
Когда вы создаете модель, переменные предиктора являются гипотетическими. Вы задаете данные предиктора, когда вы работаете с моделью (для примера, когда вы оцениваете апостериор при помощи estimate). Столбцы данных предиктора определяют порядок столбцов Beta.
Типы данных: double
Covariance - Среднее распределение инноваций ковариационная матрицаЭто свойство доступно только для чтения.
Среднее распределение ковариационной матрицы NumSeries инновации в каждый момент времени t = 1,..., T, заданные как NumSeries-by- NumSeries положительная определенная числовая матрица. Строки и столбцы соответствуют инновациям в уравнениях переменных отклика, упорядоченных по SeriesNames.
Типы данных: double
summarize | Сводная статистика распределения модели байесовской векторной авторегрессии (VAR) |
Рассмотрим 3-D модель VAR (4) для инфляции в США (INFL), безработица (UNRATE), и федеральные фонды (FEDFUNDS) ставки.
Для всех , - серия независимых 3-D нормальных инноваций со средним значением 0 и ковариацией .
Можно создать эмпирическую модель Bayesian VAR для коэффициентов и инновационная ковариационная матрица двумя способами:
Косвенно создайте empiricalbvarm модель путем оценки апостериорного распределения полуконъюгатной предшествующей модели.
Непосредственно создайте empiricalbvarm модель путем подачи вытяжек из предыдущего или апостериорного распределения параметров.
Косвенное создание
Примите следующие предыдущие распределения:
, где является вектором 39 на 1 средств и - ковариационная матрица 39 на 39.
, где является матрицей шкалы 3 на 3 и - степени свободы.
Создайте полуконъюгатную предшествующую модель для параметров модели 3-D VAR (4).
numseries = 3; numlags = 4; PriorMdl = semiconjugatebvarm(numseries,numlags)
PriorMdl =
semiconjugatebvarm 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: [39x39 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 является semiconjugatebvarm Байесовский объект модели 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);
Оцените апостериорное распределение путем передачи предыдущей модели и целого ряда данных в estimate.
rng(1); % For reproducibility PosteriorMdl = estimate(PriorMdl,rmDataTable{:,seriesnames},'Display','off')
PosteriorMdl =
empiricalbvarm with properties:
Description: "3-Dimensional VAR(4) Model"
NumSeries: 3
P: 4
SeriesNames: ["Y1" "Y2" "Y3"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
CoeffDraws: [39x10000 double]
SigmaDraws: [3x3x10000 double]
AR: {[3x3 double] [3x3 double] [3x3 double] [3x3 double]}
Constant: [3x1 double]
Trend: [3x0 double]
Beta: [3x0 double]
Covariance: [3x3 double]
PosteriorMdl является empiricalbvarm модель, представляющая эмпирическое апостериорное распределение коэффициентов и инновационной ковариационной матрицы. empiricalbvarm сохраняет рисунки из апостериоров и в CoeffDraws и SigmaDraws свойства, соответственно.
Прямое создание
Нарисуйте случайную выборку размера 1000 из предыдущего PriorMdl распределения.
numdraws = 1000;
[CoeffDraws,SigmaDraws] = simulate(PriorMdl,'NumDraws',numdraws);
size(CoeffDraws)ans = 1×2
39 1000
size(SigmaDraws)
ans = 1×3
3 3 1000
Создайте байесовскую модель VAR, характеризующую эмпирические априорные распределения параметров.
PriorMdlEmp = empiricalbvarm(numseries,numlags,'CoeffDraws',CoeffDraws,... 'SigmaDraws',SigmaDraws)
PriorMdlEmp =
empiricalbvarm with properties:
Description: "3-Dimensional VAR(4) Model"
NumSeries: 3
P: 4
SeriesNames: ["Y1" "Y2" "Y3"]
IncludeConstant: 1
IncludeTrend: 0
NumPredictors: 0
CoeffDraws: [39x1000 double]
SigmaDraws: [3x3x1000 double]
AR: {[3x3 double] [3x3 double] [3x3 double] [3x3 double]}
Constant: [3x1 double]
Trend: [3x0 double]
Beta: [3x0 double]
Covariance: [3x3 double]
Отображение матриц средней ковариации четырех коэффициентов AR путем установки каждой матрицы в камере на переменную.
AR1 = PriorMdlEmp.AR{1}AR1 = 3×3
-0.0198 0.0181 -0.0273
-0.0207 -0.0301 -0.0070
-0.0009 0.0638 0.0113
AR2 = PriorMdlEmp.AR{2}AR2 = 3×3
-0.0453 0.0371 0.0110
-0.0103 -0.0304 -0.0011
0.0277 -0.0253 0.0061
AR3 = PriorMdlEmp.AR{3}AR3 = 3×3
0.0368 -0.0059 0.0018
-0.0306 -0.0106 0.0179
-0.0314 -0.0276 0.0116
AR4 = PriorMdlEmp.AR{4}AR4 = 3×3
0.0159 0.0406 -0.0315
-0.0178 0.0415 -0.0024
0.0476 -0.0128 -0.0165
A 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-by- (mp + r + 2), и Z t является m -by- m (mp + r + 2) блочной диагональной матрицей
где 0 z является 1-бай- (mp + r + 2) вектором нулей.
, которая является (mp + r + 2) -by m случайной матрицей коэффициентов, и m (mp + r + 2) -by-1 вектор λ = vec (
εt является m-на-1 вектором случайных, последовательно некоррелированных, многомерных нормальных инноваций с нулевым вектором для среднего и m -by- m матрицы Это предположение подразумевает, что вероятность данных является
где 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 для оценки.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.