conjugatebvarm

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

Описание

Байесов объект модели VAR conjugatebvarm задает объединенное предшествующее или апостериорное распределение массива коэффициентов модели Λ и инновационная ковариационная матрица Σ m-D модель VAR (p). Объединенное предшествующее распределение (Λ,Σ) является зависимым, матричная нормальная инверсия Уишарт сопряженная модель.

В общем случае, когда вы создаете Байесов объект модели VAR, он задает объединенное предшествующее распределение и характеристики модели VARX только. Таким образом, объект модели является шаблоном, предназначенным для дальнейшего использования. А именно, чтобы включить данные в модель для анализа апостериорного распределения, передайте объект модели и данные к соответствующей объектной функции.

Создание

Описание

Создать conjugatebvarm объект, используйте любого conjugatebvarm функция (описанный здесь) или bayesvarm функция. Синтаксисы для каждой функции подобны, но опции отличаются. bayesvarm позволяет вам установить предшествующие значения гиперпараметра для Миннесоты, предшествующей [1] регуляризация легко, тогда как conjugatebvarm требует целой спецификации предшествующих гиперпараметров распределения.

пример

PriorMdl = conjugatebvarm(numseries,numlags) создает numseries- D байесов VAR (numlags) объект модели PriorMdl, который задает размерность и предшествующие предположения для всех коэффициентов модели Λ=[Φ1Φ2ΦpcδΒ] и инновационная ковариация Σ, где:

пример

PriorMdl = conjugatebvarm(numseries,numlags,Name,Value) устанавливает перезаписываемые свойства (кроме NumSeries и P) использование аргументов пары "имя-значение". Заключите каждое имя свойства в кавычки. Например, conjugatebvarm(3,2,'SeriesNames',["UnemploymentRate" "CPI" "FEDFUNDS"]) задает имена этих трех переменных отклика в модели Bayesian VAR (2).

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

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

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

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

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

Количество изолированных ответов в каждом уравнении y t в виде неотрицательного целого числа. Получившаяся модель является VAR (numlags) модель; каждая задержка имеет numseries- numseries матрица коэффициентов.

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

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

Свойства

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

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

PriorMdl = conjugatebvarm(3,1,'SeriesNames',["UnemploymentRate" "CPI" "FEDFUNDS"]);
PriorMdl.IncludeTrend = true;

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

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

Пример: "Model 1"

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

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

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

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

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

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

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

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

Ряд ответа называет в виде NumSeries вектор строки длины. Значением по умолчанию является ['Y1' 'Y2'... 'YNumSeries']. conjugatebvarm хранилища SeriesNames как вектор строки.

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

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

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

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

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

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

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

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

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

Гиперпараметры распределения

Среднее значение векторизованной матрицы, нормальной предшествующий на Λ в виде NumSeries*k- 1 числовой вектор, где k = NumSeries*P + IncludeIntercept + IncludeTrend + NumPredictors (количество коэффициентов в уравнении ответа).

Му (1:k) соответствует всем коэффициентам в уравнении переменной отклика SeriesNames(1), Му ((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 составьте вектор из коэффициентов регрессии внешних переменных.

Этот рисунок показывает структуру транспонирования Mu для 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.

Совет

bayesvarm позволяет вам задать Mu легко при помощи Миннесотского метода регуляризации. Задавать Mu непосредственно:

  1. Установите отдельные переменные для предшествующего среднего значения каждой матрицы коэффициентов и вектора.

  2. Горизонтально конкатенируйте все содействующие средние значения в этом порядке:

    Coeff=[Φ1Φ2ΦpcδΒ].

  3. Векторизуйте транспонирование содействующей средней матрицы.

    Mu = Coeff.';
    Mu = Mu(:);

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

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

Индексы строки и столбца соответствуют всем коэффициентам модели относительно коэффициентов в уравнении первой переменной отклика, y 1, t (для получения дополнительной информации, видят Алгоритмы).

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

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

  • В общем случае элементы (q – 1) *NumSeries + 1 через q*NumSeries соответствуйте задержке q Коэффициенты AR переменных отклика упорядочены SeriesNames.

  • Элемент NumSeries*P + 1 константа модели.

  • Элемент NumSeries*P + 2 линейный коэффициент тренда времени.

  • Элемент NumSeries*P + 3 через k составьте вектор из коэффициентов регрессии внешних переменных.

Например, рассмотрите 3-D модель VAR (2), содержащую константу и четыре внешних переменные.

  • V(1,1) var (ϕ 1,11), Var (ϕ 1,21) и Var (ϕ 1,31).

  • V(1,4) Cov (ϕ 1,11, ϕ 2,11), Cov (ϕ 1,21, ϕ 2,21), и Cov (ϕ 1,31, ϕ 2,31).

  • V(8,9) Cov (β 11, β 12), Cov (β 21, β 22), и Cov (β 31, β 32), которые являются ковариациями коэффициентов регрессии первых и вторых внешних переменных для всех уравнений.

Совет

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

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

Инверсия матрица шкалы Уишарта в виде NumSeries- NumSeries положительная определенная числовая матрица.

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

Инверсия степени свободы Уишарта в виде положительного числового скаляра.

Для соответствующего распределения задайте значение, которое больше numseries – 1. Для распределения с конечным средним значением задайте значение, которое больше numseries + 1.

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

Параметры модели 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

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

estimateОцените апостериорное распределение Байесовой векторной авторегрессии (VAR) параметры модели
forecastПредскажите ответы из Байесовой векторной модели (VAR) авторегрессии
simsmoothСимуляция, более сглаженная из Байесовой векторной модели (VAR) авторегрессии
simulateСимулируйте содействующую и инновационную ковариационную матрицу Байесовой векторной модели (VAR) авторегрессии
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 и ковариация Σ. Примите следующие предшествующие распределения:

  • [Φ1,...,Φ4,c]|ΣΝ13×3(Μ,V,Σ), где M 13 3 матрица средних значений и V 13 13 матрица шкалы среди коэффициента. Эквивалентно, vec([Φ1,...,Φ4,c])|ΣΝ39(vec(Μ),ΣV).

  • ΣInverseWishart(Ω,ν), где Ω 3х3 матрица шкалы и ν степени свободы.

Создайте сопряженную предшествующую модель для 3-D VAR (4) параметры модели.

numseries = 3;
numlags = 4;
PriorMdl = conjugatebvarm(numseries,numlags)
PriorMdl = 
  conjugatebvarm 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: [13x13 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 conjugatebvarm Байесов объект модели VAR, представляющий предшествующее распределение содействующей и инновационной ковариации 3-D модели VAR (4). Отображение командной строки показывает свойства модели. Можно отобразить свойства при помощи записи через точку.

Отобразите предшествующие средние матрицы четырех коэффициентов AR путем установки каждой матрицы в ячейке к переменной.

AR1 = PriorMdl.AR{1}
AR1 = 3×3

     0     0     0
     0     0     0
     0     0     0

AR2 = PriorMdl.AR{2}
AR2 = 3×3

     0     0     0
     0     0     0
     0     0     0

AR3 = PriorMdl.AR{3}
AR3 = 3×3

     0     0     0
     0     0     0
     0     0     0

AR4 = PriorMdl.AR{4}
AR4 = 3×3

     0     0     0
     0     0     0
     0     0     0

conjugatebvarm центры все коэффициенты AR в 0 по умолчанию. AR свойство только для чтения, но оно выведено из writeable свойства Mu.

Полагайте, что 1D модель Bayesian AR (2) для ежедневной NASDAQ возвращается с 2 января 1990 до 31 декабря 2001.

yt=c+ϕ1yt-1+ϕ2yt-1+εt.

Уголовное прошлое:

  • [ϕ1ϕ2c]|σ2N3(μ,σ2V), где μ вектор 3 на 1 из содействующих средних значений и V 3х3 масштабированная ковариационная матрица.

  • σ2IG(α,β), где α=ν2 степени свободы и β=Ω2 шкала.

Создайте сопряженную предшествующую модель для AR (2) параметры модели.

numseries = 1;
numlags = 2;
PriorMdl = conjugatebvarm(numseries,numlags)
PriorMdl = 
  conjugatebvarm with properties:

        Description: "1-Dimensional VAR(2) Model"
          NumSeries: 1
                  P: 2
        SeriesNames: "Y1"
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 0
                 Mu: [3x1 double]
                  V: [3x3 double]
              Omega: 1
                DoF: 11
                 AR: {[0]  [0]}
           Constant: 0
              Trend: [1x0 double]
               Beta: [1x0 double]
         Covariance: 0.1111

conjugatebvarm интерпретирует инновационную ковариационную матрицу как инверсию случайная переменная Уишарта. Поскольку шкалы и гиперпараметры степеней свободы среди инверсии, Уишарт и обратные гамма распределения не равны, можно настроить их при помощи записи через точку. Например, чтобы достигнуть 10 степеней свободы для обратной гамма интерпретации, установите инверсию степени свободы Уишарта на 20.

PriorMdl.DoF = 20
PriorMdl = 
  conjugatebvarm with properties:

        Description: "1-Dimensional VAR(2) Model"
          NumSeries: 1
                  P: 2
        SeriesNames: "Y1"
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 0
                 Mu: [3x1 double]
                  V: [3x3 double]
              Omega: 1
                DoF: 20
                 AR: {[0]  [0]}
           Constant: 0
              Trend: [1x0 double]
               Beta: [1x0 double]
         Covariance: 0.0556

В 3-D модели VAR (4) Создают Матричную Нормальную Инверсию Уишарт Сопряженная Предшествующая Модель, рассматривают, исключая задержки 2 и 3 из модели.

Вы не можете исключить содействующие матрицы из моделей, но можно задать высокую предшествующую плотность на нуле для коэффициентов, которые вы хотите исключить.

Создайте сопряженную предшествующую модель для 3-D VAR (4) параметры модели. Задайте имена переменной отклика.

По умолчанию коэффициент AR предшествующие средние значения является нулем. Задайте высокие значения плотности для задержек 2 и 3 путем установки их предшествующих отклонений на 1e-6. Оставьте все другие содействующие значения плотности в их значениях по умолчанию:

  • 1 для содействующих отклонений AR

  • 1e3 для постоянных векторных отклонений

  • 0 для всех содействующих ковариаций

Кроме того, для сопряженных моделей Bayesian VAR только, MATLAB® принимает, что содействующие отклонения пропорциональны через уравнения ответа. Поэтому задайте отклонения относительно первого уравнения.

numseries = 3;
numlags = 4;
seriesnames = ["INFL"; "UNRATE"; "FEDFUNDS"];
vPhi1 = ones(1,numseries);
vPhi2 = 1e-6*ones(1,numseries);
vPhi3 = 1e-6*ones(1,numseries);
vPhi4 = ones(1,numseries);
vc = 1e3;
V = diag([vPhi1 vPhi2 vPhi3 vPhi4 vc]);
PriorMdl = conjugatebvarm(numseries,numlags,'SeriesNames',seriesnames,...
    'V',V)
PriorMdl = 
  conjugatebvarm with properties:

        Description: "3-Dimensional VAR(4) Model"
          NumSeries: 3
                  P: 4
        SeriesNames: ["INFL"    "UNRATE"    "FEDFUNDS"]
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 0
                 Mu: [39x1 double]
                  V: [13x13 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]

Считайте 2D модель VARX(1) для США действительным GDP (RGDP) и инвестиции (GCE) уровни, который обрабатывает персональное потребление (PCEC) уровень как внешний:

[RGDPtGCEt]=c+Φ[RGDPt-1GCEt-1]+PCECtβ+εt.

\forall t, εt серия независимых 2D нормальных инноваций со средним значением 0 и ковариация Σ. Примите следующие предшествующие распределения:

  • [Φcβ]|ΣΝ4×2(Μ,V,Σ), где M 4 2 матрица средних значений и V матрица шкалы среди коэффициента 4 на 4. Эквивалентно, vec([Φcβ])|ΣΝ8(vec(Μ),ΣV).

  • ΣInverseWishart(Ω,ν), где Ω является матрицей шкалы 2 на 2 и ν степени свободы.

Создайте сопряженную предшествующую модель для 2D VARX (1) параметры модели.

numseries = 2;
numlags = 1;
numpredictors = 1;
PriorMdl = conjugatebvarm(numseries,numlags,'NumPredictors',numpredictors)
PriorMdl = 
  conjugatebvarm with properties:

        Description: "2-Dimensional VAR(1) Model"
          NumSeries: 2
                  P: 1
        SeriesNames: ["Y1"    "Y2"]
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 1
                 Mu: [8x1 double]
                  V: [4x4 double]
              Omega: [2x2 double]
                DoF: 12
                 AR: {[2x2 double]}
           Constant: [2x1 double]
              Trend: [2x0 double]
               Beta: [2x1 double]
         Covariance: [2x2 double]

Отобразите предшествующее среднее значение коэффициентов Mu с соответствующими коэффициентами.

coeffnames = ["phi(11)"; "phi(12)"; "c(1)"; "beta(1)"; "phi(21)"; "phi(22)"; "c(2)"; "beta(2)"];
array2table(PriorMdl.Mu,'VariableNames',{'PriorMean'},'RowNames',coeffnames)
ans=8×1 table
               PriorMean
               _________

    phi(11)        0    
    phi(12)        0    
    c(1)           0    
    beta(1)        0    
    phi(21)        0    
    phi(22)        0    
    c(2)           0    
    beta(2)        0    

conjugatebvarm опции позволяют вам задать предшествующие гиперзначения параметров непосредственно, но bayesvarm опции хорошо подходят для настройки гиперпараметров в соответствии с Миннесотским методом регуляризации.

Полагайте, что 3-D модель VAR (4) Создает Матричную Нормальную Инверсию Уишарт Сопряженная Предшествующая Модель. Модель содержит 39 коэффициентов. Для содействующей разреженности создайте сопряженную модель Bayesian VAR при помощи bayesvarm. Задайте следующее, априорно:

  • Каждый ответ является моделью AR (1), в среднем, с задержкой 1 коэффициент 0.75.

  • Предшествующее масштабированное содействующее затухание ковариаций с увеличивающейся задержкой на уровне 2 (то есть, более низкие задержки более важны, чем более высокие задержки).

numseries = 3;
numlags = 4;
PriorMdl = bayesvarm(numseries,numlags,'ModelType','conjugate',...
    'Center',0.75,'Decay',2)
PriorMdl = 
  conjugatebvarm 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: [13x13 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]

Отобразите предшествующие содействующие средние значения в уравнении первого ответа.

Phi1 = PriorMdl.AR{1}
Phi1 = 3×3

    0.7500         0         0
         0    0.7500         0
         0         0    0.7500

Phi2 = PriorMdl.AR{2}
Phi2 = 3×3

     0     0     0
     0     0     0
     0     0     0

Phi3 = PriorMdl.AR{3}
Phi3 = 3×3

     0     0     0
     0     0     0
     0     0     0

Phi4 = PriorMdl.AR{4}
Phi4 = 3×3

     0     0     0
     0     0     0
     0     0     0

Отобразите тепловую карту предшествующих масштабированных ковариаций коэффициентов в первом уравнении ответа.

% Create labels for the chart.
numARCoeffMats = PriorMdl.NumSeries*PriorMdl.P;
arcoeffnames = strings(numARCoeffMats,1);
for r = numlags:-1:1
    arcoeffnames(((r-1)*numseries+1):(numseries*r)) = ["\phi_{"+r+",11}" "\phi_{"+r+",12}" "\phi_{"+r+",13}"];
end

heatmap(arcoeffnames,arcoeffnames,PriorMdl.V(1:end-1,1:end-1));

Figure contains an object of type heatmap.

Для сопряженных моделей Bayesian 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);

Создайте предшествующую модель

Создайте сопряженный Байесов VAR (4) предшествующая модель для трех рядов ответа. Задайте имена переменной отклика.

numseries = numel(seriesnames);
numlags = 4;

PriorMdl = conjugatebvarm(numseries,numlags,'SeriesNames',seriesnames);

Оцените апостериорное распределение

Оцените апостериорное распределение путем передачи предшествующего и целого ряда данных модели estimate.

PosteriorMdl = estimate(PriorMdl,rmDataTable{:,seriesnames},'Display','equation');
Bayesian VAR under conjugate priors
Effective Sample Size:          197
Number of equations:            3
Number of estimated Parameters: 39
                                                                                 VAR Equations                                                                                
           | INFL(-1)  DUNRATE(-1)  DFEDFUNDS(-1)  INFL(-2)  DUNRATE(-2)  DFEDFUNDS(-2)  INFL(-3)  DUNRATE(-3)  DFEDFUNDS(-3)  INFL(-4)  DUNRATE(-4)  DFEDFUNDS(-4)  Constant 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 INFL      |  0.1260     -0.4400        0.1049      0.3176     -0.0545        0.0440      0.4173      0.2421        0.0515      0.0247     -0.1639        0.0080      0.1064  
           | (0.0713)    (0.1395)      (0.0366)    (0.0810)    (0.1490)      (0.0386)    (0.0802)    (0.1467)      (0.0400)    (0.0838)    (0.1385)      (0.0369)    (0.0774) 
 DUNRATE   | -0.0236      0.4440        0.0350      0.0900      0.2295        0.0520     -0.0330      0.0567        0.0010      0.0298     -0.1665        0.0104     -0.0536  
           | (0.0396)    (0.0774)      (0.0203)    (0.0449)    (0.0827)      (0.0214)    (0.0445)    (0.0814)      (0.0222)    (0.0465)    (0.0768)      (0.0205)    (0.0430) 
 DFEDFUNDS | -0.1514     -1.3408       -0.2762      0.3275     -0.2971       -0.3041      0.2609     -0.6971        0.0130     -0.0692      0.1392       -0.1341     -0.3902  
           | (0.1517)    (0.2967)      (0.0777)    (0.1722)    (0.3168)      (0.0820)    (0.1705)    (0.3120)      (0.0851)    (0.1782)    (0.2944)      (0.0785)    (0.1646) 
 
       Innovations Covariance Matrix       
           |   INFL     DUNRATE  DFEDFUNDS 
-------------------------------------------
 INFL      |  0.2725   -0.0197     0.1407  
           | (0.0270)  (0.0106)   (0.0417) 
 DUNRATE   | -0.0197    0.0839    -0.1290  
           | (0.0106)  (0.0083)   (0.0242) 
 DFEDFUNDS |  0.1407   -0.1290     1.2322  
           | (0.0417)  (0.0242)   (0.1220) 

Поскольку предшествующее сопряжено для вероятности данных, следующим является conjugatebvarm объект. По умолчанию, estimate использует первые четыре наблюдения в качестве предварительной выборки, чтобы инициализировать модель.

Сгенерируйте прогнозы от следующего прогнозирующего распределения

От следующего прогнозирующего распределения сгенерируйте прогнозы более чем горизонт 2D года. Поскольку выборка от следующего прогнозирующего распределения требует целого набора данных, задайте предшествующую модель в forecast вместо следующего.

fh = 8;
FY = forecast(PriorMdl,fh,rmDataTable{:,seriesnames});

FY 8 3 матрица прогнозов.

Постройте конец набора данных и прогнозов.

fp = rmDataTable.Time(end) + calquarters(1:fh);
figure
plotdata = [rmDataTable{end - 10:end,seriesnames}; FY];
plot([rmDataTable.Time(end - 10:end); fp'],plotdata)
hold on
plot([fp(1) fp(1)],ylim,'k-.')
legend(seriesnames)
title('Data and Forecasts')
hold off

Figure contains an axes object. The axes object with title Data and Forecasts contains 4 objects of type line. These objects represent INFL, DUNRATE, DFEDFUNDS.

Вычислите импульсные характеристики

Постройте функции импульсной характеристики путем передачи следующих оценок armairf.

armairf(PosteriorMdl.AR,[],'InnovCov',PosteriorMdl.Covariance)

Figure contains an axes object. The axes object with title Orthogonalized IRF of Variable 1 contains 3 objects of type line. These objects represent Shock to Variable 1, Shock to Variable 2, Shock to Variable 3.

Figure contains an axes object. The axes object with title Orthogonalized IRF of Variable 2 contains 3 objects of type line. These objects represent Shock to Variable 1, Shock to Variable 2, Shock to Variable 3.

Figure contains an axes object. The axes object with title Orthogonalized IRF of Variable 3 contains 3 objects of type line. These objects represent Shock to Variable 1, Shock to Variable 2, Shock to Variable 3.

Больше о

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

Алгоритмы

  • Если вы передаете любого conjugatebvarm или diffusebvarm объект и данные к estimateMATLAB® возвращает conjugatebvarm объект, представляющий апостериорное распределение.

  • Условная ковариация (немасштабированная) из целой векторизованной матрицы, нормальной предшествующий, является Σ ⊗ V. Чтобы достигнуть сопряжения, эти условия должны быть верными:

    • Предшествующие ковариации приняты, чтобы быть пропорциональными среди всех уравнений. Σ определяет пропорциональность и масштабирует V во время следующей оценки.

    • Для уравнения ковариации между всеми коэффициентами AR, сам задержка и перекрестная задержка, равны.

    conjugatebvarm осуществляет первое условие, но не второе. Поэтому conjugatebvarm применяет элементы V ко всем коэффициентам в модели относительно коэффициентов в уравнении y 1, t.

Ссылки

[1] Литтермен, Роберт Б., "Предсказывающий с Байесовыми Векторными Авторегрессиями: Пять Лет опыта". Журнал Бизнес-и Экономической статистики 4, № 1 (январь 1986): 25–38. https://doi.org/10.2307/1391384.

Смотрите также

Функции

Объекты

Введенный в R2020a
Для просмотра документации необходимо авторизоваться на сайте