Создайте модель векторного исправления ошибок (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
объект модели, передайте его объектной функции.
создает VEC (Mdl
= vecm(numseries
,rank
,numlags
)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);
numseries
— Количество временных рядов m
(значение по умолчанию) | положительное целое числоКоличество временных рядов m в виде положительного целого числа. numseries
задает размерность многомерной переменной отклика yt и инновации εt.
numseries
устанавливает NumSeries
свойство.
Типы данных: double
rank
— Количество cointegrating отношенийКоличество cointegrating отношений в виде неотрицательного целого числа. Матрицы корректировки и коинтеграции в модели имеют rank
линейно независимыми столбцами, и является numseries
- rank
матрицы состоят из NaN
значения.
Типы данных: double
numlags
— Количество первых различий ответовКоличество первых различий ответов, которые будут включать вскоре полином модели 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
— Задержки полинома короткого промежутка времени1:(P-1)
(значение по умолчанию) | числовой вектор из уникальных положительных целых чиселПолином короткого промежутка времени отстает в виде разделенной запятой пары, состоящей из '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;
NumSeries
— Количество временных рядов mЭто свойство доступно только для чтения.
Количество временных рядов m в виде положительного целого числа. NumSeries
задает размерность многомерной переменной отклика yt и инновации εt.
Типы данных: double
Rank
— Количество cointegrating отношенийЭто свойство доступно только для чтения.
Количество cointegrating отношений в виде неотрицательного целого числа. Матрицы корректировки и коинтеграции в модели имеют Rank
линейно независимыми столбцами и является NumSeries
- Rank
матрицы.
Типы данных: double
P
— Соответствующий порядок модели VARЭто свойство доступно только для чтения.
Соответствующая модель VAR заказывает в виде неотрицательного целого числа. P
– 1 максимальная задержка вскоре полином, который имеет ненулевую матрицу коэффициентов. Задержки вскоре полином, которые имеют степень меньше, чем P
– 1 могли составить содействующие матрицы полностью нулей.
P
задает количество преддемонстрационных наблюдений, требуемых инициализировать модель.
Типы данных: double
Description
Описание моделиОписание модели в виде строкового скаляра или вектора символов. vecm
хранит значение как строковый скаляр. Значение по умолчанию описывает параметрическую форму модели, например
, "2-Dimensional Rank = 1 VEC(1) Model"
.
Пример: 'Description','Model 1'
Типы данных: string
| char
SeriesNames
— Серийные имена ответаРяд ответа называет в виде NumSeries
вектор строки длины. Значением по умолчанию является ['Y1' 'Y2'... 'Y
.NumSeries
']
Пример: 'SeriesNames',{'CPI' 'Unemployment'}
Типы данных: string
Constant
— Полная константа моделиNaN(NumSeries,1)
(значение по умолчанию) | числовой векторПолная константа модели (c) в виде NumSeries
- 1 числовой вектор.
Значение Constant
, и ли estimate
ограничения равенства поддержек на него во время оценки, зависьте от формы Йохансена модели VEC.
Пример: 'Constant',[1; 2]
Типы данных: double
Trend
— Полный линейный тренд времениnan(NumSeries,1)
(значение по умолчанию) | числовой векторПолный линейный тренд времени (d) в виде NumSeries
- 1 числовой вектор.
Значение Trend
, и ли estimate
ограничения равенства поддержек на него во время оценки, зависьте от формы Йохансена модели VEC.
Пример: 'Trend',[0.1; 0.2]
Типы данных: double
Adjustment
— Скорости корректировки коинтеграцииNaN(NumSeries,Rank)
(значение по умолчанию) | числовая матрицаСкорости корректировки коинтеграции (A) в виде NumSeries
- Rank
числовая матрица.
Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Adjustment
должна быть матрица полного ранга столбца).
Для оценки можно наложить ограничения равенства на скорости корректировки коинтеграции путем предоставления матрицы, состоявшей полностью из числовых значений или смеси числовых и пропавших без вести (NaN
Значения.
Если Rank
= 0 , затем
Adjustment
пустой NumSeries
- 0
вектор.
Для получения дополнительной информации об определении Adjustment
, см. Алгоритмы.
Пример: 'Adjustment',NaN(2,1)
Типы данных: double
Cointegration
— Матрица коинтеграцииNaN(NumSeries,Rank)
(значение по умолчанию) | числовая матрицаМатрица коинтеграции (B) в виде NumSeries
- Rank
числовая матрица.
Если вы задаете матрицу известных значений, то все столбцы должны быть линейно независимыми (то есть, Cointegration
должна быть матрица полного ранга столбца).
Cointegration
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на матрицу коинтеграции во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0 , затем
Cointegration
пустой NumSeries
- 0
вектор.
Для получения дополнительной информации об определении Cointegration
, см. Алгоритмы.
Пример: 'Cointegration',NaN(2,1)
Типы данных: double
Impact
— Матрица удараПовлияйте, или long-run level, матрица (Π) в виде NumSeries
- 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
- 1
числовой вектор. Можно установить CointegrationConstant
только при помощи записи через точку после того, как вы создаете модель.
CointegrationConstant
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию постоянный вектор во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0 , затем
CointegrationConstant
0
- 1
нулевой вектор.
Пример: Mdl.CointegrationConstant = [1; 0]
Типы данных: double
CointegrationTrend
— Тренд времени в cointegrating отношенияхNaN(Rank,1)
(значение по умолчанию) | числовой векторТренд времени в cointegrating отношениях (d 0) в виде Rank
- 1
числовой вектор. Можно установить CointegrationTrend
только при помощи записи через точку после того, как вы создаете модель.
CointegrationTrend
не может содержать смесь пропавших без вести (NaN
) значения и числовые значения. Поддерживаемые ограничения равенства на коинтеграцию линейный вектор тренда во время оценки зависят от формы Йохансена модели VEC.
Если Rank
= 0, затем CointegrationTrend
0
- 1
нулевой вектор.
Пример: Mdl.CointegrationTrend = [0; 0.5]
Типы данных: double
ShortRun
— Содействующие матрицы короткого промежутка времениСодействующие матрицы короткого промежутка времени сопоставлены с изолированными различиями в ответе в виде вектора ячейки из 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
Beta
— Матрица коэффициента регрессииNumSeries
- 0 пустых матриц (значение по умолчанию) | числовая матрицаМатрица коэффициента регрессии сопоставлена с переменными предикторами в виде NumSeries
- NumPreds
числовая матрица. NumPreds
количество переменных предикторов, то есть, количество столбцов в данных о предикторе.
Бета (
содержит коэффициенты регрессии для каждого предиктора в уравнении ответа yj
,:)j
T. \beta:
содержит коэффициент регрессии в каждом уравнении ответа для предиктора xk. По умолчанию все переменные предикторы находятся в компоненте регрессии всех уравнений ответа. Можно исключить определенные предикторы из определенных уравнений путем определения ограничений равенства к 0.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
Covariance
— Инновационная ковариационная матрицаNaN(NumSeries)
(значение по умолчанию) | числовая, положительная определенная матрицаИнновационная ковариационная матрица 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) для трех гипотетических рядов ответа.
Инновации многомерны Гауссов со средним значением 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
- 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] Гамильтон, анализ временных рядов Джеймса Д. Принстон, NJ: Издательство Принстонского университета, 1994.
[2] Йохансен, S. Основанный на вероятности вывод в векторных авторегрессивных моделях Cointegrated. Оксфорд: Издательство Оксфордского университета, 1995.
[3] Juselius, K. Модель VAR Cointegrated. Оксфорд: Издательство Оксфордского университета, 2006.
[4] Lütkepohl, H. Новое введение в несколько анализ временных рядов. Берлин: Спрингер, 2005.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.