var2vec

Преобразуйте модель VAR в модель VEC

Если какие-либо из временных рядов в векторной модели (VAR) авторегрессии являются cointegrated, то модель VAR является неустановившейся. Можно определить коэффициент исправления ошибок путем преобразования модели VAR в модель векторного исправления ошибок (VEC). Матрица коэффициентов исправления ошибок определяет, в среднем, как временные ряды реагируют на отклонения от своих отдаленных средних значений. Ранг коэффициента исправления ошибок определяет, сколько cointegrating отношений там существует в модели.

Поскольку estimate подходит для оценки моделей VAR в уменьшаемой форме, можно преобразовать предполагаемую модель VAR в ее модель VEC эквивалентное использование var2vec.

Синтаксис

[VEC,C] = var2vec(VAR)

Описание

пример

[VEC,C] = var2vec(VAR) возвращает содействующие матрицы (VEC) и матрица коэффициентов исправления ошибок (C) векторной модели исправления ошибок, эквивалентной векторной авторегрессивной модели с содействующими матрицами (VAR). Если количество задержек во входном векторе, авторегрессивной моделью является p, то количеством задержек в модели исправления ошибок выходного вектора является q = p – 1.

Примеры

свернуть все

Рассмотрите преобразование следующей модели VAR (3) к модели VEC(2).

yt=[0.51-2]+[0.540.86-0.431.830.320.34-2.26-1.313.58]yt-1+[0.14-0.120.050.140.070.100.070.160.07]yt-3+εt.

Задайте содействующие матрицы (A1, A2, и A3) из условий модели VAR (3) yt-1, yt-2, и yt-3.

A1 = [0.54  0.86 -0.43;
      1.83  0.32  0.34;
     -2.26 -1.31  3.58];
A2 = zeros(3); 
A3 = [0.14 -0.12 0.05;
      0.14  0.07 0.10;
      0.07  0.16 0.07];

Упакуйте матрицы в отдельные ячейки 3 размерных векторов ячейки. Поместите A1 в первую ячейку, A2 во вторую ячейку и A3 в третью ячейку.

VAR = {A1 A2 A3};

Вычислите содействующие матрицы Δyt-1 и Δyt-2, и матрица коэффициентов исправления ошибок эквивалентной модели VEC(2).

[VEC,C] = var2vec(VAR);
size(VEC)
ans = 1×2

     1     2

Спецификация массива ячеек матриц для входного параметра указывает, что модель VAR (3) является моделью уменьшаемой формы, выраженной как разностное уравнение. VAR{1} является коэффициентом yt-1, и последующие элементы соответствуют последующим задержкам.

VEC 1 2 вектор ячейки 3х3 содействующих матриц для VEC (2) эквивалентен из модели VAR (3). Поскольку модель VAR (3) находится в уменьшаемой форме, эквивалентная модель VEC также. Таким образом, VEC{1} является коэффициентом Δyt-1, и последующие элементы соответствуют последующим задержкам. Ориентация VEC соответствует ориентации VAR.

Отобразите VEC (2) коэффициенты модели.

B1 = VEC{1}
B1 = 3×3

   -0.1400    0.1200   -0.0500
   -0.1400   -0.0700   -0.1000
   -0.0700   -0.1600   -0.0700

B2 = VEC{2}
B2 = 3×3

   -0.1400    0.1200   -0.0500
   -0.1400   -0.0700   -0.1000
   -0.0700   -0.1600   -0.0700

C
C = 3×3

   -0.3200    0.7400   -0.3800
    1.9700   -0.6100    0.4400
   -2.1900   -1.1500    2.6500

Поскольку постоянные смещения между моделями эквивалентны, получившаяся модель VEC(2)

Δyt=[0.51-2]+[-0.140.12-0.05-0.14-0.07-0.10-0.07-0.16-0.07]Δyt-1+[-0.140.12-0.05-0.14-0.07-0.10-0.07-0.16-0.07]Δyt-2+[-0.320.74-0.381.97-0.610.44-2.19-1.152.65]yt-1+εt.

Рассмотрите преобразование следующей структурной модели VAR (2) к структурной модели VEC(1).

[0.54-2.261.830.86]yt=[0.32-0.43-1.310.34]yt-1+[0.070.07-0.01-0.02]yt-2+εt.

Задайте авторегрессивные содействующие матрицы A0, A1, и A2.

A0 = [0.54 -2.26;
      1.83  0.86];
A1 = [0.32 -0.43
     -1.31  0.34];
A2 = [0.07  0.07
     -0.01 -0.02];

Упакуйте матрицы в отдельные ячейки 3 размерных векторов ячейки. Поместите A0 в первую ячейку, A1 во вторую ячейку и A2 в третью ячейку. Инвертируйте коэффициенты, соответствующие всем ненулевым условиям задержки.

VARCoeff = {A0; -A1; -A2};

Создайте полином оператора задержки, который охватывает авторегрессивные условия в модели VAR (2).

VAR = LagOp(VARCoeff)
VAR = 
    2-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 3 Non-Zero Coefficients]
                Lags: [0 1 2]
              Degree: 2
           Dimension: 2

VAR является полиномом оператора задержки LagOp. VAR задает модель VAR (2) в обозначении оператора задержки, как в этом уравнении

(A0-A1L-A2L2)yt=εt.

L оператор задержки. Если вы расширяете количество и решаете для yt, затем результатом является модель VAR (2) в обозначении разностного уравнения.

Вычислите содействующие матрицы Δyt и Δyt, и матрица коэффициентов исправления ошибок эквивалентной модели VEC(1).

[VEC,C] = var2vec(VAR)
VEC = 
    2-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 2 Non-Zero Coefficients]
                Lags: [0 1]
              Degree: 1
           Dimension: 2
C = 2×2

   -0.1500    1.9000
   -3.1500   -0.5400

VAR.Coefficients{0} A0, матрица коэффициентов yt. Последующие элементы в VAR.Coefficients соответствуют последующим задержкам в VAR.Lags.

VEC является VEC (1) эквивалентный из модели VAR (2). Поскольку модель VAR (2) структурна, эквивалентная модель VEC(1) также. Таким образом, VEC.Coefficients{0} является коэффициентом Δyt, и последующие элементы соответствуют последующим задержкам в VEC.Lags.

Отобразите коэффициенты модели VEC в обозначении разностного уравнения.

B0 = VEC.Coefficients{0}
B0 = 2×2

    0.5400   -2.2600
    1.8300    0.8600

B1 = -VEC.Coefficients{1}
B1 = 2×2

   -0.0700   -0.0700
    0.0100    0.0200

C
C = 2×2

   -0.1500    1.9000
   -3.1500   -0.5400

Получившаяся модель VEC(1)

[0.54-2.261.830.86]Δyt=[-0.07-0.070.010.02]Δyt-1+[-0.151.9-3.15-0.54]yt-1+εt.

Также отразите полином оператора задержки VEC вокруг задержки 0, чтобы получить коэффициенты обозначения разностного уравнения.

DiffEqnCoeffs = reflect(VEC);
B = toCellArray(DiffEqnCoeffs);
B{1} == B0
ans = 2x2 logical array

   1   1
   1   1

B{2} == B1
ans = 2x2 logical array

   1   1
   1   1

Оба метода производят те же коэффициенты.

Аппроксимируйте коэффициенты модели VEC, которая представляет эту стационарную и обратимую модель VARMA(8,4), которая находится в форме оператора задержки

{[10.2-0.10.031-0.150.9-0.251]+[0.5-0.2-0.1-0.3-0.10.10.4-0.2-0.05]L4+[0.05-0.02-0.01-0.1-0.01-0.0010.04-0.02-0.005]L8}yt={[100010001]+[-0.020.030.30.0030.0010.010.30.010.01]L4}εt

где yt=[y1ty2ty3t] и εt=[ε1tε2tε3t].

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

VAR0 = {[1 0.2 -0.1; 0.03 1 -0.15; 0.9 -0.25 1],...
    [0.5 -0.2 -0.1; -0.3 -0.1 0.1; 0.4 -0.2 -0.05],...
    [0.05 -0.02 -0.01; -0.1 -0.01 -0.001; 0.04 -0.02 -0.005]};
var0Lags = [0 4 8];

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

VMA0 = {eye(3),...
    [-0.02 0.03 0.3; 0.003 0.001 0.01; 0.3 0.01 0.01]};
vma0Lags = [0 4];

arma2ma требует полиномов оператора задержки LagOp для входных параметров, которые включают структурные модели VAR или VMA. Создайте отдельные полиномы LagOp, которые описывают VAR (8) и VMA (4) компоненты модели VARMA(8,4).

VARLag = LagOp(VAR0,'Lags',var0Lags);
VMALag = LagOp(VMA0,'Lags',vma0Lags);

VARLag и VMALag являются полиномами оператора задержки LagOp, которые описывают VAR и компоненты VMA модели VARMA.

Преобразуйте модель VARMA(8,4) в VAR (p) модель путем получения коэффициентов усеченного приближения полинома бесконечной задержки. Установите numLags возвращать самое большее 12 изолированных условий.

numLags = 12;
VAR = arma2ar(VARLag,VMALag,numLags)
VAR = 
    3-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 4 Non-Zero Coefficients]
                Lags: [0 4 8 12]
              Degree: 12
           Dimension: 3

VAR является полиномом оператора задержки LagOP. Все коэффициенты кроме тех, которые соответствуют задержкам 0, 4, 8, и 12, имеют размер 3х3 матрицы нулей. Коэффициенты в VAR.Coefficients включают структурное приближение модели VAR (12) исходной модели VARMA(8,4).

Вычислите коэффициенты модели VEC(11), эквивалентной получившейся модели VAR (12).

[VEC,C] = var2vec(VAR)
VEC = 
    3-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 12 Non-Zero Coefficients]
                Lags: [0 1 2 3 4 5 6 7 8 9 10 11]
              Degree: 11
           Dimension: 3
C = 3×3

   -1.2998   -0.1019    0.5440
    0.3831   -0.8937    0.0603
   -0.9484    0.5068   -1.0876

VEC является полиномом оператора задержки LagOp, содержащим содействующие матрицы получившейся модели VEC(11) в VEC.Coefficients. VEC.Coefficients{0} является коэффициентом Δyt, Vec{1} является коэффициентом Δyt-1, и так далее.

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

lag2Idx = VEC.Lags + 1; % Lags start at 0.  Add 1 to convert to indices.
VecCoeff = toCellArray(VEC);

for j = 1:numel(lag2Idx)
    fprintf('___________Lag %d__________\n',lag2Idx(j) - 1)
    fprintf('%8.3f %8.3f %8.3f \n',VecCoeff{lag2Idx(j)})
    fprintf    ('__________________________\n')
end
___________Lag 0__________
   1.000    0.030    0.900 
   0.200    1.000   -0.250 
  -0.100   -0.150    1.000 
__________________________
___________Lag 1__________
  -0.300    0.413   -0.048 
   0.098    0.106    0.257 
   0.444   -0.090   -0.088 
__________________________
___________Lag 2__________
  -0.300    0.413   -0.048 
   0.098    0.106    0.257 
   0.444   -0.090   -0.088 
__________________________
___________Lag 3__________
  -0.300    0.413   -0.048 
   0.098    0.106    0.257 
   0.444   -0.090   -0.088 
__________________________
___________Lag 4__________
  -0.051    0.101    0.042 
  -0.053    0.007   -0.011 
   0.046    0.001   -0.116 
__________________________
___________Lag 5__________
  -0.051    0.101    0.042 
  -0.053    0.007   -0.011 
   0.046    0.001   -0.116 
__________________________
___________Lag 6__________
  -0.051    0.101    0.042 
  -0.053    0.007   -0.011 
   0.046    0.001   -0.116 
__________________________
___________Lag 7__________
  -0.051    0.101    0.042 
  -0.053    0.007   -0.011 
   0.046    0.001   -0.116 
__________________________
___________Lag 8__________
  -0.014   -0.000    0.010 
   0.007    0.000    0.018 
   0.034    0.001   -0.002 
__________________________
___________Lag 9__________
  -0.014   -0.000    0.010 
   0.007    0.000    0.018 
   0.034    0.001   -0.002 
__________________________
___________Lag 10__________
  -0.014   -0.000    0.010 
   0.007    0.000    0.018 
   0.034    0.001   -0.002 
__________________________
___________Lag 11__________
  -0.014   -0.000    0.010 
   0.007    0.000    0.018 
   0.034    0.001   -0.002 
__________________________

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

свернуть все

VAR (p) коэффициенты модели, заданные как числовой вектор, вектор ячейки n-by-n числовые матрицы или LagOp, изолирует объект полинома оператора.

  • Для числовой векторной спецификации:

    • VAR (p) является одномерными временными рядами.

    • VAR должен быть длиной p числовой вектор.

    • VAR(j) содержит скалярный Aj, коэффициент изолированного ответа y tj.

    • Коэффициентом yt (A 0) является 1.

  • Для спецификации вектора ячейки:

    • VAR должен иметь длину p, и каждая ячейка содержит n-by-n числовая матрица (n> 1).

    • VAR{ j } должен содержать Aj, матрица коэффициентов задержки называют y tj.

    • var2vec принимает, что коэффициентом yt (A 0) является n-by-n идентичность.

  • Поскольку LagOp изолирует спецификацию полинома оператора:

    • VAR.Degree должен быть p.

    • VAR.Coefficients{0} является A 0, коэффициент yt. Все другие элементы соответствуют коэффициентам последующих условий задержки. Например, VAR.Coefficients{ j } является матрицей коэффициентов y tj. VAR.Lags хранит все ненулевые задержки.

    • Чтобы создать модель в уменьшаемой форме, установите VAR.Coefficients{0} на eye(VAR.Dimension).

Например, рассмотрите преобразование

[1001]yt=[0.10.210.1]yt1+[0.10.010.20.3]yt2+εt

к модели VEC(1). Модель находится в обозначении разностного уравнения. Можно преобразовать модель путем ввода

VEC = var2vec({[0.1 0.2; 1 0.1], [-0.1 0.01; 0.2 -0.3]});
Модель VAR (2) в обозначении оператора задержки

([1001][0.10.210.1][0.10.010.20.3]L)yt=εt.

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

VAR = LagOp({eye(2), -[0.1 0.2; 1 0.1], -[-0.1 0.01; 0.2 -0.3]});
VEC = var2vec(VAR);

Выходные аргументы

свернуть все

VEC (q) коэффициенты модели differenced ответов, возвращенных как числовой вектор, вектор ячейки n-by-n числовые матрицы или LagOp, изолируют объект полинома оператора. n является количеством временных рядов в модели VAR (p).

VAR и VEC совместно используют совпадающий тип данных и ориентацию.

var2vec преобразовывает модели VAR (p) в модели VEC (p - 1). Это:

  • Если VAR является ячейкой или числовым вектором, то numel(VEC) является numel(VAR) - 1.

  • Если VAR является полиномом оператора задержки LagOp, то VEC.Degree является VAR.Degree - 1.

Коэффициент исправления ошибок, возвращенный как n-by-n числовая матрица. n является количеством временных рядов в модели VAR.

Больше о

свернуть все

Обозначение разностного уравнения

Модель VAR (p) или VEC (q), написанная в difference-equation notation, изолирует приведенную стоимость вектора отклика и его структурной матрицы коэффициентов на левой стороне уравнения. Правая сторона уравнения содержит сумму изолированных ответов, их содействующих матриц, существующего инновационного вектора, и, для моделей VEC, срока исправления ошибок.

Таким образом, модель VAR (p), написанная в обозначении разностного уравнения,

A0yt=a+A1yt1+A2yt2+...+Apytp+εt.

Модель VEC(q), написанная в обозначении разностного уравнения,

B0Δyt=b+B1Δyt1+B2Δyt2+...+BqΔytq+Cyt1+εt.

Для переменной и определений параметра, смотрите VAR (p) Модель и VEC (q) Модель.

Изолируйте обозначение оператора

Модель VAR (p) или VEC (q), написанная в положениях lag-operator notation весь ответ, называет к левой стороне уравнения. Правая сторона уравнения содержит образцовый постоянный вектор смещения, существующие инновации, и, для моделей VEC, срока исправления ошибок.

Таким образом, модель VAR (p), написанная в обозначении оператора задержки,

A(L)yt=a+εt

где A(L)=A0A1LA2L2...ApLp и Ljyt=ytj.

Модель VEC(q), написанная в обозначении разностного уравнения,

B(L)Δyt=b+Cyt1+εt

где B(L)=B0B1LB2L2...BqLq.

Для переменной и определений параметра, смотрите VAR (p) Модель и VEC (q) Модель.

При сравнении обозначения оператора задержки с обозначением разностного уравнения знаки условий задержки являются противоположностями. Для получения дополнительной информации смотрите Обозначение Оператора Задержки.

VAR (p) модель

VAR(p) model является многомерной, авторегрессивной моделью временных рядов, которая имеет эту общую форму:

A0yt=a+A1yt1+A2yt2+...+Apytp+εt.

  • yt является n - размерные временные ряды.

  • A 0 является n-by-n обратимая структурная матрица коэффициентов. Для моделей в reduced form, A 0 = In, который является n - размерная единичная матрица.

  • a является n - размерный вектор постоянных смещений.

  • Aj является n-by-n матрица коэффициентов yt–j, j = 1..., p.

  • εt является n - размерный инновационный ряд. Инновации являются последовательно некоррелироваными, и имеют многомерное нормальное распределение со средним значением 0 и n-by-n ковариационная матрица Σ.

VEC (q) модель

VEC(q) model является многомерной, авторегрессивной моделью временных рядов, которая имеет эту общую форму:

B0Δyt=b+B1Δyt1+B2Δyt2+...+BqΔytq+Cyt1+εt.

  • yt является n - размерные временные ряды.

  • Δ является первым оператором различия, то есть, Δyt = yty t –1.

  • B 0 является n-by-n обратимая структурная матрица коэффициентов. Для моделей в reduced form, B 0 = In, который является n - размерная единичная матрица.

  • b является n - размерный вектор постоянных смещений.

  • Bj является n-by-n матрица коэффициентов Δyt–j, j = 1..., q.

  • εt является n - размерный инновационный ряд. Инновации являются последовательно некоррелироваными, и имеют многомерное нормальное распределение со средним значением 0 и n-by-n ковариационная матрица Σ.

  • C является n-by-n матрица коэффициентов влияния или исправление ошибок.

Советы

  • Чтобы разместить структурные модели VAR, задайте входной параметр VAR как полином оператора задержки LagOp.

  • Чтобы получить доступ к вектору ячейки коэффициентов полинома оператора задержки выходного аргумента VEC, введите toCellArray(VEC).

  • Чтобы преобразовать коэффициенты модели выходного аргумента от обозначения оператора задержки до коэффициентов модели в обозначении разностного уравнения, войти

    VECDEN = toCellArray(reflect(VEC));
    VECDEN является вектором ячейки, содержащим коэффициенты p, соответствующие differenced условиям ответа в VEC.Lags в обозначении разностного уравнения. Первый элемент является коэффициентом Δyt, второй элемент является коэффициентом Δy t –1 и так далее.

  • Рассмотрите преобразование модели VAR (p) к модели VEC(q). Если матрица коэффициентов исправления ошибок (C) имеет:

    • Нуль ранга, затем конвертированная модель VEC является стабильной моделью VAR (p - 1) с точки зрения Δyt.

    • Полный ранг, затем модель VAR (p) стабильна (т.е. не имеет никаких модульных корней) [2].

    • Оцените r, такой, что 0 <r <n, затем стабильная модель VEC имеет r cointegrating отношения.

  • Постоянное смещение конвертированной модели VEC совпадает с постоянным смещением модели VAR.

Алгоритмы

  • var2vec не налагает требования устойчивости к коэффициентам. Чтобы проверять на устойчивость, используйте isStable.

    isStable требует полинома оператора задержки LagOp как входного параметра. Например, чтобы проверять, составляет ли VAR, массив ячеек n-by-n числовые матрицы, стабильные временные ряды, входят

    varLagOp = LagOp([eye(n) VAR]);
    isStable(varLagOp)

    0 указывает, что полином не стабилен.

Ссылки

[1] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.

[2] Lutkepohl, H. "Новое введение в несколько анализ временных рядов". Springer-Verlag, 2007.

Введенный в R2015b