Создание модели векторной коррекции ошибок (VEC)
vecm функция возвращает vecm объект, определяющий функциональную форму и сохраняющий значения параметров модели (p-1) -упорядника, коинтегрированной, многовариантной векторной модели коррекции ошибок (VEC ((p-1)).
Ключевые компоненты vecm объект включает в себя количество временных рядов (размерность переменной ответа), число отношений коинтегрирования среди переменных ответа (ранг коинтегрирования) и степень многомерного авторегрессивного полинома, составленного из первых разностей ряда ответа (многочлена короткого хода), которая равна p - 1. То есть p-1 является максимальным запаздыванием с матрицей ненулевых коэффициентов, а p - порядком представления модели векторной авторегрессии (VAR) модели VEC. Другие компоненты модели включают в себя компонент регрессии, чтобы связать одни и те же экзогенные переменные предиктора с каждой серией ответов, и термины постоянной и временной тенденции.
Другим важным компонентом модели VEC является ее форма Йохансена, поскольку она определяет, как MATLAB ® включает детерминированные термины в модель. Эта спецификация имеет последствия для процедуры оценки и допустимых ограничений равенства. Для получения дополнительной информации см. Johansen Form и [2].
Учитывая размерность переменной отклика, ранг совместной интеграции и степень полинома короткого хода, все матрицы коэффициентов и параметры распределения инноваций неизвестны и могут быть оценены, если только их значения не указаны с помощью синтаксиса аргумента пары «имя-значение». Чтобы выбрать, какая форма Johansen подходит для данных, затем оценить модель, содержащую все или частично неизвестные значения параметров данных, используйте estimate. Работа с оценочным или полностью указанным vecm объект модели, передайте его функции объекта.
создает VEC (Mdl = vecm(numseries,rank,numlags)numlags) модель, состоящая из numseries временные ряды, содержащие rank коинтеграционные отношения. Максимальное ненулевое отставание в коротком многочлене равно numlags. Все задержки и член исправления ошибок имеют numseriesоколо-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);
numseries - Количество временных рядов m1 (по умолчанию) | положительное целое числоЧисло временных рядов m, указанное как положительное целое число. numseries определяет размерность переменной многомерного ответа yt и innovation αt.
numseries устанавливает NumSeries собственность.
Типы данных: double
rank - Количество коинтеграционных отношенийЧисло коинтегрирующих отношений, указанное как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют 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.
Синтаксис longhand позволяет создавать модели, в которых известны некоторые или все коэффициенты. Во время оценки, estimate накладывает ограничения равенства на любые известные параметры. Укажите достаточное количество информации для vecm для вывода числа рядов ответов и ранга коинтегрирования.
'Adjustment',nan(3,2),'Lags',[4 8] задает трехмерную модель VEC (8) с двумя коинтегрирующими соотношениями и матрицами с ненулевыми коэффициентами короткого прогона на лагах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 - Количество временных рядов mЭто свойство доступно только для чтения.
Число временных рядов m, указанное как положительное целое число. NumSeries определяет размерность переменной многомерного ответа yt и innovation αt.
Типы данных: double
Rank - Количество коинтеграционных отношенийЭто свойство доступно только для чтения.
Число коинтегрирующих отношений, указанное как неотрицательное целое число. Матрицы корректировки и коинтеграции в модели имеют 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 - Матрица воздействияУдарная, или долгосрочная, матрица (Δ), заданная как 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 - Постоянная в коинтеграционных отношенияхNaN(Rank,1) (по умолчанию) | числовой векторКонстанта (перехват) в коинтегрирующих соотношениях (c0), указанная как Rankоколо-1 числовой вектор. Можно задать CointegrationConstant только с помощью точечной нотации после создания модели.
CointegrationConstant не может содержать смесь отсутствующих (NaN) значения и числовые значения. Поддерживаемые ограничения равенства вектора констант коинтеграции во время оценки зависят от формы Йохансена модели VEC.
Если Rank = 0, то CointegrationConstant является 0около-1 вектор нулей.
Пример: Mdl.CointegrationConstant = [1; 0]
Типы данных: double
CointegrationTrend - Временной тренд в коинтеграционных отношенияхNaN(Rank,1) (по умолчанию) | числовой векторВременной тренд в коинтегрирующих отношениях (d0), указанный как 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}Lags(.j)
По умолчанию ShortRun является numel(Lags)-by-1 клеточный вектор матриц, состоящий из NaN значения.
В противном случае применяются следующие условия.
ShortRun{ - матрица коэффициентов запаздывания j}j.
По умолчанию ShortRun является (P - 1) -by-1 клеточный вектор матриц, состоящий из NaN значения.
MATLAB предполагает, что коэффициент текущего разностного отклика (Δyt) является единичной матрицей. Поэтому исключите этот коэффициент из ShortRun.
Пример: 'ShortRun',{[0.5 -0.1; 0.1 0.2]}
Типы данных: cell
Beta - Матрица коэффициентов регрессииNumSeries-by-0 пустая матрица (по умолчанию) | числовая матрицаМатрица коэффициентов регрессии, связанная с переменными предиктора, заданная как NumSeriesоколо-NumPreds числовая матрица. NumPreds - количество переменных предиктора, то есть количество столбцов в данных предиктора.
Beta( содержит коэффициенты регрессии для каждого предиктора в уравнении отклика yj,:)j, т .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 | Генерация векторной модели коррекции ошибок (VEC) для декомпозиции дисперсии ошибок прогноза (FEVD) |
filter | Фильтрация возмущений с помощью векторной модели коррекции ошибок (VEC) |
forecast | Ответы модели коррекции ошибок вектора прогноза (VEC) |
infer | Инновации модели векторной коррекции ошибок (VEC) |
irf | Генерация импульсных откликов модели векторной коррекции ошибок (VEC) |
simulate | Моделирование модели векторной коррекции ошибок (VEC) Монте-Карло |
summarize | Отображение результатов оценки векторной модели коррекции ошибок (VEC) |
varm | Преобразование векторной модели коррекции ошибок (VEC) в векторную модель авторегрессии (VAR) |
Предположим, что модель VEC с рангом совместной интеграции 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 ® включает в модель общие и коинтеграционные линейные термины тренда времени. Модель VEC можно создать в форме Johansen 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-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 для следующих семи макроэкономических рядов, а затем подберите модель к данным.
Валовой внутренний продукт (ВВП)
Имплицитный дефлятор цен ВВП
Выплаченная компенсация работникам
Нефермерное деловое время всех лиц
Эффективная ставка федеральных фондов
Расходы на личное потребление
Валовые частные внутренние инвестиции
Предположим, что подходит коинтеграционный ранг 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

Векторная модель коррекции ошибок (VEC) представляет собой многомерную стохастическую модель временных рядов, состоящую из системы m = numseries уравнения m различных, разностных переменных ответа. Уравнения в системе могут включать в себя член коррекции ошибок, который является линейной функцией откликов в уровнях, используемых для стабилизации системы. Коинтегрирующий ранг
r - это количество коинтегрирующих отношений, которые существуют в системе.
Каждое уравнение отклика может включать в себя авторегрессивный полином, состоящий из первых разностей ряда ответов (короткопроходной полином степени p-1), константу, временную тенденцию, экзогенные переменные предиктора и постоянную и временную тенденцию в термине коррекции ошибок.
Модель VEC (p-1) в обозначении разности-уравнения и в уменьшенном виде может быть выражена двумя способами:
Это уравнение является компонентной формой модели VEC, где скорости настройки коинтеграции и матрица коинтеграции явны, тогда как матрица воздействия подразумевается.
+ Ффр − 1Δyt − (р − 1) + βxt + αt.
Отношения коинтегрирования являются B 'yt - 1 + c0 + d0t, а член коррекции ошибок - A (B' yt - 1 + c0 + d0t).
Это уравнение представляет собой форму воздействия модели VEC, где матрица воздействия является явной, тогда как подразумеваются скорости регулирования коинтеграции и матрица коинтеграции.
− 1 + Φ1Δyt − 1 +... + Ффп − 1Δyt − (p − 1) + βхт + αt.
В уравнениях:
yt - вектор m-на-1 значений, соответствующих m переменным отклика в момент времени t, где t = 1,...,T.
Δyt = yt - yt - 1. Структурный коэффициент является единичной матрицей.
r - число коинтегрирующих отношений и, в общем, 0 < r < m.
А представляет собой матрицу скоростей регулирования m-by-r.
В является матрицей совместной интеграции m-by-r.
Δ - матрица воздействия m-by-m с рангом r.
c0 - вектор r-by-1 констант (перехватов) в коинтегрирующих соотношениях.
d0 - вектор r-by-1 линейных временных трендов в коинтегрирующих соотношениях.
c1 - вектор констант m-by-1 (детерминированные линейные тренды в yt).
d1 - вектор m-на-1 линейных значений тренда времени (детерминированных квадратичных трендов в yt).
c = Ac0 + c1 и является общей константой.
d = Ad0 + d1 и является общим коэффициентом временного тренда.
Фj - матрица m-by-m коэффициентов короткого хода, где j = 1,..., p - 1 и Фp - 1 не является матрицей, содержащей только нули.
xt является вектором k-by-1 значений, соответствующих k экзогенным переменным предиктора.
β - матрица коэффициентов регрессии m-by-k.
αt - вектор m-на-1 случайных гауссовых новаций, каждый со средним значением 0 и совокупно m-на-м ковариационной матрицей Λ. Для t ≠ s δ t и αs независимы.
Конденсированный и в записи оператора запаздывания, система
+c1+d1t+βxt+εt=c+dt+AB′yt−1+βxt+εt
где ... − Dwfp − 1, I - единичная матрица m-by-m, а Lyt = yt - 1.
Если m = r, то модель VEC является стабильной моделью VAR (p) в уровнях ответов. Если r = 0, то член коррекции ошибок является матрицей нулей, а модель VEC (p-1) является стабильной моделью VAR (p-1) в первых различиях откликов.
Формы Йохансена модели VEC различаются в отношении наличия детерминированных терминов. Как подробно описано в [2], процедура оценки различается между формами. Следовательно, допустимые ограничения равенства детерминированных терминов во время оценки различаются между формами. Дополнительные сведения см. в разделе Роль детерминированных терминов.
В этой таблице описываются пять форм Йохансена и поддерживаемые ограничения равенства.
| Форма | Термин исправления ошибок | Детерминированные коэффициенты | Ограничения равенства |
|---|---|---|---|
| H2 | AB 'yt − 1 | c = 0 (константа). d = 0 (тренд). c0 = 0 (Константа Койн). d0 = 0 (CoiningedTrend). | Можно полностью указать B. Все детерминированные коэффициенты равны нулю. |
| H1* | A (B 'yt − 1 + c0) | c = Ac0. d = 0. d0 = 0. | Если полностью указать либо B, либо c0, то необходимо полностью указать другой. MATLAB выводит значение c из c0 и A. Все детерминированные тенденции равны нулю. |
| H1 | A (B 'yt − 1 + c0) + c1 | c = Ac0 + c1. d = 0. d0 = 0. | Можно полностью указать B. Можно указать смесь MATLAB выводит значение c0 из c и A. Все детерминированные тенденции равны нулю. |
| H * | A (B 'yt − 1 + c0 + d0t) + c1 | c = Ac0 + c1. d = Ad0. | Если полностью указать либо B, либо d0, то необходимо полностью указать другой. Можно указать смесь MATLAB выводит значение c0 из c и A. MATLAB выводит значение d из A и d0. |
| H | A (B 'yt − 1 + c0 + d0t) + c1 + d1t | c = Ac0 + c1. d = A.d0 + d1. | Можно полностью указать B. Можно указать смесь MATLAB выводит значения c0 и d0 из c, d и A. |
Модели VEC могут принимать одну из двух форм: форму компонента или форму воздействия.
При создании vecm объект модели с использованием краткого синтаксиса, а затем назначить значение по крайней мере одному из этих свойств-Adjustment, Cointegration, CointegrationConstant, или CointegrationTrend- перед назначением значения Impact , то модель принимает форму компонента.
При создании vecm объект модели с использованием синтаксиса longhand путем назначения значения Adjustment или Cointegration имущество (или оба), но оставьте Impact неопределенное свойство, затем модель формы компонента.
Если 1 ≤ Rank ≤ NumSeries – 1, как и в случае большинства анализов модели VEC, тогда может быть удобнее работать с моделью в форме компонента, а не в форме воздействия.
Свойство Impact доступно только для чтения и зависит от значений Cointegration и Adjustment свойства. В частности, Impact = Adjustment*Cointegration'.
Во время оценки MATLAB подгоняет модель VEC к данным в два этапа. Во-первых, он оценивает отношения коинтегрирования. Во-вторых, он строит модель VARX из разностных откликов и многочлена короткого хода, включает в себя экзогенный член для оцененных отношений коинтегрирования, а затем подгоняет модель VARX к разностным данным ответа.
При создании vecm объект модели с использованием краткого синтаксиса, а затем назначить значение Impact свойство перед присвоением значения любому из этих свойств-Adjustment, Cointegration, CointegrationConstant, или CointegrationTrend- после того, как модель примет форму воздействия.
При создании vecm объект модели с использованием синтаксиса longhand путем назначения значения 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) модель к разностным ответам и включает yt-1 в качестве экзогенных предикторов в регрессионном компоненте.
При использовании синтаксиса longhand для создания vecm объект модели, если присвоено значение Impact свойство и либо Adjustment или Cointegration свойство (или оба) одновременно, затем MATLAB использует ранг коинтеграции Rank для определения формы vecm объект модели. В частности, если 1 ≤ Rank ≤ NumSeries – 1, то объект модели находится в компонентной форме. В противном случае объект модели принимает форму воздействия.
Если модель полностью задана, то форма vecm объект модели не имеет значения.
MATLAB не хранит c1 и δ1, но Вы можете вычислить их использующий Регулирование, Постоянное, CointegrationConstant, Тенденция, CointegrationTrend и соответствующая форма Йохансена модели VEC.
[1] Гамильтон, Джеймс Д. Анализ временных рядов. Принстон, Нью-Джерси: Princeton University Press, 1994.
[2] Йохансен, С. Вывод на основе правдоподобия в коинтегрированных векторных авторегрессионных моделях. Oxford: Oxford University Press, 1995.
[3] Джуселиус, К. Коинтегрированная модель VAR. Oxford: Oxford University Press, 2006.
[4] Lütkepohl, H. Новое введение в анализ множественных временных рядов. Берлин: Спрингер, 2005.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.