diffusebvarm

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

Описание

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

Рассеянная предшествующая модель не позволяет вам задать гиперзначения параметров для содействующей разреженности; все задержки AR в модели взвешиваются одинаково. Чтобы реализовать Миннесотскую регуляризацию, создайте сопряженную, полусопряженную, или нормальную предшествующую модель при помощи bayesvarm.

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

Создание

Описание

Создать diffusebvarm объект, используйте любого diffusebvarm функция (описанный здесь) или bayesvarm функция.

пример

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

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

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

  • Объединенное предшествующее распределение (λ, Σ) является рассеянной моделью.

пример

PriorMdl = diffusebvarm(numseries,numlags,Name,Value) устанавливает перезаписываемые свойства (кроме NumSeries и P) использование аргументов пары "имя-значение". Заключите каждое имя свойства в кавычки. Например, diffusebvarm(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 = diffusebvarm(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']. diffusebvarm хранилища SeriesNames как вектор строки.

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

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

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

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

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

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

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

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

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

Параметры модели 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 матрица NaN. Поскольку предшествующая модель является рассеянной, среднее значение Σ неизвестно, априорно.

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

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 и ковариация Σ. Примите что объединенное предшествующее распределение параметров модели VAR ([Φ1,...,Φ4,c],Σ) является рассеянным.

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

numseries = 3;
numlags = 4;
PriorMdl = diffusebvarm(numseries,numlags)
PriorMdl = 
  diffusebvarm with properties:

        Description: "3-Dimensional VAR(4) Model"
          NumSeries: 3
                  P: 4
        SeriesNames: ["Y1"    "Y2"    "Y3"]
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 0
                 AR: {[3x3 double]  [3x3 double]  [3x3 double]  [3x3 double]}
           Constant: [3x1 double]
              Trend: [3x0 double]
               Beta: [3x0 double]
         Covariance: [3x3 double]

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

diffusebvarm центры все коэффициенты AR в 0 по умолчанию. Поскольку модель является рассеянной, данные сообщают апостериорному распределению.

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

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

Предшествующее соединение является рассеянным.

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

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

        Description: "1-Dimensional VAR(2) Model"
          NumSeries: 1
                  P: 2
        SeriesNames: "Y1"
    IncludeConstant: 1
       IncludeTrend: 0
      NumPredictors: 0
                 AR: {[0]  [0]}
           Constant: 0
              Trend: [1x0 double]
               Beta: [1x0 double]
         Covariance: NaN

Рассмотрите добавление, что линейный термин тренда времени к 3-D модели VAR (4) Создает Рассеянную Предшествующую Модель:

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

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

numseries = 3;
numlags = 4;
seriesnames = ["INFL"; "UNRATE"; "FEDFUNDS"];
PriorMdl = diffusebvarm(numseries,numlags,'SeriesNames',seriesnames,...
    'IncludeTrend',true)
PriorMdl = 
  diffusebvarm with properties:

        Description: "3-Dimensional VAR(4) Model"
          NumSeries: 3
                  P: 4
        SeriesNames: ["INFL"    "UNRATE"    "FEDFUNDS"]
    IncludeConstant: 1
       IncludeTrend: 1
      NumPredictors: 0
                 AR: {[3x3 double]  [3x3 double]  [3x3 double]  [3x3 double]}
           Constant: [3x1 double]
              Trend: [3x1 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 и ковариация Σ. Примите, что объединенное предшествующее распределение является рассеянным.

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

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

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

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

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

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

rng(1); % For reproducibility
PosteriorMdl = estimate(PriorMdl,rmDataTable{:,seriesnames},'Display','equation');
Bayesian VAR under diffuse 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.1241     -0.4809        0.1005      0.3236     -0.0503        0.0450      0.4272      0.2738        0.0523      0.0167     -0.1830        0.0067      0.1007  
           | (0.0762)    (0.1536)      (0.0390)    (0.0868)    (0.1647)      (0.0413)    (0.0860)    (0.1620)      (0.0428)    (0.0901)    (0.1520)      (0.0395)    (0.0832) 
 DUNRATE   | -0.0219      0.4716        0.0391      0.0913      0.2414        0.0536     -0.0389      0.0552        0.0008      0.0285     -0.1795        0.0088     -0.0499  
           | (0.0413)    (0.0831)      (0.0211)    (0.0469)    (0.0891)      (0.0223)    (0.0465)    (0.0876)      (0.0232)    (0.0488)    (0.0822)      (0.0214)    (0.0450) 
 DFEDFUNDS | -0.1586     -1.4368       -0.2905      0.3403     -0.2968       -0.3117      0.2848     -0.7401        0.0028     -0.0690      0.1494       -0.1372     -0.4221  
           | (0.1632)    (0.3287)      (0.0835)    (0.1857)    (0.3526)      (0.0883)    (0.1841)    (0.3466)      (0.0917)    (0.1928)    (0.3253)      (0.0845)    (0.1781) 
 
       Innovations Covariance Matrix       
           |   INFL     DUNRATE  DFEDFUNDS 
-------------------------------------------
 INFL      |  0.3028   -0.0217     0.1579  
           | (0.0321)  (0.0124)   (0.0499) 
 DUNRATE   | -0.0217    0.0887    -0.1435  
           | (0.0124)  (0.0094)   (0.0283) 
 DFEDFUNDS |  0.1579   -0.1435     1.3872  
           | (0.0499)  (0.0283)   (0.1470) 

PosteriorMdl 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.

Больше о

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

Алгоритмы

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

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

Функции

Объекты

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