empiricalbvarm

Байесовская модель вектора авторегрессии (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 характеризуется случайными выборками из предшествующих или апостериорных распределений λ=vec(Λ)=vec([Φ1Φ2ΦpcδΒ]) и Σ, 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 объект, который характеризует апостериоры и содержит выборку Гиббса, полученную из полных обусловленности.

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

расширить все

Количество m временных рядов, заданное как положительное целое число. numseries задает размерность многомерной переменной отклика yt и инновационных εt.

numseries устанавливает NumSeries свойство.

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

Количество отстающих ответов в каждом уравнении 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"];

Необходимые рисунки из распределения

Случайная выборка из предыдущего или апостериорного распределения λ, заданная как NumSeries * k-by- numdraws числовая матрица, где k = NumSeries * P + IncludeIntercept + IncludeTrend + NumPredictors (количество коэффициентов в уравнении отклика). CoeffDraws представляет эмпирическое распределение λ на основе размера 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 соответствуют задержке q Коэффициенты AR переменных отклика, упорядоченные по SeriesNames.

  • Если IncludeConstant является true, элемент NumSeries*P + 1 является моделью постоянной.

  • Если IncludeTrend является true, элемент NumSeries*P + 2 - линейный коэффициент тренда времени.

  • Если NumPredictors > 0, элементы NumSeries*P + 3 через k составляют вектор коэффициентов регрессии экзогенных переменных.

Этот рисунок показывает структуру строк CoeffDraws для 2-D модели VAR (3), которая содержит постоянный вектор и четыре экзогенных предиктора:

[ϕ1,11ϕ1,12ϕ2,11ϕ2,12ϕ3,11ϕ3,12c1β11β12β13β14y1,tϕ1,21ϕ1,22ϕ2,21ϕ2,22ϕ3,21ϕ3,22c2β21β22β23β24y2,t],

где

  • ϕ q jk является элементом (j, k) матрицы коэффициентов AR q задержки.

  • c j является моделью, константой в уравнении переменной j отклика.

  • B j u является коэффициентом регрессии экзогенной переменной, u в уравнении переменной отклика j.

CoeffDraws и SigmaDraws должен основываться на одинаковом количестве ничьих, и оба должны представлять ничьи из предыдущего или апостериорного распределения.

numdraws должен быть достаточно большим, для примера, 1e6.

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

Случайная выборка из априорного или апостериорного распределения, заданная как NumSeries-by- NumSeries-by- numdraws массив положительно определенных числовых матриц. SigmaDraws представляет эмпирическое распределение И на основе размера numdraws выборка.

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

CoeffDraws и SigmaDraws должен основываться на одинаковом количестве ничьих, и оба должны представлять ничьи из предыдущего или апостериорного распределения.

numdraws должен быть достаточно большим, для примера, 1e6.

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

Характеристики модели и размерность

Описание модели, заданное как строковый скаляр или вектор символов. Значение по умолчанию описывает размерность модели, например '2-Dimensional VAR(3) Model'.

Пример: "Model 1"

Типы данных: string | char

Это свойство доступно только для чтения.

Количество m временных рядов, заданное как положительное целое число. NumSeries задает размерность многомерной переменной отклика yt и инновационных εt.

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

Это свойство доступно только для чтения.

Многомерный авторегрессионный полином порядка, заданный как неотрицательное целое число. P - это максимальная задержка, которая имеет ненулевую матрицу коэффициентов.

P задает количество предварительных наблюдений, необходимых для инициализации модели.

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

Имена рядов ответов, заданные как NumSeries длина строки вектор. Значение по умолчанию является ['Y1' 'Y2'... 'Y <reservedrangesplaceholder0>']. empiricalbvarm хранит SeriesNames как строковый вектор.

Пример: ["UnemploymentRate" "CPI" "FEDFUNDS"]

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

Флаг для включения постоянной c модели, заданный как значение в этой таблице.

ЗначениеОписание
falseУравнения отклика не включают константу модели.
trueВсе уравнения отклика содержат константу модели.

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

Флаг для включения линейного временного термина тренда δt, заданный как значение в этой таблице.

ЗначениеОписание
falseУравнения отклика не включают линейный срок тренда времени.
trueВсе уравнения отклика содержат линейный срок тренда времени.

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

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

Параметры модели VAR, выведенные из чертежей распределения

Это свойство доступно только для чтения.

Распределение, среднее из авторегрессивных матриц коэффициентов Φ1..., Φ <reservedrangesplaceholder1> связался с изолированными ответами, определенными как P-D вектор камеры NumSeries-by- NumSeries числовые матрицы.

AR {j} is, j, матрица коэффициентов задержки j . Строки соответствуют уравнениям, а столбцы соответствуют отстающим переменным отклика; SeriesNames определяет порядок переменных отклика и уравнений. Знаки коэффициентов являются знаками модели VAR, выраженными в обозначении разностного уравнения.

Если P = 0, AR - пустая камера. В противном случае AR - набор средств коэффициентов AR, извлеченных из Mu.

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

Это свойство доступно только для чтения.

Среднее распределение модели константы c (или точки пересечения), заданное как NumSeries-by-1 числовой вектор. Константа (j) - константа в уравнении j; SeriesNames определяет порядок уравнений.

Если IncludeConstant = false, Constant - пустой массив. В противном случае Constant - модель среднего вектора константы, извлеченная из Mu.

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

Это свойство доступно только для чтения.

Среднее распределение линейного временного δ тренда, заданное как NumSeries-by-1 числовой вектор. Тренд (j) - линейный временной тренд в уравнении j; SeriesNames определяет порядок уравнений.

Если IncludeTrend = false (по умолчанию), Trend - пустой массив. В противном случае Trend - среднее значение коэффициента линейного временного тренда, извлеченное из Mu.

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

Это свойство доступно только для чтения.

Среднее распределение матрицы коэффициента регрессии B, сопоставленной с переменными экзогенного предиктора, заданное как NumSeries-by- NumPredictors числовая матрица.

Бета (j,:) содержит коэффициенты регрессии каждого предиктора в уравнении переменной отклика j y j, т. Бета (:, k) содержит коэффициенты регрессии в каждом уравнении предиктора xk. По умолчанию все переменные предиктора находятся в регрессионном компоненте всех уравнений отклика. Можно уменьшить вес предиктора из уравнения, задав, для соответствующего коэффициента, предшествующее среднее значение 0 в Mu и небольшое отклонение в V.

Когда вы создаете модель, переменные предиктора являются гипотетическими. Вы задаете данные предиктора, когда вы работаете с моделью (для примера, когда вы оцениваете апостериор при помощи estimate). Столбцы данных предиктора определяют порядок столбцов Beta.

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

Это свойство доступно только для чтения.

Среднее распределение ковариационной матрицы NumSeries инновации в каждый момент времени t = 1,..., T, заданные как NumSeries-by- NumSeries положительная определенная числовая матрица. Строки и столбцы соответствуют инновациям в уравнениях переменных отклика, упорядоченных по SeriesNames.

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

Функции объекта

summarizeСводная статистика распределения модели байесовской векторной авторегрессии (VAR)

Примеры

свернуть все

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

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

Для всех t, εt - серия независимых 3-D нормальных инноваций со средним значением 0 и ковариацией Σ.

Можно создать эмпирическую модель Bayesian VAR для коэффициентов [Φ1,...,Φ4,c] и инновационная ковариационная матрица Σ двумя способами:

  1. Косвенно создайте empiricalbvarm модель путем оценки апостериорного распределения полуконъюгатной предшествующей модели.

  2. Непосредственно создайте empiricalbvarm модель путем подачи вытяжек из предыдущего или апостериорного распределения параметров.

Косвенное создание

Примите следующие предыдущие распределения:

  • vec([Φ1,...,Φ4,c])|ΣΝ39(μ,V), где μ является вектором 39 на 1 средств и V - ковариационная матрица 39 на 39.

  • ΣInverseWishart(Ω,ν), где Ω является матрицей шкалы 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)

Figure contains an axes. The axes contains 3 objects of type line. These objects represent INFL, UNRATE, FEDFUNDS.

Стабилизировать показатели безработицы и федеральных средств путем применения первого различия к каждой серии.

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

Подробнее о

расширить все

См. также

Функции

Объекты

Введенный в R2020a