vecm

Создайте вектор коррекции векторной ошибки (VEC)

Описание

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

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

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

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

Создание

Описание

пример

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

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

пример

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

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

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

расширить все

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

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

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

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

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

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

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

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

Все лаги имеют numseries-by- numseries краткосрочные матрицы коэффициентов, состоящие из NaN значения.

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

Свойства

расширить все

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

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

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

Количество коинтегрирующих отношений, заданное как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют Rank линейно независимые столбцы и являются NumSeries-by- 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'... 'Y <reservedrangesplaceholder0>'].

Пример: '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

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

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

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

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

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

Временной тренд в коинтегрирующих отношениях (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 является a (P - 1) вектор камеры -by-1 из матриц, состоящий из NaN значения.

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

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

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

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

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

Примечание

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

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

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

Примеры

свернуть все

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

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

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

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

  • Неявный дефлятор цен ВВП

  • Выплаченная компенсация работникам

  • Нерезультатное рабочее время всех лиц

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

  • Расходы на личное потребление

  • Валовые частные внутренние инвестиции

Предположим, что подходят коинтегрирующий ранг 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. Axes 1 with title Gross Domestic Product contains an object of type line. Axes 2 with title GDP Deflator contains an object of type line. Axes 3 with title Paid Compensation of Employees contains an object of type line. Axes 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. Axes 1 with title Federal Funds Rate contains an object of type line. Axes 2 with title Consumption Expenditures contains an object of type line. Axes 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) с помощью синтаксиса shorthand. Задайте имена переменных.

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

Отобразите краткие сводные данные из оценки.

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]

The 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. The axes 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. The axes with title Quarterly Scaled GPDI: 2004 - 2016 contains 3 objects of type line, patch. These objects represent True, Forecasted.

Подробнее о

расширить все

Алгоритмы

расширить все

Ссылки

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

[2] Йохансен, С. Основанный на вероятностях вывод в коинтегрированных векторных авторегрессивных моделях. Oxford: Oxford University Press, 1995.

[3] Juselius, K. Cointegrated VAR Model. Oxford: Oxford University Press, 2006.

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

Введенный в R2017b