vec2var

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

Синтаксис

Описание

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

пример

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];

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

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) моделирует коэффициенты дифференцированных откликов, заданные как числовой вектор, вектор камеры n -by n числовых матриц или LagOp lag оператор полинома объект.

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

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

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

    • VEC(j) содержит скалярную Bj, коэффициент отстающей разности Δy t - j.

    • Коэффициент Δyt (B 0) 1.

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

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

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

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

  • Для LagOp полиномиальная спецификация оператора задержки:

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

    • VEC.Coefficients{0} - B 0, коэффициент Δyt. Все другие элементы соответствуют коэффициентам последующих отстающих, дифференцированных членов. Для примера, VEC.Coefficients{j} - матрица коэффициентов Δy t - j. 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 lag оператор полинома объект. 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).

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

Модель VAR (p)

A 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 n матрицей коэффициентов yt–j, j = 1..., p.

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

Модель VEC (q)

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

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

  • yt - n -мерные временные ряды.

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

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

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

  • Bj n 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-по n числовые матрицы, составляет стабильные временные ряды, ввод

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

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

Ссылки

[1] Гамильтон, Дж. Д. Анализ временных рядов. Princeton, NJ: Princeton University Press, 1994.

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

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