normalbvarm

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

Описание

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

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

Создание

Описание

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

пример

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

  • numseries = m, количество серийных переменных времени отклика.

  • numlags = p, порядок полинома AR.

  • Предшествующее распределение λ является нормальной сопряженной предшествующей моделью.

  • Фиксированной инновационной ковариацией Σ является m-by-m единичная матрица.

пример

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

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

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

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

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

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

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

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

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

Свойства

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

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

PriorMdl = normalbvarm(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']. normalbvarm хранилища SeriesNames как вектор строки.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • V(1,1) var (ϕ 1,11).

  • V(5,6) Cov (ϕ 2,12, ϕ 2,13).

  • V(8,9) Cov (β 11, β 12).

Совет

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

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

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

Sigma устанавливает Covariance свойство.

Типы данных: 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.

Sigma наборы свойств Covariance.

Типы данных: 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 и зафиксированная ковариация Σ = I, 3-D единичная матрица. Примите что предшествующее распределение vec([Φ1,...,Φ4,c])Ν39(μ,V), где μ 39 1 вектор из средних значений и V 39 39 ковариационная матрица.

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

numseries = 3;
numlags = 4;
PriorMdl = normalbvarm(numseries,numlags)
PriorMdl = 
  normalbvarm 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]
              Sigma: [3x3 double]
                 AR: {[3x3 double]  [3x3 double]  [3x3 double]  [3x3 double]}
           Constant: [3x1 double]
              Trend: [3x0 double]
               Beta: [3x0 double]
         Covariance: [3x3 double]

PriorMdl normalbvarm Байесов объект модели 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

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

Отобразите фиксированную инновационную ковариацию Σ.

PriorMdl.Covariance
ans = 3×3

     1     0     0
     0     1     0
     0     0     1

Covariance свойство только для чтения. Устанавливать значение Σ , используйте 'Sigma' аргумент пары "имя-значение" или задает Sigma свойство при помощи записи через точку. Например:

PriorMdl.Sigma = 4*eye(PriorMdl.NumSeries);

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

Предположим, что эконометрическая теория диктует это

Σ=[10-5010-400.1-0.210-4-0.21.6].

Создайте нормальную сопряженную предшествующую модель для коэффициентов модели VAR. Задайте значение Σ.

numseries = 3;
numlags = 4;
Sigma = [10e-5 0 10e-4; 0 0.1 -0.2; 10e-4 -0.2 1.6]; 

PriorMdl = normalbvarm(numseries,numlags,'Sigma',Sigma)
PriorMdl = 
  normalbvarm 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]
              Sigma: [3x3 double]
                 AR: {[3x3 double]  [3x3 double]  [3x3 double]  [3x3 double]}
           Constant: [3x1 double]
              Trend: [3x0 double]
               Beta: [3x0 double]
         Covariance: [3x3 double]

Поскольку Σ фиксируется для normalbvarm предшествующие модели, PriorMdl.Sigma и PriorMdl.Covariance равны.

PriorMdl.Sigma
ans = 3×3

    0.0001         0    0.0010
         0    0.1000   -0.2000
    0.0010   -0.2000    1.6000

PriorMdl.Covariance
ans = 3×3

    0.0001         0    0.0010
         0    0.1000   -0.2000
    0.0010   -0.2000    1.6000

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

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

Коэффициент предшествующее распределение [ϕ1ϕ2c]|σ2N3(μ,V), где μ вектор 3 на 1 из содействующих средних значений и V 3х3 ковариационная матрица. Примите Var (εt) 2.

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

numseries = 1;
numlags = 2;
PriorMdl = normalbvarm(numseries,numlags,'Sigma',2)
PriorMdl = 
  normalbvarm 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]
              Sigma: 2
                 AR: {[0]  [0]}
           Constant: 0
              Trend: [1x0 double]
               Beta: [1x0 double]
         Covariance: 2

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

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

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

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

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

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

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

numseries = 3;
numlags = 4;
seriesnames = ["INFL"; "UNRATE"; "FEDFUNDS"];
vPhi1 = ones(numseries,numseries);
vPhi2 = 1e-6*ones(numseries,numseries);
vPhi3 = 1e-6*ones(numseries,numseries);
vPhi4 = ones(numseries,numseries);
vc = 1e3*ones(3,1);
Vmat = [vPhi1 vPhi2 vPhi3 vPhi4 vc]';
V = diag(Vmat(:));
PriorMdl = normalbvarm(numseries,numlags,'SeriesNames',seriesnames,...
    'V',V)
PriorMdl = 
  normalbvarm 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: [39x39 double]
              Sigma: [3x3 double]
                 AR: {[3x3 double]  [3x3 double]  [3x3 double]  [3x3 double]}
           Constant: [3x1 double]
              Trend: [3x0 double]
               Beta: [3x0 double]
         Covariance: [3x3 double]

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

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

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

  • Предшествующие коэффициенты самозадержки имеют отклонение 100. Эта большая установка отклонения позволяет данным влиять на следующие больше, чем предшествующее.

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

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

  • Инновационная ковариация Σ = I.

numseries = 3;
numlags = 4;
seriesnames = ["INFL"; "UNRATE"; "FEDFUNDS"];
Sigma = eye(numseries);
PriorMdl = bayesvarm(numseries,numlags,'ModelType','normal','Sigma',Sigma,...
    'Center',0.75,'SelfLag',100,'CrossLag',1,'Decay',2,'SeriesNames',seriesnames)
PriorMdl = 
  normalbvarm 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: [39x39 double]
              Sigma: [3x3 double]
                 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

Отобразите тепловую карту предшествующих содействующих ковариаций для каждого уравнения ответа.

numexocoeffseqn = PriorMdl.IncludeConstant + ...
    PriorMdl.IncludeTrend + PriorMdl.NumPredictors;             % Number of exogenous coefficients per equation
numcoeffseqn = PriorMdl.NumSeries*PriorMdl.P + numexocoeffseqn; % Total number of coefficients per equation
arcoeffnames = strings(numseries,numlags,numseries);
for j = 1:numseries         % Equations
    for r = 1:numlags
        for k = 1:numseries % Response Variables
            arcoeffnames(k,r,j) = "\phi_{"+r+","+j+k+"}";
        end
    end
    arcoeffseqn = arcoeffnames(:,:,j);
    idx = ((j-1)*numcoeffseqn + 1):(numcoeffseqn*j) - numexocoeffseqn;
    Veqn = PriorMdl.V(idx,idx);
    figure
    heatmap(arcoeffseqn(:),arcoeffseqn(:),Veqn);
    title(sprintf('Equation of %s',seriesnames(j)))
end

Figure contains an object of type heatmap. The chart of type heatmap has title Equation of INFL.

Figure contains an object of type heatmap. The chart of type heatmap has title Equation of UNRATE.

Figure contains an object of type heatmap. The chart of type heatmap has title Equation of FEDFUNDS.

Полагайте, что 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 = normalbvarm(numseries,numlags,'SeriesNames',seriesnames);

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

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

PosteriorMdl = estimate(PriorMdl,rmDataTable{:,seriesnames},'Display','equation');
Bayesian VAR under normal priors and fixed Sigma
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.1367)    (0.2673)      (0.0700)    (0.1551)    (0.2854)      (0.0739)    (0.1536)    (0.2811)      (0.0766)    (0.1605)    (0.2652)      (0.0708)    (0.1483) 
 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.1367)    (0.2673)      (0.0700)    (0.1551)    (0.2854)      (0.0739)    (0.1536)    (0.2811)      (0.0766)    (0.1605)    (0.2652)      (0.0708)    (0.1483) 
 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.1367)    (0.2673)      (0.0700)    (0.1551)    (0.2854)      (0.0739)    (0.1536)    (0.2811)      (0.0766)    (0.1605)    (0.2652)      (0.0708)    (0.1483) 
 
     Innovations Covariance Matrix    
           | INFL  DUNRATE  DFEDFUNDS 
--------------------------------------
 INFL      |  1      0         0      
           |  (0)    (0)       (0)    
 DUNRATE   |  0      1         0      
           |  (0)    (0)       (0)    
 DFEDFUNDS |  0      0         1      
           |  (0)    (0)       (0)    

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

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

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

fh = 8;
rng(1); % For reproducibility
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.

Больше о

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

Ссылки

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

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

Функции

Объекты

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