Подбор модели VAR к моделируемым данным

Этот пример моделирует данные из произвольной 3-D модели VAR (2) и подбирает модель VAR (2) к моделируемым данным.

Создайте следующую модель VAR.

yt=[10.5-0.5]+[0.3-0.10.050.10.20.1-0.10.20.4]yt-1+[0.10.050.0010.0010.10.01-0.01-0.010.2]yt-2+[0.5-0.20]t+Lεt.

εt является 3-D стандартной Гауссовой случайной переменной и L - единичная матрица 3 на 3.

Constant = [1; 0.5; -0.5];
AR1 = [0.3 -0.1 0.05; 0.1 0.2 0.1; -0.1 0.2 0.4];
AR2 = [0.1 0.05 0.001; 0.001 0.1 0.01; -0.01 -0.01 0.2];
Trend = [0.5; -0.2; 0];
L = eye(3);
TrueMdl = varm('Constant',Constant,'AR',{AR1 AR2},'Trend',Trend,...
    'Covariance',L);

TrueMdl является полностью заданным varm объект модели, что означает, что все параметры ее соответствующей модели VAR (2) известны.

Сгенерируйте временные ряды путь длины 100 с помощью simulate.

rng(1); % For reproducibility
numobs = 100;
Y = simulate(TrueMdl,numobs);

Создайте 3-D шаблон модели VAR (2) для оценки. Задайте наличие компонента линейного тренда.

Mdl = varm(3,2);
Mdl.Trend = nan(Mdl.NumSeries,1);

Mdl является varm объект модели служит шаблоном для оценки.

Подбор модели VAR к моделируемым данным с помощью вызова estimate.

EstMdl = estimate(Mdl,Y);

EstMdl является полностью заданным, предполагаемым varm объект модели. Размер выборки оценки 98, потому что estimate требует 2 предварительных наблюдений для инициализации.

Сравните предполагаемую модель с истинной моделью.

results = summarize(EstMdl)
results = struct with fields:
               Description: "AR-Stationary 3-Dimensional VAR(2) Model with Linear Time Trend"
                SampleSize: 98
    NumEstimatedParameters: 24
             LogLikelihood: -396.0032
                       AIC: 840.0063
                       BIC: 902.0456
                     Table: [24x4 table]
                Covariance: [3x3 double]
               Correlation: [3x3 double]

Lhat = chol(EstMdl.Covariance,'lower')
Lhat = 3×3

    0.9632         0         0
   -0.0926    0.9555         0
    0.0337   -0.0190    0.8755

trueValues = [Constant; AR1(:); AR2(:); Trend];
compCoeff = abs(results.Table.Value - trueValues);
twoSE = compCoeff > 2*results.Table.StandardError
twoSE = 24x1 logical array

   1
   0
   0
   0
   0
   0
   0
   0
   0
   0
      ⋮

Оценка L, матрица шкалы инноваций, довольно близка по величине к матрице тождеств. Только оцененная константа в первой серии откликов является двумя стандартными ошибками дальше от ее истинного значения.

См. также

Объекты

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте