exponenta event banner

vec2var

Преобразование модели VEC в модель VAR

Синтаксис

Описание

Эконометрика 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

Задайте матрицы коэффициентов (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 во вторую ячейку. Сведите на нет коэффициенты, соответствующие всем ненулевым разностным членам запаздывания.

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.010.01] ыт-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-на-n числовых матриц или LagOp объект полинома оператора запаздывания.

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

    • VEC (q) - одномерный временной ряд.

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

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

    • Коэффициент Δyt (B0) равен 1.

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

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

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

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

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

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

    • VEC.Coefficients{0} B0, коэффициент Δyt. Все остальные элементы соответствуют коэффициентам последующих запаздывающих, разностных членов. Например, VEC.Coefficients{j} - матрица коэффициентов Δyt-j. VEC.Lags сохраняет все ненулевые задержки.

    • Для построения модели в уменьшенной форме задайте VEC.Coefficients{0} кому eye(VEC.Dimension).

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

[1001] Δyt = [0,10,210,1] Δyt − 1 + [0,10,010,2 0,3] Δyt 2 + [0,50 − 0,11] yt − 1 +

в модель 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,2 0,3] L2) Δyt = [0,50 − 0,11] yt − 1 +

Матрицы коэффициентов 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-на-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), записанная в нотации дифференциального уравнения, изолирует текущее значение вектора отклика и его матрицы структурных коэффициентов в левой части уравнения. Правая часть уравнения содержит сумму запаздывающих откликов, их матрицы коэффициентов, текущий вектор инноваций и, для моделей VEC, член коррекции ошибок.

То есть модель VAR (p), записанная в нотации «разность-уравнение», является

A0yt = a + A1yt 1 + A2yt 2 +... + Апыт − p + αt.

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

B0Δyt = b + B1Δyt 1 + B2Δyt 2 +... + BqΔyt − q + Cyt − 1 + αt.

Определения переменных и параметров см. в разделах Модель VAR (p) и Модель VEC (q).

Нотация оператора задержки

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

То есть модель VAR (p), записанная в нотации lag-operator, является

A (L) yt = a + αt

где A (L) = A0 A1L A2L2 ... − ApLp и Ljyt = yt − j.

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

B (L) Δyt = b + Cyt − 1 + αt

где B (L) = B0 B1L B2L2 ... − BqLq.

Определения переменных и параметров см. в разделах Модель VAR (p) и Модель VEC (q).

При сравнении записи оператора запаздывания с записью уравнения разности знаки членов запаздывания противоположны. Дополнительные сведения см. в разделе Нотация оператора задержки.

Модель VAR (p)

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

A0yt = a + A1yt 1 + A2yt 2 +... + Апыт − p + αt.

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

  • A0 - матрица n-на-n обратимых структурных коэффициентов. Для моделей в уменьшенном виде A0 = In, который является n-мерной единичной матрицей.

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

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

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

Модель VEC (q)

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

B0Δyt = b + B1Δyt 1 + B2Δyt 2 +... + BqΔyt − q + Cyt − 1 + αt.

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

  • Δ - первый разностный оператор, то есть Δyt = yt - yt-1.

  • B0 - матрица n-на-n обратимых структурных коэффициентов. Для моделей в уменьшенном виде B0 = 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, второй элемент - коэффициент yt-1 и так далее.

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

Алгоритмы

  • vec2var не предъявляет к коэффициентам требования устойчивости. Для проверки устойчивости используйте isStable.

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

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

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

Ссылки

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

[2] Люткеполь, Х. «Новое введение в анализ множественных временных рядов». Спрингер-Верлаг, 2007.

Представлен в R2015b