exponenta event banner

empiricalbvarm

Модель авторегрессии байесовского вектора (VAR) с образцами из предшествующего или заднего распределения

Описание

Объект модели Bayesian VAR empiricalbvarm содержит выборки из распределений коэффициентов Λ и новшеств ковариационной матрицы Λ модели VAR (p), которую MATLAB ® использует для характеристики соответствующих предшествующих или задних распределений.

Для байесовских объектов модели VAR, которые имеют неразрешимый задний, estimate функция возвращает empiricalbvarm объект, представляющий эмпирическое апостериорное распределение. Однако, если у вас есть случайные розыгрыши из предыдущих или задних распределений ковариационной матрицы коэффициентов и инноваций, вы можете создать байесовскую модель VAR с эмпирическим предшествующим непосредственно с помощью empiricalbvarm.

Создание

Описание

пример

Mdl = empiricalbvarm(numseries,numlags,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws) создает numseries-D Байесовский VAR (numlags) объект модели Mdl характеризуется случайными выборками из предшествующих или задних распределений λ = vec (Λ) = vec ([Φ1Φ2⋯ΦpcδΒ] ′) и Λ,CoeffDraws и SigmaDrawsсоответственно.

  • numseries = m, положительное целое число, указывающее число переменных временного ряда ответа.

  • numlags = p, неотрицательное целое число, указывающее порядок многочленов AR (то есть число numseriesоколо-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 и innovation αt.

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

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

Количество запаздывающих ответов в каждом уравнении yt, указанное как неотрицательное целое число. Полученная модель является VAR (numlags) модель; каждое отставание имеет numseriesоколо-numseries матрица коэффициентов.

numlags устанавливает P собственность.

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

Свойства

развернуть все

Значения свойств, доступные для записи, можно задать при создании объекта модели с помощью синтаксиса аргумента пара имя-значение или после создания объекта модели с помощью точечной нотации. Например, чтобы создать 3D модель Bayesian VAR (1) из коэффициента и инновационных множеств ковариации ничьихCoeffDraws и SigmaDraws, соответственно, а затем пометить переменные ответа, введите:

Mdl = empiricalbvarm(3,1,'CoeffDraws',CoeffDraws,'SigmaDraws',SigmaDraws);
Mdl.SeriesNames = ["UnemploymentRate" "CPI" "FEDFUNDS"];

Требуемые розыгрыши из дистрибутива

Случайная выборка из предыдущего или заднего распределения λ, указанного как NumSeries*kоколо-numdraws числовая матрица, где k = NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors (количество коэффициентов в уравнении отклика). CoeffDraws представляет эмпирическое распределение λ на основе размера numdraws образец.

Столбцы соответствуют последовательным розыгрышам из распределения. CoeffDraws(1:k,:) соответствует всем коэффициентам в уравнении переменной отклика SeriesNames(1), CoeffDraws((k + 1):(2*k),:) соответствует всем коэффициентам в уравнении переменной отклика SeriesNames(2)и так далее. Для набора индексов строк, соответствующих уравнению:

  • Элементы 1 через NumSeries соответствуют коэффициентам AR с запаздыванием 1 для переменных ответа, упорядоченных по SeriesNames.

  • Элементы NumSeries + 1 через 2*NumSeries соответствуют коэффициентам AR с запаздыванием 2 для переменных ответа, упорядоченных по 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β14︷y1,t ϕ1,21ϕ1,22ϕ2,21ϕ2,22ϕ3,21ϕ3,22c2β21β22β23β24︷y2,t],

где

  • β q, jk - элемент (j, k) матрицы коэффициентов lag q AR.

  • cj - константа модели в уравнении переменной отклика j.

  • Bju - коэффициент регрессии экзогенной переменной u в уравнении переменной ответа j.

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

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

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

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

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

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

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

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

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

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

Пример: "Model 1"

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

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

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

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

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

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

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

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

Имена серий ответов, указанные как NumSeries вектор строки длины. Значение по умолчанию: ['Y1' 'Y2' ... 'YNumSeries']. empiricalbvarm магазины SeriesNames в виде строкового вектора.

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

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

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

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

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

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

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

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

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

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

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

Среднее распределение матриц авторегрессионных коэффициентов Φ1,...,Φp связанных с запаздывающими откликами, указанное как P-D клеточный вектор NumSeriesоколо-NumSeries числовые матрицы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Среднее распределение новшеств ковариационной матрицы NumSeries нововведения в каждый момент времени t = 1,...,T, указанные как NumSeriesоколо-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 и ковариацией Λ.

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

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

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

Непрямое создание

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

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

  • Σ∼InverseWishart (Λ, start), где Λ - матрица шкалы 3 на 3, а start- степени свободы.

Создайте предшествующую модель в полуконъюгате для параметров модели 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