var2vec

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

Синтаксис

Описание

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

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

пример

[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) устойчива (i.e., не имеет никаких модульных корней) [2].

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

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

Алгоритмы

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

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

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

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

Ссылки

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

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

Введенный в R2015b