Функции модели Econometrics Toolbox™ VAR требуют объекта модели varm
как входа, прежде чем они моделируют, оценят, предскажут или выполнят другие вычисления. объекты модели varm
задают структуру модели VAR, то есть, количества ряда ответа, количества задержек, существуют ли константы или тренды времени в уравнениях ответа, и т.д. модель varm
может служить образцовым шаблоном для оценки, или можно задать известные значения для некоторых или всех параметров или во время образцового создания или после использования записи через точку.
По умолчанию varm
устанавливает неизвестные значения параметров на NaN
на основе его заданной структуры. значения NaN
в образцовых свойствах указывают, что параметр присутствует, но значение неизвестно и потребности, соответствующие к данным. Несмотря на то, что, данные временных рядов мотивируют образцовое создание, они не требуются, чтобы создавать модель. Если у вас есть данные, можно соответствовать моделям к данным, как описано по Оценке Модели VAR. Если у вас нет данных, можно создать полностью заданную модель, то есть, вы обеспечиваете все значения параметров, как описано в Объектах модели с Известными Параметрами.
Создайте объект модели VAR Econometrics Toolbox с помощью varm
. Используйте этот объект для оценки, симуляции, прогнозирования и анализа нескольких временных рядов.
Существует два синтаксиса для создания объекта модели varm
: сокращение и обычное письмо. Краткий синтаксис подходит для быстрого создания модели, которая имеет все неизвестные параметры. Используя краткий синтаксис, вы создаете образцовый шаблон для оценки, которая задает размерность переменной отклика (numseries
), степень модели VAR (p
), и что полином AR имеет ненулевые задержки 1 через p
. После создания модели этот путь можно изменить некоторые значения параметров путем корректировки значений свойств с помощью записи через точку (см. Отображение и Изменение Объектов модели). Для примера смотрите, Создают и Настраивают Модель VAR Используя Краткий Синтаксис.
Рукописный синтаксис допускает больше гибкости в спецификации параметра, чем краткий синтаксис. Например, можно задать значения авторегрессивных содействующих матриц или какие задержки имеют ненулевые содействующие матрицы. Принимая во внимание, что varm
требует размерности переменной отклика и степени модели VAR, когда вы используете краткий синтаксис, varm
выводит эти структурные характеристики из аргументов, которые вы предоставляете, когда вы используете рукописный синтаксис. Для примера смотрите, Создают и Настраивают Модель VAR Используя Рукописный Синтаксис.
Независимый от настройки синтаксиса, существует несколько способов создать объекты модели с помощью varm
, и они зависят от аналитической цели.
Объекты модели с Известными Параметрами. Используйте этот метод, когда вы будете знать значения всех соответствующих параметров вашей модели. Таким образом, вы не планируете соответствовать модели к данным.
Объекты модели без Значений параметров. Используйте этот метод, когда вы знаете размер, введите, и количество задержек в вашей модели, но не знайте, например, значения ни одной из содействующих матриц AR или значение инновационной ковариации. Таким образом, вы знаете структуру модели VAR, и вы хотите соответствовать модели к данным с помощью estimate
.
Объекты модели с Выбранными Значениями параметров. Используйте этот метод, когда вы знаете размер, введите, и количество задержек в вашей модели, и также знайте некоторых, но не все, значений параметров. Например, вы знаете значения некоторых содействующих матриц AR. Чтобы оценить любые неизвестные значения параметров, вы передаете объект модели и данные к estimate
, который применяет ограничения равенства ко всем известным параметрам в их значениях и оценивает остальных.
Этот пример показывает, как создать 3D модель VAR (4) с неизвестными параметрами с помощью varm
и краткого синтаксиса. Затем этот пример показывает, как настроить параметры созданной модели с помощью записи через точку.
Создайте модель VAR (4) для 3D ряда ответа с помощью краткого синтаксиса.
numseries = 3; p = 4; Mdl = varm(3,4)
Mdl = varm with properties: Description: "3-Dimensional VAR(4) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 4 Constant: [3×1 vector of NaNs] AR: {3×3 matrices of NaNs} at lags [1 2 3 ... and 1 more] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Mdl
является объектом модели varm
. Свойства образцового отображения в командной строке. Заметьте что:
Значение по умолчанию некоторых параметров является значениями NaN
, который указывает на их присутствие в модели. В частности, каждая задержка от 1 до 4 имеет неизвестную, ненулевую авторегрессивную матрицу коэффициентов.
Вы создали модель, не используя данные об ответе. Таким образом, Mdl
является агностиком о данных.
Предположим, что вы хотите, чтобы задержки 1 и 4 в модели были неизвестными и ненулевыми, но все другие задержки являются нулем. Используя запись через точку, удалите другие задержки из объекта модели путем размещения 3х3 матриц нулей соответствующие ячейки.
Mdl.AR{2} = zeros(3); Mdl.AR{3} = zeros(3)
Mdl = varm with properties: Description: "3-Dimensional VAR(4) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 4 Constant: [3×1 vector of NaNs] AR: {3×3 matrices} at lags [1 4] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Заметьте, что степень модели, p
является все еще 4
, но существует неизвестные, ненулевые коэффициенты в задержках 1 и 4 только.
Этот пример показывает, как создать 3D модель VAR (4) с неизвестными параметрами с помощью varm
и рукописного синтаксиса. Затем этот пример показывает, как настроить параметры созданной модели с помощью записи через точку.
Создайте модель VAR (4) для 3D ряда ответа. Укажите, что существуют неизвестные содействующие матрицы в задержках 1 и 4 только.
numseries = 3; p = 4; ar = {nan(3) nan(3)}; lags = [1 p]; Mdl = varm('AR',ar,'Lags',lags)
Mdl = varm with properties: Description: "3-Dimensional VAR(4) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 4 Constant: [3×1 vector of NaNs] AR: {3×3 matrices} at lags [1 4] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Mdl
является объектом модели varm
. Свойства образцового отображения в командной строке. Заметьте что:
Значение по умолчанию некоторых параметров является значениями NaN
, который указывает на их присутствие в модели.
Вы создали модель, не используя данные об ответе. Таким образом, Mdl
является агностиком о данных.
Предположим, что вы хотите добавить линейный тренд времени в модель, которая будет оценена. По умолчанию линейный тренд времени является нулем. Чтобы сделать неизвестный тренд времени существующим в модели, установите свойство Trend
на вектор 3 на 1 значений NaN
с помощью записи через точку.
Mdl.Trend = nan(3,1)
Mdl = varm with properties: Description: "3-Dimensional VAR(4) Model with Linear Time Trend" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 4 Constant: [3×1 vector of NaNs] AR: {3×3 matrices} at lags [1 4] Trend: [3×1 vector of NaNs] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Если вы знаете значения параметров модели, создаете объект модели со значениями параметров с помощью рукописного синтаксиса. Следующее является аргументами пары "имя-значение", которые можно передать varm
для известных значений параметров в numseries
- размерная модель VAR (p
):
Параметры модели
Имя | Значение |
---|---|
Constant |
|
Lags | Числовой вектор авторегрессивных полиномиальных задержек. Самая большая задержка определяет |
AR | Вектор ячейки |
Trend |
|
Beta |
|
Covariance |
|
Также можно создать объект модели с помощью краткого синтаксиса, и затем настроить соответствующие значения свойств с помощью записи через точку (за исключением Lags
).
Вектор Lags
позволяет вам задавать, какие задержки вы хотите включать. Например, задать AR отстает 1 и 3 без задержки 2, установите Lag
на [1 3]
. Несмотря на то, что существует только две задержки, p
является 3
.
Следующий пример показывает, как создать объект модели, когда вы знали параметры. Рассмотрите модель VAR (1)
Независимые воздействия εt распределяются как стандартные 3D нормальные случайные переменные.
Создайте объект модели с varm
:
c = [0.05; 0; -0.05]; ar = {[.5 0 0;.1 .1 .3;0 .2 .3]}; Covariance = eye(3); Mdl = varm('Constant',c,'AR',ar,'Covariance',Covariance)
Mdl = varm with properties: Description: "AR-Stationary 3-Dimensional VAR(1) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 1 Constant: [0.05 0 -0.05]' AR: {3×3 matrix} at lag [1] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 diagonal matrix]
varm
идентифицирует эту модель как стационарную модель VAR (1) с тремя измерениями, аддитивными постоянными, никаким трендом времени и никаким компонентом регрессии.
По умолчанию estimate
соответствует всем незаданным (то есть, элементы, содержащие значения NaN
) образцовые константы, авторегрессивные содействующие матрицы, коэффициенты регрессии, линейные тренды времени и инновационная ковариационная матрица. Необходимо задать, передают объект модели varm
, содержащий неизвестные значения и данные к estimate
, чтобы соответствовать неизвестным параметрам.
Этот пример показывает, как задать модель в Объектах модели с Известными Параметрами, но без явных параметров.
Mdl = varm(3,1)
Mdl = varm with properties: Description: "3-Dimensional VAR(1) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 1 Constant: [3×1 vector of NaNs] AR: {3×3 matrix of NaNs} at lag [1] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Можно создать объект модели с некоторыми известными параметрами и иметь подгонку estimate
неизвестные параметры к данным. estimate
соблюдает все ограничения равенства за исключением тех в инновационной ковариационной матрице, то есть, инновационная ковариация должна полностью состоять из значений NaN
для оценки.
Этот пример показывает, как задать модель в Объектах модели с Известными Параметрами, но с требуемыми параметрами AR с диагональной авторегрессивной структурой и неизвестной инновационной ковариацией. varm
выводит размерность переменной отклика от параметров c
и AR
и степень модели VAR от AR
.
c = [.05; 0; -.05]; ar = {diag(nan(3,1))}; Mdl = varm('Constant',c,'AR',ar)
Mdl = varm with properties: Description: "3-Dimensional VAR(1) Model" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 1 Constant: [0.05 0 -0.05]' AR: {3×3 matrix} at lag [1] Trend: [3×1 vector of zeros] Beta: [3×0 matrix] Covariance: [3×3 matrix of NaNs]
Mdl.AR{:}
ans = 3×3
NaN 0 0
0 NaN 0
0 0 NaN
После того, как вы настроите объект модели, можно исследовать его несколькими способами:
Введите Mdl
в командной строке MATLAB®, где Mdl
является именем образцовой структуры.
Дважды кликните объект в браузере рабочего пространства MATLAB.
Введите Mdl.PropertyName
в командной строке MATLAB, где Mdl
является именем объекта модели, и PropertyName
является именем свойства, которое вы хотите исследовать или повторно присвоить.
Можно изменить любую перезаписываемую часть названного объекта модели, например, Mdl
, с помощью записи через точку можно следующим образом:
Mdl.PropertyValue = value;
Этот синтаксис изменяет только части PropertyValue
Mdl
.
Существует две функции Econometrics Toolbox, которые могут помочь вам определить соответствующее количество задержек для ваших моделей:
lratiotest
выполняет тесты отношения правдоподобия, чтобы помочь идентифицировать соответствующее количество задержек.
aicbic
вычисляет критерии информации о Akaike и Bayesian (AIC и BIC, соответственно), чтобы определить минимальное соответствующее количество необходимых задержек.
lratiotest
требует входных параметров loglikelihood неограниченной модели, loglikelihood ограниченной модели и количества степеней свободы (степень свободы). Степень свободы является различием в количестве активных параметров между неограниченными и ограниченными моделями. lratiotest
возвращает булевскую переменную: средние значения 1
отклоняют ограниченную модель в пользу неограниченной модели, 0
означает, что существуют недостаточные доказательства, чтобы отклонить ограниченную модель.
В контексте определения соответствующего количества задержек ограниченная модель имеет меньше задержек, и неограниченная модель имеет больше задержек. В противном случае, тестовые модели с тем же типом подходящих параметров.
Получите loglikelihood (logL
) модели как третий вывод estimate
:
[EstMdl,EstSE,logL,E] = estimate(...)
Получите количество активных параметров в модели (numParameters
) от поля NumEstimatedParameters
в выходной структуре summarize
:
results = summarize(EstMdl); numParameters = results.NumEstimatedParameters;
Например, предположите, что у вас есть четыре подобранных модели с переменными структурами задержки. Модели имеют loglikelihoods logL1
, logL2
, logL3
и logL4
, и активный параметр считает n1p
, n2p
, n3p
и n4p
. Предположим, что модель 4 имеет наибольшее число задержек. Выполните тесты отношения правдоподобия моделей 1, 2, и 3 против модели 4, можно следующим образом:
reject1 = lratiotest(logL4,logL1,n4p - n1p) reject2 = lratiotest(logL4,logL2,n4p - n2p) reject3 = lratiotest(logL4,logL3,n4p - n3p)
Если reject1
= 1
, вы отклоняете модель 1 в пользу модели 4, и так же для моделей 2 и 3. Если какая-либо из моделей имеет rejectI
= 0
, у вас есть индикация, что можно использовать меньше задержек, чем в модели 4.
Можно получить AIC и статистику подгонки BIC два пути:
Передача предполагаемой модели к summarize
и извлечение желаемой подходящей статистической величины от выходной структуры.
Используя aicbic
. aicbic
требует входных параметров loglikelihood модели и количества активных параметров в модели. aicbic
также принимает векторы loglikelihoods и векторы активных параметров, который дает возможность сравнивать подгонки многоуровневой модели.
Нижние значения этих информационных критериев указывают на лучшие подгонки к данным.
Получите loglikelihood (logL
) модели как третий вывод estimate
:
[EstMdl,EstSE,logL,E] = estimate(...)
Получите количество активных параметров в модели (numParameters
) от поля NumEstimatedParameters
в выходной структуре summarize
:
results = summarize(EstMdl); numParameters = results.NumEstimatedParameters;
Например, предположите, что у вас есть четыре подобранных модели с переменными структурами задержки. Модели имеют loglikelihoods logL1
, logL2
, logL3
и logL4
, и активный параметр считает n1p
, n2p
, n3p
и n4p
. Вычислите критерии информации о Akaike можно следующим образом:
AIC = aicbic([logL1 logL2 logL3 logL4],[n1p n2p n3p n4p])
Самая подходящая модель имеет самое низкое значение критерия информации о Akaike.