Предскажите модель VAR условные ответы

В этом примере показано, как предсказать условное выражение ответов на текущих значениях других ответов в горизонте прогноза. Проиллюстрировать условное прогнозирование, модели в качестве примера ежеквартальные меры индекса потребительских цен (CPI) и уровня безработицы как модель 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 object. The axes object 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 object. The axes object with title Unemployment Rate contains an object of type line.

CPI, кажется, растет экспоненциально.

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

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)];

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

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 в течение следующих двух лет, темп роста CPI, как ожидают, уменьшится.

Смотрите также

Объекты

Функции

Похожие темы