empiricalbvarm

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

Описание

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

Для Байесовых объектов модели VAR, которые имеют тяжелое следующее, estimate функция возвращает empiricalbvarm объект, представляющий эмпирическое апостериорное распределение. Однако, если у вас есть случайные ничьи от предшествующих или апостериорных распределений содействующей и инновационной ковариационной матрицы, можно создать модель Bayesian 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 и инновации εt.

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

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

Количество изолированных ответов в каждом уравнении y t в виде неотрицательного целого числа. Получившаяся модель является VAR (numlags) модель; каждая задержка имеет numseries- 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- 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 для 2D модели 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- NumSeries- 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'... 'YNumSeries']. empiricalbvarm хранилища SeriesNames как вектор строки.

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

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

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

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

Типы данных: логический

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

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

Типы данных: логический

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Бета (j,:) содержит коэффициенты регрессии каждого предиктора в уравнении переменной отклика j yjT. \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].

\forall 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 object. The axes object 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

Создайте модель Bayesian 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