Создание векторной модели авторегрессии (VAR)
varm функция возвращает varm объект, определяющий функциональную форму и сохраняющий значения параметров модели авторегрессии вектора (VAR (p)) p-порядка, стационарной, многомерной.
Ключевые компоненты varm объект включает в себя количество временных рядов (размерность переменной отклика) и порядок многомерного авторегрессионного полинома (p), поскольку они полностью задают структуру модели. Другие компоненты модели включают в себя компонент регрессии, чтобы связать одни и те же экзогенные переменные предиктора с каждой серией ответов, и термины постоянной и временной тенденции. Учитывая размерность переменной отклика и p, все матрицы коэффициентов и параметры распределения инноваций неизвестны и могут быть оценены, если не указать их значения.
Чтобы оценить модели, содержащие неизвестные значения параметров, передайте модель и данные в estimate. Работа с оценочным или полностью указанным varm объект модели, передайте его функции объекта.
создает модель VAR (0), состоящую из одного ряда ответов.Mdl = varm
создает VAR (Mdl = varm(numseries,numlags)numlags) модель, состоящая из numseries серия ответов. Максимальное ненулевое отставание - numlags. Все задержки имеют numseriesоколо-numseries матрицы коэффициентов, состоящие из NaN значения.
Этот сокращенный синтаксис позволяет упростить создание шаблона модели. Шаблон модели подходит для неограниченной оценки параметров, то есть оценки без ограничений равенства параметров. После создания модели можно изменить значения свойств с помощью точечной нотации.
задает свойства или дополнительные параметры, используя аргументы пары имя-значение. Заключите каждое имя в кавычки. Например, Mdl = varm(Name,Value)'Lags',[1 4],'AR',AR задает две матрицы авторегрессионных коэффициентов в AR при лагах 1 и 4.
Этот синтаксис longhand позволяет создавать более гибкие модели. varm выводит количество серий (NumSeries) и авторегрессивной степени полинома (P) из заданных свойств. Поэтому значения свойств, которые соответствуют числу рядов или авторегрессионной степени полинома, должны быть согласованы друг с другом.
Краткий синтаксис обеспечивает простой способ создания шаблонов моделей, подходящих для неограниченной оценки параметров. Например, чтобы создать модель VAR (2), состоящую из трех рядов ответов, введите:
Mdl = varm(3,2);
numseries - Количество временных рядов m1 (по умолчанию) | положительное целое числоЧисло временных рядов m, указанное как положительное целое число. numseries определяет размерность переменной многомерного ответа yt и innovation αt.
numseries устанавливает NumSeries собственность.
Типы данных: double
numlags - Количество отложенных ответовКоличество отложенных ответов для включения в модель, указанное как неотрицательное целое число. Полученная модель является VAR (numlags) модель. Все задержки имеют numseriesоколо-numseries матрицы коэффициентов, состоящие из NaN значения.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
Синтаксис longhand позволяет создавать модели, в которых известны некоторые или все коэффициенты. Во время оценки, estimate накладывает ограничения равенства на любые известные параметры.
'Lags',[4 8] задает модель VAR (8) с матрицами с ненулевыми авторегрессионными коэффициентами на лагах4 и 8.Чтобы задать значения для свойств, доступных для записи, используйте Name,Value синтаксис парного аргумента. Например, 'Constant',[1; 2],'AR',{[0.1 -0.2; -0.3 0.5]} наборы Constant кому [1; 2] и AR кому {[0.1 -0.2; -0.3 0.5]}.
'Lags' - Авторегрессионные полиномные задержки1:P (по умолчанию) | числовой вектор уникальных положительных целых чиселАвторегрессивные задержки многочлена, указанные как пара, разделенная запятыми, состоящая из 'Lags' и числовой вектор, содержащий не более P элементы уникальных положительных целых чисел.
Длины Lags и AR должно быть равным. Lags( - запаздывание, соответствующее матрице коэффициентов, j)AR{.j}
Пример: 'Lags',[1 4]
Типы данных: double
Значения свойств, доступные для записи, можно задать при создании объекта модели с помощью синтаксиса аргумента пара имя-значение или после создания объекта модели с помощью точечной нотации. Например, чтобы создать модель VAR (1), состоящую из двух рядов ответов, а затем указать неизвестный термин временного тренда, введите:
Mdl = varm('AR',{NaN(2)});
Mdl.Trend = NaN;NumSeries - Количество временных рядов mЭто свойство доступно только для чтения.
Число временных рядов m, указанное как положительное целое число. NumSeries определяет размерность переменной многомерного ответа yt и innovation αt.
Типы данных: double
P - Многомерный авторегрессивный полиномиальный порядокЭто свойство доступно только для чтения.
Многомерный авторегрессивный полиномиальный порядок, заданный как неотрицательное целое число. P - максимальное отставание, имеющее ненулевую матрицу коэффициентов. Задержки, которые меньше P может иметь матрицы коэффициентов, полностью состоящие из нулей.
P указывает количество предварительных наблюдений, необходимых для инициализации модели.
Типы данных: double
Constant - Перехват моделиNaN(NumSeries,1) (по умолчанию) | числовой векторПерехват модели (или константы), указанный как NumSeries-по-1 числовой вектор.
Пример: 'Constant',[1; 2]
Типы данных: double
AR - Матрицы авторегрессионных коэффициентовМатрицы авторегрессионных коэффициентов, связанные с запаздывающими откликами, заданными как вектор ячейки NumSeriesоколо-NumSeries числовые матрицы.
Укажите знаки коэффициентов, соответствующие этим коэффициентам в модели VAR, выраженным в нотации «разность-уравнение».
Если установить Lags аргумент пары имя-значение для Lags, то применяются следующие условия.
Длины AR и Lags равны.
AR{ - матрица коэффициентов запаздывания j}Lags(.j)
По умолчанию AR является numel(Lags)-by-1 клеточный вектор матриц, состоящий из NaN значения.
В противном случае применяются следующие условия.
Длина AR является P.
AR{ - матрица коэффициентов запаздывания j}j.
По умолчанию AR является P-by-1 клеточный вектор матриц, состоящий из NaN значения.
Пример: 'AR',{[0.5 -0.1; 0.1 0.2]}
Типы данных: cell
Trend - Линейный временной трендzeros(NumSeries,1) (по умолчанию) | числовой векторСрок линейного тренда времени, указанный как NumSeries-по-1 числовой вектор. Значение по умолчанию указывает на отсутствие линейного тренда времени в модели.
Пример: 'Trend',[0.1; 0.2]
Типы данных: double
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
Description - Описание моделиОписание модели, указанное как строковый скалярный или символьный вектор. varm сохраняет значение в виде строкового скаляра. Значение по умолчанию описывает параметрическую форму модели, например
"2-Dimensional VAR(3) Model".
Пример: 'Description','Model 1'
Типы данных: string | char
SeriesNames - Имена серий ответовИмена серий ответов, указанные как NumSeries вектор строки длины. Значение по умолчанию: ['Y1' 'Y2' ... 'Y.NumSeries']
Пример: 'SeriesNames',{'CPI' 'Unemployment'}
Типы данных: string
Примечание
NaN-значимые элементы в свойствах указывают неизвестные, оцениваемые параметры. Указанные элементы указывают на ограничения равенства параметров при оценке модели. Инновационная ковариационная матрица Covariance не может содержать сочетание NaN значения и реальные числа; необходимо полностью указать ковариацию или она должна быть полностью неизвестной (NaN(NumSeries)).
estimate | Подгонка векторной модели авторегрессии (VAR) к данным |
fevd | Создать декомпозицию дисперсии ошибки прогноза векторной авторегрессии (VAR) (FEVD) |
filter | Фильтрация возмущений с помощью векторной модели авторегрессии (VAR) |
forecast | Отклики модели авторегрессии вектора прогноза (VAR) |
gctest | Тесты причинности Грейнджера и экзогенности блоков для моделей векторной авторегрессии (VAR) |
infer | Инновации векторной авторегрессионной модели (VAR) |
irf | Генерация импульсных откликов векторной авторегрессии (VAR) |
simulate | Моделирование модели векторной авторегрессии (VAR) Монте-Карло |
summarize | Отображение результатов оценки модели векторной авторегрессии (VAR) |
vecm | Преобразование модели векторной авторегрессии (VAR) в модель векторной коррекции ошибок (VEC) |
Создайте модель VAR нулевой степени, состоящую из одной серии ответов.
Mdl = varm
Mdl =
varm with properties:
Description: "1-Dimensional VAR(0) Model"
SeriesNames: "Y"
NumSeries: 1
P: 0
Constant: NaN
AR: {}
Trend: 0
Beta: [1×0 matrix]
Covariance: NaN
Mdl является varm объект модели. Он содержит один ряд ответов, неизвестную константу и неизвестную дисперсию инноваций. Свойства модели отображаются в командной строке.
Предположим, что проблема имеет авторегрессивный коэффициент с запаздыванием 1. Для создания такой модели установите свойство авторегрессионного коэффициента (AR) в ячейку, содержащую NaN значение с использованием точечной нотации.
Mdl.AR = {NaN}Mdl =
varm with properties:
Description: "1-Dimensional VAR(1) Model"
SeriesNames: "Y"
NumSeries: 1
P: 1
Constant: NaN
AR: {NaN} at lag [1]
Trend: 0
Beta: [1×0 matrix]
Covariance: NaN
Если проблема содержит несколько серий ответов, используйте другой varm синтаксис для создания модели.
Создание модели VAR (4) для индекса потребительских цен (ИПЦ) и уровня безработицы.
Загрузить Data_USEconModel набор данных. Объявить переменные для ИПЦ (CPI) и уровень безработицы (UNRATEСерия.
load Data_USEconModel
cpi = DataTable.CPIAUCSL;
unrate = DataTable.UNRATE;Создайте модель VAR (4) по умолчанию с использованием краткого синтаксиса.
Mdl = varm(2,4)
Mdl =
varm with properties:
Description: "2-Dimensional VAR(4) Model"
SeriesNames: "Y1" "Y2"
NumSeries: 2
P: 4
Constant: [2×1 vector of NaNs]
AR: {2×2 matrices of NaNs} at lags [1 2 3 ... and 1 more]
Trend: [2×1 vector of zeros]
Beta: [2×0 matrix]
Covariance: [2×2 matrix of NaNs]
Mdl является varm объект модели. Он служит шаблоном для оценки модели. MATLAB ® рассматривает любыеNaN значения как неизвестные значения параметров для оценки. Например, Constant свойство является вектором 2 на 1 NaN значения. Поэтому константы модели являются активными параметрами модели, которые необходимо оценить.
Включите неизвестный член линейного временного тренда, установив значение Trend свойство для NaN с использованием точечной нотации.
Mdl.Trend = NaN
Mdl =
varm with properties:
Description: "2-Dimensional VAR(4) Model with Linear Time Trend"
SeriesNames: "Y1" "Y2"
NumSeries: 2
P: 4
Constant: [2×1 vector of NaNs]
AR: {2×2 matrices of NaNs} at lags [1 2 3 ... and 1 more]
Trend: [2×1 vector of NaNs]
Beta: [2×0 matrix]
Covariance: [2×2 matrix of NaNs]
MATLAB расширяется NaN до соответствующей длины, то есть вектора 2 на 1 NaN значения.
Создайте модель VAR для трех произвольных серий ответов. Укажите значения параметров в этой системе уравнений.
, t-1 + 0,2y2, t-1 + 0,3y2
Предположим, что нововведения являются многомерными гауссовыми со средним значением 0 и ковариационной матрицей
Создайте переменные для значений параметров.
c = [1; 1; 0];
Phi1 = {[0.2 -0.1 0.5; -0.4 0.2 0; -0.1 0.2 0.3]};
delta = [1.5; 2; 0];
Sigma = [0.1 0.01 0.3; 0.01 0.5 0; 0.3 0 1];Создайте объект модели VAR (1), представляющий систему динамических уравнений, используя соответствующие аргументы пары имя-значение.
Mdl = varm('Constant',c,'AR',Phi1,'Trend',delta,'Covariance',Sigma)
Mdl =
varm with properties:
Description: "AR-Stationary 3-Dimensional VAR(1) Model with Linear Time Trend"
SeriesNames: "Y1" "Y2" "Y3"
NumSeries: 3
P: 1
Constant: [1 1 0]'
AR: {3×3 matrix} at lag [1]
Trend: [1.5 2 0]'
Beta: [3×0 matrix]
Covariance: [3×3 matrix]
Mdl является полностью указанным varm объект модели. По умолчанию varm приписывает коэффициент авторегрессии первому запаздыванию.
Можно настроить свойства модели с помощью точечных обозначений. Например, рассмотрим другую модель VAR, которая приписывает матрицу авторегрессионных коэффициентов Phi1 ко второму члену запаздывания, задает матрицу нулей для первого коэффициента запаздывания и рассматривает все остальное как равное Mdl. Создайте эту модель VAR (2).
Mdl2 = Mdl; Phi = [zeros(3,3) Phi1]; Mdl2.AR = Phi
Mdl2 =
varm with properties:
Description: "AR-Stationary 3-Dimensional VAR(2) Model with Linear Time Trend"
SeriesNames: "Y1" "Y2" "Y3"
NumSeries: 3
P: 2
Constant: [1 1 0]'
AR: {3×3 matrix} at lag [2]
Trend: [1.5 2 0]'
Beta: [3×0 matrix]
Covariance: [3×3 matrix]
Можно также создать другой объект модели с помощью varm и тот же синтаксис, что и для Mdl, но дополнительно указать 'Lags',2.
Соответствие модели VAR (4) индексу потребительских цен (ИПЦ) и данным по уровню безработицы.
Загрузить Data_USEconModel набор данных.
load Data_USEconModelПостройте две серии на отдельных графиках.
figure; plot(DataTable.Time,DataTable.CPIAUCSL); title('Consumer Price Index'); ylabel('Index'); xlabel('Date');

figure; plot(DataTable.Time,DataTable.UNRATE); title('Unemployment Rate'); ylabel('Percent'); xlabel('Date');

Стабилизировать ИПЦ путем преобразования его в ряд темпов роста. Синхронизировать два ряда, удалив первое наблюдение из ряда уровня безработицы.
rcpi = price2ret(DataTable.CPIAUCSL); unrate = DataTable.UNRATE(2:end);
Создайте модель VAR (4) по умолчанию с использованием краткого синтаксиса.
Mdl = varm(2,4)
Mdl =
varm with properties:
Description: "2-Dimensional VAR(4) Model"
SeriesNames: "Y1" "Y2"
NumSeries: 2
P: 4
Constant: [2×1 vector of NaNs]
AR: {2×2 matrices of NaNs} at lags [1 2 3 ... and 1 more]
Trend: [2×1 vector of zeros]
Beta: [2×0 matrix]
Covariance: [2×2 matrix of NaNs]
Mdl является varm объект модели. Все свойства, содержащие NaN значения соответствуют параметрам, которые должны быть оценены с учетом данных.
Оцените модель, используя весь набор данных.
EstMdl = estimate(Mdl,[rcpi unrate])
EstMdl =
varm with properties:
Description: "AR-Stationary 2-Dimensional VAR(4) Model"
SeriesNames: "Y1" "Y2"
NumSeries: 2
P: 4
Constant: [0.00171639 0.316255]'
AR: {2×2 matrices} at lags [1 2 3 ... and 1 more]
Trend: [2×1 vector of zeros]
Beta: [2×0 matrix]
Covariance: [2×2 matrix]
EstMdl является оценочным varm объект модели. Он полностью указан, поскольку все параметры имеют известные значения. Описание указывает, что авторегрессионный полином является неподвижным.
Отображение сводной статистики из оценки.
summarize(EstMdl)
AR-Stationary 2-Dimensional VAR(4) Model
Effective Sample Size: 241
Number of Estimated Parameters: 18
LogLikelihood: 811.361
AIC: -1586.72
BIC: -1524
Value StandardError TStatistic PValue
___________ _____________ __________ __________
Constant(1) 0.0017164 0.0015988 1.0735 0.28303
Constant(2) 0.31626 0.091961 3.439 0.0005838
AR{1}(1,1) 0.30899 0.063356 4.877 1.0772e-06
AR{1}(2,1) -4.4834 3.6441 -1.2303 0.21857
AR{1}(1,2) -0.0031796 0.0011306 -2.8122 0.004921
AR{1}(2,2) 1.3433 0.065032 20.656 8.546e-95
AR{2}(1,1) 0.22433 0.069631 3.2217 0.0012741
AR{2}(2,1) 7.1896 4.005 1.7951 0.072631
AR{2}(1,2) 0.0012375 0.0018631 0.6642 0.50656
AR{2}(2,2) -0.26817 0.10716 -2.5025 0.012331
AR{3}(1,1) 0.35333 0.068287 5.1742 2.2887e-07
AR{3}(2,1) 1.487 3.9277 0.37858 0.705
AR{3}(1,2) 0.0028594 0.0018621 1.5355 0.12465
AR{3}(2,2) -0.22709 0.1071 -2.1202 0.033986
AR{4}(1,1) -0.047563 0.069026 -0.68906 0.49079
AR{4}(2,1) 8.6379 3.9702 2.1757 0.029579
AR{4}(1,2) -0.00096323 0.0011142 -0.86448 0.38733
AR{4}(2,2) 0.076725 0.064088 1.1972 0.23123
Innovations Covariance Matrix:
0.0000 -0.0002
-0.0002 0.1167
Innovations Correlation Matrix:
1.0000 -0.0925
-0.0925 1.0000
Этот пример следует из модели оценки VAR (4).
Создание и оценка модели VAR (4) для показателей роста ИПЦ и уровня безработицы. Рассматривайте последние десять периодов как горизонт прогноза.
load Data_USEconModel
cpi = DataTable.CPIAUCSL;
unrate = DataTable.UNRATE;
rcpi = price2ret(cpi);
unrate = unrate(2:end);
Y = [rcpi unrate];
Mdl = varm(2,4);
EstMdl = estimate(Mdl,Y(1:(end-10),:));Прогноз 10 ответов с использованием оценочной модели и данных в выборке в качестве предварительных наблюдений.
YF = forecast(EstMdl,10,Y(1:(end-10),:));
Постройте график части серии с их прогнозируемыми значениями на отдельных графиках.
figure; plot(DataTable.Time(end - 50:end),rcpi(end - 50:end)); hold on plot(DataTable.Time((end - 9):end),YF(:,1)) h = gca; fill(DataTable.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend('True CPI growth rate','Forecasted CPI growth rate',... 'Location','NW') title('Quarterly CPI Growth Rate: 1947 - 2009'); ylabel('CPI growth rate'); xlabel('Year'); hold off

figure; plot(DataTable.Time(end - 50:end),unrate(end - 50:end)); hold on plot(DataTable.Time((end - 9):end),YF(:,2)) h = gca; fill(DataTable.Time([end - 9 end end end - 9]),h.YLim([1,1,2,2]),'k',... 'FaceAlpha',0.1,'EdgeColor','none'); legend('True unemployment rate','Forecasted unemployment rate',... 'Location','NW') title('Quarterly Unemployment Rate: 1947 - 2009'); ylabel('Unemployment rate'); xlabel('Year'); hold off

Векторная модель авторегрессии (VAR) представляет собой стационарную многомерную модель временных рядов, состоящую из системы m уравнений m различных переменных отклика в качестве линейных функций запаздывающих ответов и других терминов.
Модель VAR (p) в обозначении разности-уравнения и в уменьшенном виде
− p + βxt + δt + αt.
yt является numseries-по-1 вектор значений, соответствующих numseries переменные ответа в момент времени t, где t = 1,...,T. Структурный коэффициент является единичной матрицей.
c является numseries-по-1 вектор констант.
Фj - это numseriesоколо-numseries матрица авторегрессивных коэффициентов, где j = 1,..., p и Фр не является матрицей, содержащей только нули.
xt является numpreds-по-1 вектор значений, соответствующих numpreds экзогенные переменные предиктора.
β является numseriesоколо-numpreds матрица коэффициентов регрессии.
δ является numseries-на-1 вектор линейных значений тренда времени.
αt - это numseries-на-1 вектор случайных гауссовых инноваций, каждый со средним значением 0 и совокупно numseriesоколо-numseries ковариационная матрица Λ. Для t ≠ s δ t и αs независимы.
Конденсированный и в записи оператора запаздывания, система
+ δt + αt,
где ...−ΦpLp, Φ (L) yt является многомерным авторегрессивным полиномиалом, и я numseriesоколо-numseries единичная матрица.
Например, модель VAR (1), содержащая два ряда ответов и три экзогенных переменных предиктора, имеет эту форму
t − 1 + β21x1, t + β22x2, t + β
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.