Создайте модель векторной авторегрессии (VAR)
varm функция возвращает varm объект, задающий функциональную форму и сохраняющий значения параметров модели p-order, стационарной, многомерной векторной авторегрессии (VAR (p)).
Ключевые компоненты varm объект включает количество временных рядов (response-variable dimensionality) и порядок многомерного авторегрессионного полинома (p), потому что они полностью определяют структуру модели. Другие компоненты модели включают регрессионный компонент для связи тех же переменных экзогенного предиктора с каждой последовательностью откликов и терминами постоянного и временного тренда. Учитывая размерность и p переменной отклика, все матрицы коэффициентов и параметры распределения инноваций неизвестны и оцениваемы, если вы не задаете их значения.
Чтобы оценить модели, содержащие неизвестные значения параметров, передайте модель и данные estimate. Работа с предполагаемым или полностью заданным varm объект модели, передайте его в функцию объекта.
создает модель VAR (0), состоящую из одной серии откликов.Mdl = varm
создает VAR Mdl = varm(numseries,numlags)(numlags) модель, состоящая из numseries серия отклика. Максимальная ненулевая задержка numlags. Все лаги имеют numseries-by- 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 и инновационных εt.
numseries устанавливает NumSeries свойство.
Типы данных: double
numlags - Количество откликов с отставаниемКоличество отстающих ответов для включения в модель, заданное в виде неотрицательного целого числа. Получившаяся модель является VAR (numlags) модель. Все лаги имеют numseries-by- 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 должно быть равным. Лаги - задержка, соответствующая матрице коэффициентов (j)AR .{j}
Пример: 'Lags',[1 4]
Типы данных: double
Можно задать значения свойств записи, когда вы создаете объект модели с помощью синтаксиса аргумента пары "имя-значение" или после того, как вы создаете объект модели с помощью записи через точку. Для примера, чтобы создать модель VAR (1), состоящую из двух рядов откликов, и затем указать неизвестный срок временного тренда, введите:
Mdl = varm('AR',{NaN(2)});
Mdl.Trend = NaN;NumSeries - Количество временных рядов mЭто свойство доступно только для чтения.
Количество m временных рядов, заданное как положительное целое число. NumSeries задает размерность многомерной переменной отклика yt и инновационных εt.
Типы данных: double
P - Многомерный авторегрессионный полиномиальный порядокЭто свойство доступно только для чтения.
Многомерный авторегрессионный полином порядка, заданный как неотрицательное целое число. P - это максимальная задержка, которая имеет ненулевую матрицу коэффициентов. Лаги, которые меньше P может иметь матрицы коэффициентов, состоящие полностью из нулей.
P задает количество предварительных наблюдений, необходимых для инициализации модели.
Типы данных: double
Constant - Перехваты моделиNaN(NumSeries,1) (по умолчанию) | числовой векторМоделируйте точки пересечения (или константы), заданные как NumSeries-by-1 числовой вектор.
Пример: 'Constant',[1; 2]
Типы данных: double
AR - Матрицы авторегрессионных коэффициентовАвторегрессионные матрицы коэффициентов, сопоставленное с отстающими откликами, задаются как камера вектор NumSeries-by- 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-by-1 числовой вектор. Значение по умолчанию не задает линейный временной тренд в модели.
Пример: 'Trend',[0.1; 0.2]
Типы данных: double
Beta - Матрица коэффициентов регрессииNumSeries-by-0 пустая матрица (по умолчанию) | числовая матрицаМатрица коэффициента регрессии, сопоставленная с переменными предиктора, заданная как NumSeries-by- NumPreds числовая матрица. NumPreds - количество переменных предиктора, то есть количество столбцов в данных предиктора.
Бета содержит коэффициенты регрессии для каждого предиктора в уравнении отклика y (j,:)j, т. Бета содержит коэффициент регрессии в каждом уравнении отклика для 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-by- NumSeries числовая, положительно определенная матрица.
Пример: 'Covariance',eye(2)
Типы данных: double
Description - Описание моделиОписание модели, заданное как строковый скаляр или вектор символов. varm сохраняет значение как строковый скаляр. Значение по умолчанию описывает параметрическую форму модели, например
"2-Dimensional VAR(3) Model".
Пример: 'Description','Model 1'
Типы данных: string | char
SeriesNames - Имена рядов ответовИмена рядов ответов, заданные как NumSeries длина строки вектор. Значение по умолчанию является ['Y1' 'Y2'... '.Y <reservedrangesplaceholder0>']
Пример: '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 (CPI) и уровень безработицы (UNRATEСерия.
load Data_USEconModel
cpi = DataTable.CPIAUCSL;
unrate = DataTable.UNRATE;Создайте модель VAR (4) по умолчанию с помощью синтаксиса shorthand.
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 для трех произвольных ответных рядов. Задайте значения параметров в этой системе уравнений.
Предположим, что инновации являются многомерными Гауссовыми со средним значением 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) по умолчанию с помощью синтаксиса shorthand.
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
Этот пример следует из модели Estimate 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

A vector autoregression (VAR) model является стационарной многомерной моделью временных рядов, состоящей из системы m уравнений m отдельных переменных отклика как линейных функций отстающих откликов и других членов.
Модель VAR (p) в difference-equation notation и в reduced form является
yt является numseries-by-1 вектор значений, соответствующих numseries переменные отклика в t времени, где t = 1,..., T. Структурный коэффициент является матрицей тождеств.
c является numseries-by-1 вектор констант.
.R. j является numseries-by- numseries матрица авторегрессивных коэффициентов, где j = 1..., p и Φ <reservedrangesplaceholder0> не матрица, содержащая только нули.
xt является numpreds-by-1 вектор значений, соответствующих numpreds экзогенные переменные предиктора.
β является numseries-by- numpreds матрица коэффициентов регрессии.
δ является numseries-by-1 вектор линейных значений временного тренда.
εt является numseries-by-1 вектор случайных Гауссовых инноваций, каждый со средним значением 0 и коллективно a numseries-by- numseries ковариационная матрица Для <reservedrangesplaceholder3> ≠ <reservedrangesplaceholder2>, εt и εs независимы.
Конденсированное и в обозначении оператора задержки, система является
где , L yt является многомерным авторегрессионным полиномом, и I является numseries-by- numseries единичная матрица.
Для примера модель VAR (1), содержащая две серии откликов и три экзогенные переменные предиктора, имеет эту форму
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.