Создайте модель векторного исправления ошибок (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)
создает модель VEC(Mdl
= vecm(numseries
,rank
,numlags
)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
— Количество временных рядовКоличество временных рядов, заданных как положительное целое число. numseries
задает размерность многомерной переменной отклика и инноваций, yt и εt, соответственно.
Типы данных: double
ранг
Количество cointegrating отношенийКоличество cointegrating отношений, заданных как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют rank
линейно независимые столбцы и являются numseries
-by-rank
матрицы, состоявшие из значений NaN
.
Типы данных: double
numlags
— Количество первых различий ответовКоличество первых различий ответов, которые будут включать вскоре полином модели 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'
— Задержки полинома короткого промежутка времени1:(P-1)
(значение по умолчанию) | числовой вектор уникальных положительных целых чиселЗадержки полинома короткого промежутка времени, заданные как пара, разделенная запятой, состоящая из '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
— Количество временных рядовЭто свойство доступно только для чтения.
Количество временных рядов, заданных как положительное целое число. NumSeries
задает размерность многомерной переменной отклика и инноваций, yt и εt, соответственно.
Типы данных: double
Ранг
Количество cointegrating отношенийЭто свойство доступно только для чтения.
Количество cointegrating отношений, заданных как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют Rank
линейно независимые столбцы и являются NumSeries
-by-Rank
матрицы.
Типы данных: double
P
— Corresponding VARЭто свойство доступно только для чтения.
Соответствующий порядок модели VAR, заданный как неотрицательное целое число. P
– 1 является максимальной задержкой вскоре полином, который имеет ненулевую матрицу коэффициентов. Задержкам вскоре полином, которые имеют степень меньше, чем P
– 1, можно было составить содействующие матрицы полностью нулей.
P
задает количество преддемонстрационных наблюдений, требуемых инициализировать модель.
Типы данных: double
Описание
Образцовое описаниеОбразцовое описание, заданное как скаляр строки или вектор символов. По умолчанию это свойство описывает параметрическую форму модели, например,
"2-Dimensional Rank = 1 VEC(1) Model"
.
Пример: 'Description','Model 1'
Типы данных: string
| char
SeriesNames
— ResponseСерийные имена ответа, заданные как вектор строки длины NumSeries
. Значением по умолчанию является
.['Y1' 'Y2' ... 'YNumSeries']
Пример: 'SeriesNames',{'CPI' 'Unemployment'}
Типы данных: string
Constant
— OverallNaN(NumSeries,1)
(значение по умолчанию) | числовой векторПолная образцовая константа (c), заданный как NumSeries
-by-1 числовой вектор.
Значение Constant
, и поддерживает ли estimate
ограничения равенства на него во время оценки, зависит от формы Йохансена модели VEC.
Пример: 'Constant',[1; 2]
Типы данных: double
Trend
— Полный линейный тренд времениnan(NumSeries,1)
(значение по умолчанию) | числовой векторПолный линейный тренд времени (d), заданный как NumSeries
-by-1 числовой вектор.
Значение Trend
, и поддерживает ли estimate
ограничения равенства на него во время оценки, зависит от формы Йохансена модели VEC.
Пример: 'Trend',[0.1; 0.2]
Типы данных: double
Adjustment
— Скорости корректировки коинтеграцииNaN(NumSeries,Rank)
(значение по умолчанию) | числовая матрицаСкорости корректировки коинтеграции (A), заданный как NumSeries
-by-Rank
числовая матрица.
Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Adjustment
должен быть матрицей полного ранга столбца).
Для оценки можно наложить ограничения равенства на скорости корректировки коинтеграции путем предоставления матрицы, состоявшей полностью из числовых значений или смеси числовых и пропавших без вести (NaN
) значений.
Если Rank
= 0
, то Adjustment
является пустой NumSeries
-by-0
вектор.
Для получения дополнительной информации при определении Adjustment
, см. Алгоритмы.
Пример: 'Adjustment',NaN(2,1)
Типы данных: double
Cointegration
— Матрица коинтеграцииNaN(NumSeries,Rank)
(значение по умолчанию) | числовая матрицаМатрица коинтеграции (B), заданный как NumSeries
-by-Rank
числовая матрица.
Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Cointegration
должен быть матрицей полного ранга столбца).
Cointegration
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на матрицу коинтеграции во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0
, то Cointegration
является пустой NumSeries
-by-0
вектор.
Для получения дополнительной информации при определении Cointegration
, см. Алгоритмы.
Пример: 'Cointegration',NaN(2,1)
Типы данных: double
Impact
— Матрица влиянияПовлияйте, или long-run level, матрица (Π), заданный как NumSeries
-by-NumSeries
числовая матрица. Рангом Impact
должен быть Rank
.
Для оценки моделей полного ранга (Rank
= NumSeries
), можно наложить ограничения равенства на матрицу влияния путем предоставления матрицы, содержащей смесь числовых и отсутствующих значений (NaN
).
Если 1
≤ Rank
≤ NumSeries
– 1
, то значением по умолчанию является Adjustment*Cointegration'
.
Если Rank
= 0, то Impact
является матрицей нулей. Следовательно, модель не имеет срока исправления ошибок.
Для получения дополнительной информации при определении Impact
, см. Алгоритмы.
Пример: 'Impact',[0.5 0.25 0; 0.3 0.15 0; 0 0 0.9]
Типы данных: double
CointegrationConstant
— Постоянный в cointegrating отношенияхNaN(Rank,1)
(значение по умолчанию) | числовой векторПостоянный (прерывание) в cointegrating отношениях (c 0), заданный как Rank
-by-1
числовой вектор. Можно установить CointegrationConstant
только при помощи записи через точку после того, как вы создадите модель.
CointegrationConstant
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию постоянный вектор во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0
, то CointegrationConstant
является 0
-by-1
вектор нулей.
Пример: Mdl.CointegrationConstant = [1; 0]
Типы данных: double
CointegrationTrend
— Тренд времени в cointegrating отношенияхNaN(Rank,1)
(значение по умолчанию) | числовой векторТренд времени в cointegrating отношениях (d 0), заданный как Rank
-by-1
числовой вектор. Можно установить CointegrationTrend
только при помощи записи через точку после того, как вы создадите модель.
CointegrationTrend
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию линейный вектор тренда во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0, то CointegrationTrend
является 0
-by-1
вектор нулей.
Пример: Mdl.CointegrationTrend = [0; 0.5]
Типы данных: double
ShortRun
— Содействующие матрицы короткого промежутка времениСодействующие матрицы короткого промежутка времени сопоставлены с изолированными различиями в ответе, заданными как вектор ячейки 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
\beta
Матрица коэффициента регрессииNumSeries
-by-0 пустая матрица (значение по умолчанию) | числовая матрицаМатрица коэффициента регрессии сопоставлена с переменными прогноза, заданными как NumSeries
-by-NumPreds
числовая матрица. NumPreds
является количеством переменных прогноза, то есть, количеством столбцов в данных о предикторе.
содержит коэффициенты регрессии для каждого предиктора в уравнении ответа Beta(j,:)
yj,t
.
содержит коэффициент регрессии в каждом уравнении ответа для предиктора xk. По умолчанию все переменные прогноза находятся в компоненте регрессии всех уравнений ответа. Можно исключить определенные предикторы из определенных уравнений путем определения ограничений равенства к 0.Beta(:,k)
Пример: В модели, которая включает 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
Ковариация
Инновационная ковариационная матрицаNaN(NumSeries)
(значение по умолчанию) | числовая, положительная определенная матрицаИнновационная ковариационная матрица инноваций 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) для трех гипотетических рядов ответа.
Инновации многомерны Гауссов со средним значением 0 и ковариационная матрица
Создайте переменные для значений параметров.
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
vector error-correction (VEC) model является многомерной, стохастической моделью временных рядов, состоящей из системы m = уравнения numseries
отличного m, differenced переменные отклика. Уравнения в системе могут включать error-correction term, который является линейной функцией ответов на уровнях, используемых, чтобы стабилизировать систему.
r cointegrating rank является количеством cointegrating relations, которые существуют в системе.
Каждое уравнение ответа может включать авторегрессивный полином, состоявший из первых различий ряда ответа (short-run polynomial степени p – 1), константа, тренд времени, внешние переменные прогноза, и постоянный тренд и тренд времени в сроке исправления ошибок.
Модель VEC (p - 1) в difference-equation notation и в reduced form может быть выражена двумя способами:
Этим уравнением является component form модели VEC, где скорости корректировки коинтеграции и матрица коинтеграции являются явными, тогда как матрица влияния подразумевается.
cointegrating отношениями является B' y t – 1 + c 0 +, d 0t и срок исправления ошибок является A (B' y t – 1 + c 0 + d 0t).
Этим уравнением является impact form модели VEC, где матрица влияния является явной, тогда как скорости корректировки коинтеграции и матрица коинтеграции подразумеваются.
В уравнениях:
yt является m-by-1 вектор значений, соответствующих переменным отклика m во время t, где t = 1..., T.
Δyt = yt – y t – 1. Структурный коэффициент является единичной матрицей.
r является количеством cointegrating отношений и, в целом, 0 <r <m.
A является m-by-r матрица скоростей корректировки.
B является m-by-r матрица коинтеграции.
Π m-by-m матрица влияния с рангом r.
c 0 является r-by-1 вектор констант (прерывания) в cointegrating отношениях.
d 0 является r-by-1 вектор линейных трендов времени в cointegrating отношениях.
c 1 является m-by-1 вектор констант (deterministic linear trends в yt).
d 1 является m-by-1 вектор линейных значений тренда времени (deterministic quadratic trends в yt).
c = A c 0 + c 1 и является полной константой.
d = A d 0 + d 1 и является полным коэффициентом тренда времени.
Φj является m-by-m матрица коэффициентов короткого промежутка времени, где j = 1..., p – 1 и Φp – 1 не является матрицей, содержащей только нули.
xt является k-by-1 вектор значений, соответствующих k внешние переменные прогноза.
β является m-by-k матрица коэффициентов регрессии.
εt является m-by-1 вектор случайных Гауссовых инноваций, каждого со средним значением 0 и коллективно m-by-m ковариационная матрица Σ. Для t ≠ s, εt и εs независимы.
Сжатый и в обозначении оператора задержки, система
где , I является m-by-m единичная матрица и L yt = y t – 1.
Если m = r, то модель VEC является стабильной моделью VAR (p) на уровнях ответов. Если r = 0, то срок исправления ошибок является матрицей нулей и моделью VEC (p - 1), является стабильной моделью VAR (p - 1) в первых различиях ответов.
Johansen forms Модели VEC отличается относительно присутствия детерминированных условий. Как детализировано в [2], процедура оценки отличается среди форм. Следовательно, допустимые ограничения равенства на детерминированных условиях во время оценки отличаются среди форм. Для получения дополнительной информации смотрите Роль Детерминированных Условий.
Эта таблица описывает пять форм Йохансена и поддерживаемые ограничения равенства.
Форма | Срок исправления ошибок | Детерминированные коэффициенты | Ограничения равенства |
---|---|---|---|
H2 |
AB 'yt − 1 |
c = 0 (Констант). d = 0 (Тренд). c 0 = 0 (CointegrationConstant). d 0 = 0 (CointegrationTrend). |
Можно полностью задать B. Все детерминированные коэффициенты являются нулем. |
H1* |
A (B 'yt−1+c0) |
c = A c 0. d = 0. d 0 = 0. |
Если вы полностью задаете или B или c 0, то необходимо полностью задать другой. MATLAB получает значение c от c 0 и A. Все детерминированные тренды являются нулем. |
H1 |
A (B ´yt−1 + c 0) + c 1 |
c = A c 0 + c 1. d = 0. d 0 = 0. |
Можно полностью задать B. Можно задать смесь MATLAB получает значение c 0 от c и A. Все детерминированные тренды являются нулем. |
H |
A (B ´yt−1 + c 0 + d 0t) + c 1 |
c = A c 0 + c 1. d = A d 0. |
Если вы полностью задаете или B или d 0, то необходимо полностью задать другой. Можно задать смесь MATLAB получает значение c 0 от c и A. MATLAB получает значение d от A и d 0. |
H |
A (B 'yt−1+c0+d0t) +c1+d1t |
c = A c 0 + c 1. d = A.d0 + d 1. |
Можно полностью задать B. Можно задать смесь MATLAB получает значения c 0 и d 0 от c, d и A. |
Модели VEC могут принять одну из двух форм: component form или impact form.
Если вы создаете объект модели vecm
с помощью краткого синтаксиса, и затем присваиваете значение по крайней мере одному из этих свойств-Adjustment
, Cointegration
, CointegrationConstant
или CointegrationTrend
– прежде, чем присвоить значение свойству Impact
, то модель принимает форму компонента.
Если вы создаете объект модели vecm
с помощью рукописного синтаксиса путем присвоения значения или свойству Adjustment
или Cointegration
(или обоим), но оставляете свойство Impact
незаданным, то модель форма компонента.
Если 1
≤ Rank
≤ NumSeries
– 1
, как имеет место для большинства анализов модели VEC, то может быть более удобно работать с моделью в форме компонента, а не форме влияния.
Свойство Impact только для чтения и зависит от значений свойств Cointegration
и Adjustment
. А именно, Impact
= Adjustment*Cointegration'
.
Во время оценки MATLAB соответствует модели VEC к данным на двух шагах. Во-первых, это оценивает cointegrating отношения. Во-вторых, это создает модель VARX из differenced ответов и полинома короткого промежутка времени, включает внешний термин для предполагаемых cointegrating отношений, и затем соответствует модели VARX к differenced данным об ответе.
Если вы создаете объект модели vecm
с помощью краткого синтаксиса, и затем присваиваете значение свойству Impact
прежде, чем присвоить значение какому-либо из этих свойств-Adjustment
, Cointegration
, CointegrationConstant
или CointegrationTrend
– затем, модель принимает форму влияния.
Если вы создаете объект модели vecm
с помощью рукописного синтаксиса путем присвоения значения свойству Impact
, но оставляете или свойство Adjustment
или Cointegration
(или обоих) незаданными, то модель принимает форму влияния.
Если значение свойства Impact является матрицей полного ранга (Rank
= NumSeries
), то может быть более удобно работать с моделью в форме влияния, а не форме компонента. Соответствующая модель VEC не имеет никаких модульных корней. Поэтому модель является стабильной моделью VAR (P
). Поскольку каждая отдельная переменная отклика стабильна, любая линейная комбинация переменных отклика также стабильна.
Поскольку матричные факторизации не обязательно уникальны, значения свойств Cointegration
и Adjustment
неизвестны. Поэтому после того, как вы передаете объект модели vecm
estimate
, MATLAB устанавливает свойство Cointegration
на NumSeries
-by-NumSeries
единичная матрица и свойство Adjustment
к значению Impact
в предполагаемом объекте модели vecm
.
Свойства Cointegration
и Adjustment
только для чтения и зависят от значения Impact
.
Во время оценки MATLAB соответствует модели за один шаг: это соответствует эквивалентной модели VARX(P
) к differenced ответам и включает y t – 1 как внешние предикторы в компоненте регрессии.
При использовании рукописного синтаксиса, чтобы создать объект модели vecm
, если вы присваиваете значение свойству Impact
и или свойство Adjustment
или Cointegration
(или оба) одновременно, затем MATLAB использует ранг коинтеграции Rank
, чтобы определить форму объекта модели vecm
. А именно, если 1 ≤ Rank
≤ NumSeries
– 1
, то объект модели находится в форме компонента. В противном случае объект модели находится в форме влияния.
Если модель полностью задана, то форма объекта модели vecm
не важна.
MATLAB не хранит c 1 и δ 1, но можно вычислить их использующий Корректировку, Постоянную, CointegrationConstant, Тренд, CointegrationTrend и соответствующая форма Йохансена модели VEC.
[1] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.
[2] Йохансен, S. Основанный на вероятности вывод в векторных авторегрессивных моделях Cointegrated. Оксфорд: Издательство Оксфордского университета, 1995.
[3] Juselius, K. Модель VAR Cointegrated. Оксфорд: Издательство Оксфордского университета, 2006.
[4] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Берлин: Спрингер, 2005.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.