Байесовская модель вектора авторегрессии (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- * k
numdraws
числовая матрица, где
(количество коэффициентов в уравнении отклика). 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 переменных отклика, упорядоченные по q
SeriesNames
.
Если 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.