vecm

Создайте модель векторного исправления ошибок (VEC)

Описание

Используйте vecm, чтобы задать (p – 1) - порядок, многомерная векторная модель исправления ошибок (модель VEC ((p - 1)). Функция vecm возвращает объект vecm, задающий функциональную форму модели VEC (p - 1) и хранящий ее значения параметров.

Ключевые компоненты объекта vecm включают количество временных рядов (response-variable dimensionality), количество cointegrating отношений среди переменных отклика (cointegrating rank) и степень многомерного авторегрессивного полинома, состоявшего из первых различий ряда ответа (short-run polynomial), который является p – 1. Таким образом, p – 1 является максимальной задержкой с ненулевой матрицей коэффициентов, и p является порядком векторного представления модели (VAR) авторегрессии модели VEC. Другие компоненты модели включают компонент регрессии, чтобы сопоставить те же внешние переменные прогноза к каждому ряду ответа, и постоянный и условия тренда времени.

Другим важным компонентом модели VEC является свой Johansen form, потому что он диктует, как MATLAB® включает детерминированные члены в модели. Эта спецификация имеет последствия на процедуре оценки и допустимых ограничениях равенства. Для получения дополнительной информации смотрите Форму Йохансена и [2].

Все содействующие матрицы являются неизвестными (матрицы значений NaN) и допускающими оценку, если вы не задаете их синтаксис аргумента пары "имя-значение" использования значений. Чтобы выбрать, какая форма Йохансена подходит для ваших данных, затем оцените модели, содержащие все или частично неизвестные значения параметров, учитывая данные, используйте estimate. Для полностью заданных моделей (модели, в которых известны все значения параметров), моделируйте или предскажите ответы с помощью simulate или forecast, соответственно.

Создание

Синтаксис

Mdl = vecm(numseries,rank,numlags)
Mdl = vecm(Name,Value)

Описание

пример

Mdl = vecm(numseries,rank,numlags) создает модель VEC(numlags), состоявшую из временных рядов numseries, содержащих rank cointegrating отношения. Максимальной ненулевой задержкой вскоре полином является numlags. Все задержки и срок исправления ошибок имеют numseries-by-numseries содействующие матрицы, состоявшие из значений NaN.

Этот краткий синтаксис допускает легкое образцовое создание шаблона, в котором вы задаете образцовые размерности явным образом. Образцовый шаблон подходит для неограниченной оценки параметра, то есть, оценки без любых ограничений равенства параметра. Однако после того, как вы создаете модель, можно изменить значения свойств с помощью записи через точку.

пример

Mdl = vecm(Name,Value) свойства наборов или аргументы пары "имя-значение" использования дополнительных опций. Заключите каждое имя в одинарные кавычки. Например, 'Lags',[1 4],'ShortRun',ShortRun задает две содействующих матрицы короткого промежутка времени в ShortRun в задержках 1 и 4.

Этот рукописный синтаксис допускает создание более гибких моделей. Однако vecm должен смочь вывести количество ряда (NumSeries) и ранг cointegrating (Rank) от заданных аргументов пары "имя-значение". Аргументы пары "имя-значение" и значения свойств, которые соответствуют количеству временных рядов и ранга cointegrating, должны быть сопоставимы друг с другом.

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

развернуть все

Краткий синтаксис обеспечивает простой способ к вам создать образцовые шаблоны, которые подходят для неограниченной оценки параметра. Например, чтобы создать модель VEC(2), состоявшую из трех рядов ответа, содержащих одно cointegrating отношение и неизвестные значения параметров, введите:

Mdl = vecm(3,1,2);
Чтобы наложить ограничения равенства на значения параметров во время оценки, установите соответствующие значения свойств с помощью записи через точку.

Количество временных рядов, заданных как положительное целое число. numseries задает размерность многомерной переменной отклика и инноваций, yt и εt, соответственно.

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

Количество cointegrating отношений, заданных как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют rank линейно независимые столбцы и являются numseries-by-rank матрицы, состоявшие из значений NaN.

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

Количество первых различий ответов, которые будут включать вскоре полином модели VEC (p - 1), заданной как неотрицательное целое число. Таким образом, numlags = p – 1. Следовательно, numlags задает количество условий короткого промежутка времени, сопоставленных с соответствующей моделью VAR (p).

Все задержки имеют numseries-by-numseries содействующие матрицы короткого промежутка времени, состоявшие из значений NaN.

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Рукописный синтаксис позволяет вам создать модели, в которых некоторые или все коэффициенты известны. Во время оценки estimate налагает ограничения равенства на любые известные параметры. Укажите достаточно информации для vecm, чтобы вывести количество ряда ответа и ранга cointegrating.

Пример: 'Adjustment',nan(3,2),'Lags',[4 8] задает 3D модель VEC(8) с двумя cointegrating отношениями и ненулевые содействующие матрицы короткого промежутка времени в задержках 4 и 8.

Задержки полинома короткого промежутка времени, заданные как пара, разделенная запятой, состоящая из 'Lags' и числового вектора, содержащего в большей части P – 1 элемент уникальных положительных целых чисел.

Матричный ShortRun{j} является коэффициентом задержки Lags(j).

Пример: 'Lags',[1 4]

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

Свойства

развернуть все

Можно установить перезаписываемые значения свойств, когда вы создаете объект модели при помощи синтаксиса аргумента пары "имя-значение", или после того, как вы создаете объект модели при помощи записи через точку. Например, чтобы создать модель VEC(1) в H1 форма Йохансена, подходящая для симуляции и состоявшая из двух серий ответа cointegrating, занимают место один и никакой полный термин тренда времени, введите:

Mdl = vecm('Constant',[0; 0.01],'Adjustment',[-0.1; 0.15],...
    'Cointegration',[1; -4],'ShortRun',{[0.3 -0.15 ; 0.1 -0.3]},...
    'Covariance',eye(2));
Mdl.Trend = 0;

Это свойство доступно только для чтения.

Количество временных рядов, заданных как положительное целое число. NumSeries задает размерность многомерной переменной отклика и инноваций, yt и εt, соответственно.

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

Это свойство доступно только для чтения.

Количество cointegrating отношений, заданных как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют Rank линейно независимые столбцы и являются NumSeries-by-Rank матрицы.

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

Это свойство доступно только для чтения.

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

P задает количество преддемонстрационных наблюдений, требуемых инициализировать модель.

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

Образцовое описание, заданное как скаляр строки или вектор символов. По умолчанию это свойство описывает параметрическую форму модели, например, "2-Dimensional Rank = 1 VEC(1) Model".

Пример: 'Description','Model 1'

Типы данных: string | char

Серийные имена ответа, заданные как вектор строки длины NumSeries. Значением по умолчанию является ['Y1' 'Y2' ... 'YNumSeries'].

Пример: 'SeriesNames',{'CPI' 'Unemployment'}

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

Полная образцовая константа (c), заданный как NumSeries-by-1 числовой вектор.

Значение Constant, и поддерживает ли estimate ограничения равенства на него во время оценки, зависит от формы Йохансена модели VEC.

Пример: 'Constant',[1; 2]

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

Полный линейный тренд времени (d), заданный как NumSeries-by-1 числовой вектор.

Значение Trend, и поддерживает ли estimate ограничения равенства на него во время оценки, зависит от формы Йохансена модели VEC.

Пример: 'Trend',[0.1; 0.2]

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

Скорости корректировки коинтеграции (A), заданный как NumSeries-by-Rank числовая матрица.

Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Adjustment должен быть матрицей полного ранга столбца).

Для оценки можно наложить ограничения равенства на скорости корректировки коинтеграции путем предоставления матрицы, состоявшей полностью из числовых значений или смеси числовых и пропавших без вести (NaN) значений.

Если Rank = 0, то Adjustment является пустой NumSeries-by-0 вектор.

Для получения дополнительной информации при определении Adjustment, см. Алгоритмы.

Пример: 'Adjustment',NaN(2,1)

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

Матрица коинтеграции (B), заданный как NumSeries-by-Rank числовая матрица.

Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Cointegration должен быть матрицей полного ранга столбца).

Cointegration не может содержать смесь пропавших без вести (NaN) значения и числовые значения. Поддерживаемые ограничения равенства на матрицу коинтеграции во время оценки зависят от формы Йохансена модели VEC.

Если Rank = 0, то Cointegration является пустой NumSeries-by-0 вектор.

Для получения дополнительной информации при определении Cointegration, см. Алгоритмы.

Пример: 'Cointegration',NaN(2,1)

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

Повлияйте, или long-run level, матрица (Π), заданный как NumSeries-by-NumSeries числовая матрица. Рангом Impact должен быть Rank.

Для оценки моделей полного ранга (Rank = NumSeries), можно наложить ограничения равенства на матрицу влияния путем предоставления матрицы, содержащей смесь числовых и отсутствующих значений (NaN).

Если 1RankNumSeries1, то значением по умолчанию является Adjustment*Cointegration'.

Если Rank = 0, то Impact является матрицей нулей. Следовательно, модель не имеет срока исправления ошибок.

Для получения дополнительной информации при определении Impact, см. Алгоритмы.

Пример: 'Impact',[0.5 0.25 0; 0.3 0.15 0; 0 0 0.9]

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

Постоянный (прерывание) в cointegrating отношениях (c 0), заданный как Rank-by-1 числовой вектор. Можно установить CointegrationConstant только при помощи записи через точку после того, как вы создадите модель.

CointegrationConstant не может содержать смесь пропавших без вести (NaN) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию постоянный вектор во время оценки зависят от формы Йохансена модели VEC.

Если Rank = 0, то CointegrationConstant является 0-by-1 вектор нулей.

Пример: Mdl.CointegrationConstant = [1; 0]

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

Тренд времени в cointegrating отношениях (d 0), заданный как Rank-by-1 числовой вектор. Можно установить CointegrationTrend только при помощи записи через точку после того, как вы создадите модель.

CointegrationTrend не может содержать смесь пропавших без вести (NaN) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию линейный вектор тренда во время оценки зависят от формы Йохансена модели VEC.

Если Rank = 0, то CointegrationTrend является 0-by-1 вектор нулей.

Пример: Mdl.CointegrationTrend = [0; 0.5]

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

Содействующие матрицы короткого промежутка времени сопоставлены с изолированными различиями в ответе, заданными как вектор ячейки NumSeries-by-NumSeries числовые матрицы.

Задайте содействующие знаки, соответствующие тем коэффициентам в модели VEC, выраженной в обозначении разностного уравнения. Свойством P является numel(ShortRun) + 1.

  • Если вы устанавливаете аргумент пары "имя-значение" 'Lags' Lags, то следующие условия применяются.

    • Длины ShortRun и Lags должны быть равными.

    • ShortRun{j} является матрицей коэффициентов задержки Lags(j).

    • По умолчанию ShortRun является numel(Lags)-by-1 вектор ячейки матриц, состоявших из значений NaN.

  • В противном случае следующие условия применяются.

    • ShortRun{j} является матрицей коэффициентов задержки j.

    • По умолчанию ShortRun (P – 1)-by-1 вектор ячейки матриц, состоявших из значений NaN.

MATLAB принимает, что коэффициент тока, differenced ответ (Δ y t) является единичной матрицей. Поэтому исключите этот коэффициент из ShortRun.

Пример: 'ShortRun',{[0.5 -0.1; 0.1 0.2]}

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

Матрица коэффициента регрессии сопоставлена с переменными прогноза, заданными как NumSeries-by-NumPreds числовая матрица. NumPreds является количеством переменных прогноза, то есть, количеством столбцов в данных о предикторе.

Beta(j,:) содержит коэффициенты регрессии для каждого предиктора в уравнении ответа yj,t. Beta(:,k) содержит коэффициент регрессии в каждом уравнении ответа для предиктора xk. По умолчанию все переменные прогноза находятся в компоненте регрессии всех уравнений ответа. Можно исключить определенные предикторы из определенных уравнений путем определения ограничений равенства к 0.

Пример: В модели, которая включает 3 ответа и 4 переменные прогноза, чтобы исключить второй предиктор из третьего уравнения и оставить другие неограниченными, задают [NaN NaN NaN NaN; NaN NaN NaN NaN; NaN 0 NaN NaN].

Значение по умолчанию не задает коэффициента регрессии в модели. Однако, если вы задаете данные о предикторе, когда вы оцениваете модель с помощью estimate, затем MATLAB устанавливает Beta на соответственно размерную матрицу значений NaN.

Пример: 'Beta',[2 3 -1 2; 0.5 -1 -6 0.1]

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

Инновационная ковариационная матрица инноваций NumSeries в каждый раз t = 1..., T, заданный как NumSeries-by-NumSeries числовая, положительная определенная матрица.

Пример: 'Covariance',eye(2)

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

Функции объекта

estimateПодходящая модель векторного исправления ошибок (VEC) к данным
fevdСгенерируйте разложение отклонения ошибки прогноза (FEVD) модели векторного исправления ошибок (VEC)
filterПропустите воздействия через модель векторного исправления ошибок (VEC)
forecastПредскажите ответы модели векторного исправления ошибок (VEC)
inferВыведите инновации модели векторного исправления ошибок (VEC)
irfСгенерируйте импульсные ответы модели векторного исправления ошибок (VEC)
simulateСимуляция Монте-Карло модели векторного исправления ошибок (VEC)
summarizeОтобразите результаты оценки модели векторного исправления ошибок (VEC)
varmПреобразуйте модель векторного исправления ошибок (VEC) в векторную модель (VAR) авторегрессии

Примеры

свернуть все

Предположим, что модель VEC с cointegrating рангом 4 и полиномом короткого промежутка времени степени 2 подходит для моделирования поведения семи гипотетических макроэконометрических временных рядов.

Создайте модель VEC(7,4,2) с помощью краткого синтаксиса.

Mdl = vecm(7,4,2)
Mdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(2) Model with Linear Time Trend"
             SeriesNames: "Y1"  "Y2"  "Y3"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 3
                Constant: [7×1 vector of NaNs]
              Adjustment: [7×4 matrix of NaNs]
           Cointegration: [7×4 matrix of NaNs]
                  Impact: [7×7 matrix of NaNs]
   CointegrationConstant: [4×1 vector of NaNs]
      CointegrationTrend: [4×1 vector of NaNs]
                ShortRun: {7×7 matrices of NaNs} at lags [1 2]
                   Trend: [7×1 vector of NaNs]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix of NaNs]

Mdl является объектом модели vecm, который служит шаблоном для оценки параметра. MATLAB® полагает, что значения NaN как неизвестные значения параметров оцениваются. Например, свойство Adjustment 7 4 матрица значений NaN. Поэтому скорости корректировки являются активными параметрами модели, которые будут оценены.

По умолчанию MATLAB® включает в целом и cointegrating линейные члены в модели тренда времени. Можно создать модель VEC в H1 форма Йохансена путем удаления условий тренда времени, то есть, путем установки свойства Trend на 0 с помощью записи через точку.

Mdl.Trend = 0
Mdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(2) Model"
             SeriesNames: "Y1"  "Y2"  "Y3"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 3
                Constant: [7×1 vector of NaNs]
              Adjustment: [7×4 matrix of NaNs]
           Cointegration: [7×4 matrix of NaNs]
                  Impact: [7×7 matrix of NaNs]
   CointegrationConstant: [4×1 vector of NaNs]
      CointegrationTrend: [4×1 vector of NaNs]
                ShortRun: {7×7 matrices of NaNs} at lags [1 2]
                   Trend: [7×1 vector of zeros]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix of NaNs]

MATLAB® расширяет Trend до соответствующей длины, 7 1 вектор нулей.

Рассмотрите эту модель VEC(1) для трех гипотетических рядов ответа.

Δyt=c+AByt-1+Φ1Δyt-1+εt=[-1-3-30]+[-0.30.3-0.20.1-10][0.1-0.20.2-0.70.50.2]yt-1+[00.10.20.2-0.200.7-0.20.3]Δyt-1+εt.

Инновации многомерны Гауссов со средним значением 0 и ковариационная матрица

Σ=[1.30.41.60.40.60.71.60.75].

Создайте переменные для значений параметров.

Adjustment = [-0.3 0.3; -0.2 0.1; -1 0];
Cointegration = [0.1 -0.7; -0.2 0.5; 0.2 0.2];
ShortRun = {[0. 0.1 0.2; 0.2 -0.2 0; 0.7 -0.2 0.3]};
Constant = [-1; -3; -30];
Trend = [0; 0; 0];
Covariance = [1.3 0.4 1.6; 0.4 0.6 0.7; 1.6 0.7 5];

Создайте объект модели vecm, представляющий модель VEC(1) с помощью соответствующих аргументов пары "имя-значение".

Mdl = vecm('Adjustment',Adjustment,'Cointegration',Cointegration,...
    'Constant',Constant,'ShortRun',ShortRun,'Trend',Trend,...
    'Covariance',Covariance)
Mdl = 
  vecm with properties:

             Description: "3-Dimensional Rank = 2 VEC(1) Model"
             SeriesNames: "Y1"  "Y2"  "Y3" 
               NumSeries: 3
                    Rank: 2
                       P: 2
                Constant: [-1 -3 -30]'
              Adjustment: [3×2 matrix]
           Cointegration: [3×2 matrix]
                  Impact: [3×3 matrix]
   CointegrationConstant: [2×1 vector of NaNs]
      CointegrationTrend: [2×1 vector of NaNs]
                ShortRun: {3×3 matrix} at lag [1]
                   Trend: [3×1 vector of zeros]
                    Beta: [3×0 matrix]
              Covariance: [3×3 matrix]

Mdl является, эффективно, полностью заданным объектом модели vecm. Таким образом, коинтеграция постоянный и линейный тренд неизвестна. Однако они не нужны для симуляции наблюдений или прогнозирования, учитывая, что полная константа и параметры тренда известны.

По умолчанию vecm приписывает коэффициент короткого промежутка времени первой задержке вскоре полином. Рассмотрите другую модель VEC, которая приписывает матрицу коэффициентов короткого промежутка времени ShortRun четвертому термину задержки, задает матрицу нулей для первого коэффициента задержки и обрабатывает все остальное как являющееся равным Mdl. Создайте эту модель VEC(4).

Mdl.ShortRun(4) = ShortRun;
Mdl.ShortRun(1) = {0}
Mdl = 
  vecm with properties:

             Description: "3-Dimensional Rank = 2 VEC(4) Model"
             SeriesNames: "Y1"  "Y2"  "Y3" 
               NumSeries: 3
                    Rank: 2
                       P: 5
                Constant: [-1 -3 -30]'
              Adjustment: [3×2 matrix]
           Cointegration: [3×2 matrix]
                  Impact: [3×3 matrix]
   CointegrationConstant: [2×1 vector of NaNs]
      CointegrationTrend: [2×1 vector of NaNs]
                ShortRun: {3×3 matrix} at lag [4]
                   Trend: [3×1 vector of zeros]
                    Beta: [3×0 matrix]
              Covariance: [3×3 matrix]

Также можно создать другой объект модели с помощью vecm и того же синтаксиса что касается Mdl, но дополнительно задать 'Lags',4.

Рассмотрите модель VEC для следующих семи макроэкономических рядов, и затем соответствуйте модели к данным.

  • Валовой внутренний продукт (ВВП)

  • GDP неявный ценовой дефлятор

  • Заплаченная компенсация сотрудников

  • Несельскохозяйственные часы делового сектора всех людей

  • Эффективная ставка по федеральным фондам

  • Частные потребительские расходы

  • Грубые частные внутренние инвестиции

Предположим, что cointegrating ранг 4 и один срок короткого промежутка времени является соответствующим, то есть, рассмотрите модель VEC(1).

Загрузите набор данных Data_USEconVECModel.

load Data_USEconVECModel

Для получения дополнительной информации о наборе данных и переменных, введите Description в командной строке.

Определите, должны ли данные быть предварительно обработаны путем графического вывода ряда на отдельных графиках.

figure;
subplot(2,2,1)
plot(FRED.Time,FRED.GDP);
title('Gross Domestic Product');
ylabel('Index');
xlabel('Date');
subplot(2,2,2)
plot(FRED.Time,FRED.GDPDEF);
title('GDP Deflator');
ylabel('Index');
xlabel('Date');
subplot(2,2,3)
plot(FRED.Time,FRED.COE);
title('Paid Compensation of Employees');
ylabel('Billions of $');
xlabel('Date');
subplot(2,2,4)
plot(FRED.Time,FRED.HOANBS);
title('Nonfarm Business Sector Hours');
ylabel('Index');
xlabel('Date');

figure;
subplot(2,2,1)
plot(FRED.Time,FRED.FEDFUNDS);
title('Federal Funds Rate');
ylabel('Percent');
xlabel('Date');
subplot(2,2,2)
plot(FRED.Time,FRED.PCEC);
title('Consumption Expenditures');
ylabel('Billions of $');
xlabel('Date');
subplot(2,2,3)
plot(FRED.Time,FRED.GPDI);
title('Gross Private Domestic Investment');
ylabel('Billions of $');
xlabel('Date');

Стабилизируйте весь ряд, кроме ставки по федеральным фондам, путем применяния логарифмического преобразования. Масштабируйте получившийся ряд 100 так, чтобы все ряды были в той же шкале.

FRED.GDP = 100*log(FRED.GDP);      
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);       
FRED.HOANBS = 100*log(FRED.HOANBS); 
FRED.PCEC = 100*log(FRED.PCEC);     
FRED.GPDI = 100*log(FRED.GPDI);

Создайте модель VEC(1) с помощью краткого синтаксиса. Задайте имена переменных.

Mdl = vecm(7,4,1);
Mdl.SeriesNames = FRED.Properties.VariableNames
Mdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(1) Model with Linear Time Trend"
             SeriesNames: "GDP"  "GDPDEF"  "COE"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 2
                Constant: [7×1 vector of NaNs]
              Adjustment: [7×4 matrix of NaNs]
           Cointegration: [7×4 matrix of NaNs]
                  Impact: [7×7 matrix of NaNs]
   CointegrationConstant: [4×1 vector of NaNs]
      CointegrationTrend: [4×1 vector of NaNs]
                ShortRun: {7×7 matrix of NaNs} at lag [1]
                   Trend: [7×1 vector of NaNs]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix of NaNs]

Mdl является объектом модели vecm. Все свойства, содержащие значения NaN, соответствуют параметрам, чтобы быть оцененными определенными данными.

Оцените модель с помощью целого набора данных и опций по умолчанию.

EstMdl = estimate(Mdl,FRED.Variables)
EstMdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(1) Model"
             SeriesNames: "GDP"  "GDPDEF"  "COE"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 2
                Constant: [14.1329 8.77841 -7.20359 ... and 4 more]'
              Adjustment: [7×4 matrix]
           Cointegration: [7×4 matrix]
                  Impact: [7×7 matrix]
   CointegrationConstant: [-28.6082 109.555 -77.0912 ... and 1 more]'
      CointegrationTrend: [4×1 vector of zeros]
                ShortRun: {7×7 matrix} at lag [1]
                   Trend: [7×1 vector of zeros]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix]

EstMdl является предполагаемым объектом модели vecm. Это полностью задано, потому что все параметры знали значения. По умолчанию estimate налагает ограничения формы модели H1 Йохансен VEC путем удаления cointegrating тренда и линейных условий тренда из модели. Исключение параметра из оценки эквивалентно внушительным ограничениям равенства, чтобы обнулить.

Отобразите краткое изложение от оценки.

results = summarize(EstMdl)
results = struct with fields:
               Description: "7-Dimensional Rank = 4 VEC(1) Model"
                     Model: "H1"
                SampleSize: 238
    NumEstimatedParameters: 112
             LogLikelihood: -1.4939e+03
                       AIC: 3.2118e+03
                       BIC: 3.6007e+03
                     Table: [133x4 table]
                Covariance: [7x7 double]
               Correlation: [7x7 double]

Поле Table results является таблицей оценок параметра и соответствующей статистики.

Этот пример следует из Оценки Модель VEC.

Создайте и оцените модель VEC(1). Обработайте последние десять периодов как горизонт прогноза.

load Data_USEconVECModel
FRED.GDP = 100*log(FRED.GDP);
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);
FRED.HOANBS = 100*log(FRED.HOANBS);
FRED.PCEC = 100*log(FRED.PCEC);
FRED.GPDI = 100*log(FRED.GPDI);

Mdl = vecm(7,4,1)
Mdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(1) Model with Linear Time Trend"
             SeriesNames: "Y1"  "Y2"  "Y3"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 2
                Constant: [7×1 vector of NaNs]
              Adjustment: [7×4 matrix of NaNs]
           Cointegration: [7×4 matrix of NaNs]
                  Impact: [7×7 matrix of NaNs]
   CointegrationConstant: [4×1 vector of NaNs]
      CointegrationTrend: [4×1 vector of NaNs]
                ShortRun: {7×7 matrix of NaNs} at lag [1]
                   Trend: [7×1 vector of NaNs]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix of NaNs]
Y = FRED{1:(end - 10),:};
EstMdl = estimate(Mdl,Y)
EstMdl = 
  vecm with properties:

             Description: "7-Dimensional Rank = 4 VEC(1) Model"
             SeriesNames: "Y1"  "Y2"  "Y3"  ... and 4 more
               NumSeries: 7
                    Rank: 4
                       P: 2
                Constant: [14.5023 8.46791 -7.08266 ... and 4 more]'
              Adjustment: [7×4 matrix]
           Cointegration: [7×4 matrix]
                  Impact: [7×7 matrix]
   CointegrationConstant: [-32.8433 -101.126 -84.2373 ... and 1 more]'
      CointegrationTrend: [4×1 vector of zeros]
                ShortRun: {7×7 matrix} at lag [1]
                   Trend: [7×1 vector of zeros]
                    Beta: [7×0 matrix]
              Covariance: [7×7 matrix]

Предскажите 10 ответов с помощью предполагаемой модели и в выборочных данных как преддемонстрационных наблюдений.

YF = forecast(EstMdl,10,Y);

На отдельных графиках постройте часть серии GDP и GPDI с их предсказанными значениями.

figure;
plot(FRED.Time(end - 50:end),FRED.GDP(end - 50:end));
hold on
plot(FRED.Time((end - 9):end),YF(:,1))
h = gca;
fill(FRED.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),'k',...
    'FaceAlpha',0.1,'EdgeColor','none');
legend('True','Forecasted','Location','NW')
title('Quarterly Scaled GDP: 2004 - 2016');
ylabel('Billions of $ (scaled)');
xlabel('Year');
hold off

figure;
plot(FRED.Time(end - 50:end),FRED.GPDI(end - 50:end));
hold on
plot(FRED.Time((end - 9):end),YF(:,7))
h = gca;
fill(FRED.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),'k',...
    'FaceAlpha',0.1,'EdgeColor','none');
legend('True','Forecasted','Location','NW')
title('Quarterly Scaled GPDI: 2004 - 2016');
ylabel('Billions of $ (scaled)');
xlabel('Year');
hold off

Больше о

развернуть все

Алгоритмы

развернуть все

Ссылки

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

[2] Йохансен, S. Основанный на вероятности вывод в векторных авторегрессивных моделях Cointegrated. Оксфорд: Издательство Оксфордского университета, 1995.

[3] Juselius, K. Модель VAR Cointegrated. Оксфорд: Издательство Оксфордского университета, 2006.

[4] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Берлин: Спрингер, 2005.

Введенный в R2017b