vecm

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

Описание

vecm функция возвращает vecm объект, задающий функциональную форму и хранящий значения параметров (p – 1) - порядок, cointegrated, многомерная векторная модель исправления ошибок (модель 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].

Учитывая размерность переменной отклика, cointegrating ранг, и степень полинома короткого промежутка времени, все содействующие матрицы и инновационные параметры распределения являются неизвестными и допускающими оценку, если вы не задаете их значения при помощи синтаксиса аргумента пары "имя-значение". Чтобы выбрать, какая форма Йохансена подходит для ваших данных, затем оцените модель, содержащую все или частично неизвестные значения параметров, учитывая данные, используйте estimate. Работать с предполагаемым или полностью заданным vecm объект модели, передайте его объектной функции.

Создание

Описание

пример

Mdl = vecm(numseries,rank,numlags) создает VEC (numlags) модель состоит из numseries временные ряды, содержащие rank отношения cointegrating. Максимальной ненулевой задержкой вскоре полином является numlags. Все задержки и термин исправления ошибок имеют numseries- 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);
Чтобы наложить ограничения равенства на значения параметров во время оценки, установите соответствующие значения свойств с помощью записи через точку.

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

numseries устанавливает NumSeries свойство.

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

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

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

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

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

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

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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} коэффициент Задержек задержки (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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Полная константа модели (c) в виде NumSeries- 1 числовой вектор.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если 1RankNumSeries– 1 , затем значением по умолчанию является 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- 1 числовой вектор. Можно установить CointegrationConstant только при помощи записи через точку после того, как вы создаете модель.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • По умолчанию, ShortRun numel(Lags)- 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- NumPreds числовая матрица. NumPreds количество переменных предикторов, то есть, количество столбцов в данных о предикторе.

Бета (j,:) содержит коэффициенты регрессии для каждого предиктора в уравнении ответа yjT. \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- NumSeries числовая, положительная определенная матрица.

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

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

Примечание

NaN- ценные элементы в свойствах указывают на неизвестные, допускающие оценку параметры. Указанные элементы указывают на ограничения равенства на параметры по оценке модели. Инновационная ковариационная матрица Covariance не может содержать соединение NaN значения и вещественные числа; необходимо полностью задать ковариацию, или это должно быть абсолютно неизвестно (NaN(NumSeries)).

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

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 contains 4 axes objects. Axes object 1 with title Gross Domestic Product contains an object of type line. Axes object 2 with title GDP Deflator contains an object of type line. Axes object 3 with title Paid Compensation of Employees contains an object of type line. Axes object 4 with title Nonfarm Business Sector Hours contains an object of type line.

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');

Figure contains 3 axes objects. Axes object 1 with title Federal Funds Rate contains an object of type line. Axes object 2 with title Consumption Expenditures contains an object of type line. Axes object 3 with title Gross Private Domestic Investment contains an object of type line.

Стабилизируйте весь ряд, кроме ставки по федеральным фондам, путем применяния логарифмического преобразования. Масштабируйте получившийся ряд 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 contains an axes object. The axes object with title Quarterly Scaled GDP: 2004 - 2016 contains 3 objects of type line, patch. These objects represent True, Forecasted.

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

Figure contains an axes object. The axes object with title Quarterly Scaled GPDI: 2004 - 2016 contains 3 objects of type line, patch. These objects represent True, Forecasted.

Больше о

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

Алгоритмы

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

Ссылки

[1] Гамильтон, анализ временных рядов Джеймса Д. Принстон, NJ: Издательство Принстонского университета, 1994.

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

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

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

Введенный в R2017b