exponenta event banner

Прогнозные условные ответы модели VAR

В этом примере показано, как прогнозировать ответы в зависимости от текущих значений других ответов в горизонте прогноза. Для иллюстрации условного прогнозирования в примере моделируются квартальные показатели индекса потребительских цен (ИПЦ) и уровня безработицы в качестве модели VAR (4).

Загрузить Data_USEconModel набор данных.

load Data_USEconModel

Постройте две серии на отдельных графиках.

figure;
plot(DataTable.Time,DataTable.CPIAUCSL);
title('Consumer Price Index');
ylabel('Index');
xlabel('Date');

Figure contains an axes. The axes with title Consumer Price Index contains an object of type line.

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

Figure contains an axes. The axes with title Unemployment Rate contains an object of type line.

Как представляется, ИПЦ растет в геометрической прогрессии.

Стабилизировать ИПЦ путем преобразования его в ряд темпов роста. Синхронизировать два ряда, удалив первое наблюдение из ряда уровня безработицы. Создайте новый набор данных, содержащий преобразованные переменные.

rcpi = price2ret(DataTable.CPIAUCSL);
unrate = DataTable.UNRATE(2:end);
Data = array2timetable([rcpi unrate],'RowTimes',DataTable.Time(2:end),...
    'VariableNames',{'rcpi','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 объект модели. Он служит шаблоном для оценки модели.

Подгоните модель к данным.

EstMdl = estimate(Mdl,Data.Variables)
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 объект модели. EstMdl структурно совпадает с Mdl, но все параметры известны.

Предположим, что экономист ожидает, что уровень безработицы останется таким же, как и последний наблюдаемый уровень в течение следующих двух лет. Создание матрицы 8 на 2, в которой содержится первый столбец NaN значения и второй столбец содержат последний наблюдаемый уровень безработицы.

YF = [nan(8,1) repmat(Data.unrate(end),8,1)];

Используя расчетную модель, спрогнозируйте путь роста квартальных ИПЦ на следующие два года. Предположим, что уровень безработицы остается прежним в течение следующих двух лет. Укажите весь набор данных как предварительные наблюдения и известные значения в горизонте прогноза.

Y = forecast(EstMdl,8,Data.Variables,'YF',YF)
Y = 8×2

   -0.0076    8.5000
   -0.0136    8.5000
   -0.0009    8.5000
   -0.0051    8.5000
   -0.0050    8.5000
   -0.0007    8.5000
   -0.0009    8.5000
    0.0003    8.5000

Y представляет собой массив путей отклика 8 на 2. Хотя первый столбец содержит условные прогнозы, второй столбец полностью состоит из последнего наблюдаемого уровня безработицы.

С учетом того, что в ближайшие два года уровень безработицы составит 8,5, ожидается, что темпы роста ИПЦ сократятся.

См. также

Объекты

Функции

Связанные темы