vec2var

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

Функции модели Econometrics Toolbox™ VAR, такие как simulate, forecast и armairf подходят для векторных моделей (VAR) авторегрессии. Чтобы моделировать, предскажите или сгенерируйте импульсные ответы из модели векторного исправления ошибок (VEC) использование simulate, forecast, или armairf, соответственно, преобразовывает модель VEC в свое эквивалентное представление модели VAR.

Синтаксис

VAR = vec2var(VEC,C)

Описание

пример

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

Примеры

свернуть все

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

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

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

B1 = [-0.14   0.12 -0.05;
      -0.14 -0.07 -0.10;
      -0.07  -0.16 -0.07];
B2 = [-0.14   0.12 -0.05;
      -0.14 -0.07 -0.10;
      -0.07  -0.16 -0.07]; 
C  = [-0.32  0.74 -0.38;
       1.97 -0.61  0.44;
     - 2.19 -1.15  2.65];

Упакуйте матрицы в отдельные ячейки 2-мерного вектора ячейки. Поместите B1 в первую ячейку и B2 во вторую ячейку.

VEC = {B1 B2};

Вычислите содействующие матрицы эквивалентной модели VAR (3).

VAR = vec2var(VEC,C);
size(VAR)
ans = 1×2

     1     3

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

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

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

A1 = VAR{1}
A1 = 3×3

    0.5400    0.8600   -0.4300
    1.8300    0.3200    0.3400
   -2.2600   -1.3100    3.5800

A2 = VAR{2}
A2 = 3×3

     0     0     0
     0     0     0
     0     0     0

A3 = VAR{3}
A3 = 3×3

    0.1400   -0.1200    0.0500
    0.1400    0.0700    0.1000
    0.0700    0.1600    0.0700

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

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.

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

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

Задайте содействующие матрицы B0 и B1, и коэффициент исправления ошибок C.

B0 = [0.54 -2.26;
      1.83  0.86];
B1 = [-0.07  -0.07
     0.01 0.02];
C = [-0.15  1.9;
     -3.15  -0.54];

Упакуйте матрицы в отдельные ячейки 3-мерного вектора ячейки. Поместите B0 в первую ячейку и B1 во вторую ячейку. Инвертируйте коэффициенты, соответствующие всем ненулевым условиям задержки differenced.

VECCoeff = {B0; -B1};

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

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

VEC является полиномом оператора задержки LagOp и задает авторегрессивный полином оператора задержки в этом уравнении

(B0-B1L)Δyt=Cyt-1+εt.

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

Вычислите содействующие матрицы эквивалентной модели VAR (2).

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

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

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

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

A0 = VAR.Coefficients{0}
A0 = 2×2

    0.5400   -2.2600
    1.8300    0.8600

A1 = -VAR.Coefficients{1}
A1 = 2×2

    0.3200   -0.4300
   -1.3100    0.3400

A2 = -VAR.Coefficients{2}
A2 = 2×2

    0.0700    0.0700
   -0.0100   -0.0200

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

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

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

DiffEqnCoeffs = reflect(VAR);
A = toCellArray(DiffEqnCoeffs);
A{1} == A0
ans = 2x2 logical array

   1   1
   1   1

A{2} == A1
ans = 2x2 logical array

   1   1
   1   1

A{3} == A2
ans = 2x2 logical array

   1   1
   1   1

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

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

{[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=[-0.020.030.30.050.10.010.30.010.01]yt-1+εt

где Δyt=[Δyt,1Δyt,2Δyt,3], εt=[ε1tε2tε3t], и, для j = 1,2, и 3, Δyt,j=yt,j-yt-1,j.

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

VEC0 = {[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]};
vec0Lags = [0 4 8];
C = [-0.02 0.03 0.3; 0.05 0.1 0.01; 0.3 0.01 0.01];

vec2var требует полинома оператора задержки LagOp для входного параметра, который включает структурную модель VEC(8). Создайте полином оператора задержки LagOp, который описывает модель VEC(8) авторегрессивный компонент матрицы коэффициентов (т.е. коэффициенты Δyt и его задержки).

VECLag = LagOp(VEC0,'Lags',vec0Lags);

VECLag является полиномом оператора задержки LagOp, который описывает авторегрессивный компонент модели VEC(8).

Вычислите коэффициенты модели VAR (9), эквивалентной модели VEC(8).

VAR = vec2var(VECLag,C)
VAR = 
    3-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 6 Non-Zero Coefficients]
                Lags: [0 1 4 5 8 9]
              Degree: 9
           Dimension: 3

VAR является полиномом оператора задержки LagOp. Все коэффициенты кроме тех, которые соответствуют задержкам 0, 1, 4, 5, 8, и 9, имеют размер 3х3 матрицы нулей. Коэффициенты в VAR включают стабильную, структурную модель VAR (9), эквивалентную исходной модели VEC(8). Модель стабильна, потому что коэффициент исправления ошибок имеет полный ранг.

Вычислите коэффициенты приближения модели VMA к получившейся модели VAR (9). Установите numLags возвращать самое большее 12 задержек.

numLags = 12;
VMA = arma2ma(VAR,[],numLags);

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

    • VEC.Degree должен быть q.

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

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

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

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

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

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

([1001][0.10.210.1]L[0.10.010.20.3]L2)Δyt=[0.500.11]yt1+εt

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

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

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

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

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

свернуть все

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

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

vec2var преобразовывает модели VEC(q) в модели VAR (q + 1). Это:

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

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

Больше о

свернуть все

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

Модель 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 матрица коэффициентов влияния или исправление ошибок.

Советы

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

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

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

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

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

Алгоритмы

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

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

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

    0 указывает, что полином не стабилен. Если VAR является полиномом оператора задержки LagOp, то передайте его isStable.

Ссылки

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

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

Введенный в R2015b