Сезонные эффекты задержки модели Используя переменные индикатора

В этом примере показано, как оценить сезонную модель ARIMA:

  • Смоделируйте сезонные эффекты с помощью мультипликативной сезонной модели.

  • Используйте переменные индикатора в качестве компонента регрессии для сезонных эффектов, названных сезонными макетами.

Впоследствии, их прогнозы показывают, что методы приводят к подобным результатам. Временные ряды являются ежемесячными международными числами авиапассажира от 1 949 до 1960.

Шаг 1. Загрузите данные.

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

load('Data_Airline.mat')
dat = log(Data); % Transform to logarithmic scale 
T = size(dat,1);
y = dat(1:103);  % Estimation sample

y часть dat используемый для оценки и остальной части dat затяжка является демонстрационной, чтобы сравнить прогнозы этих двух моделей.

Шаг 2. Задайте и подбирайте модель, задающую сезонные задержки.

Создайте ARIMA(0,1,1)(0,1,1)12 модель

(1-L)(1-L12)yt=(1+θ1L)(1+Θ12L12)εt,

где εt независимый политик и тождественно распределил нормально распределенный ряд со средним значением 0 и отклонением σ2. Используйте estimate соответствовать Mdl1 к y.

Mdl1 = arima('Constant',0,'MALags',1,'D',1,...
    'SMALags',12,'Seasonality',12);
EstMdl1 = estimate(Mdl1,y);
 
    ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution):
 
                 Value      StandardError    TStatistic      PValue  
                ________    _____________    __________    __________

    Constant           0              0           NaN             NaN
    MA{1}       -0.35732       0.088031        -4.059      4.9286e-05
    SMA{12}     -0.61469       0.096249       -6.3864      1.6985e-10
    Variance    0.001305      0.0001527        8.5467      1.2671e-17

Подобранная модель

(1-L)(1-L12)yt=(1-0.357L)(1-0.615L12)εt,

где εt iid нормально распределенный ряд со средним значением 0 и отклонением 0.0013.

Шаг 3. Задайте и подбирайте модель с помощью сезонных макетов.

Создайте модель ARIMAX(0,1,1) с периодом 12 сезонного дифференцирования и компонент регрессии,

(1-L)(1-L12)yt=(1-0.357L)(1-0.615L12)εt,

{xt;t=1,...,T} серия вектор-столбцов T, имеющих длину 12, которые указывают в который наблюдение месяца t был измерен. 1 последовательно i xt указывает, что наблюдение было измерено в месяце i, остальная часть элементов 0s.

Обратите внимание на то, что, если вы включаете аддитивную постоянную в модель, затем строки T матрицы проекта X состоят из векторов-строк [1xt]. Поэтому X имеет неполный ранг, и один коэффициент регрессии не идентифицируется. Константа упущена из этого примера, чтобы избежать отвлечения от основной цели. Отформатируйте в выборке X матриц

X  = dummyvar(repmat((1:12)',12,1));

% Format the presample X matrix
X0 = [zeros(1,11) 1; dummyvar((1:12)')];
Mdl2 = arima('Constant',0,'MALags',1,'D',1,...
    'Seasonality',12);
EstMdl2   = estimate(Mdl2,y,'X',[X0; X]);
 
    ARIMAX(0,1,1) Model Seasonally Integrated (Gaussian Distribution):
 
                  Value       StandardError    TStatistic      PValue  
                __________    _____________    __________    __________

    Constant             0              0            NaN            NaN
    MA{1}         -0.40711       0.084387        -4.8242     1.4053e-06
    Beta(1)      -0.002577       0.025168       -0.10239        0.91845
    Beta(2)     -0.0057769       0.031885       -0.18118        0.85623
    Beta(3)     -0.0022034       0.030527      -0.072179        0.94246
    Beta(4)     0.00094737       0.019867       0.047687        0.96197
    Beta(5)     -0.0012146       0.017981      -0.067551        0.94614
    Beta(6)        0.00487       0.018374        0.26505        0.79097
    Beta(7)     -0.0087944       0.015285       -0.57535        0.56505
    Beta(8)      0.0048346       0.012484        0.38728        0.69855
    Beta(9)       0.001437       0.018245       0.078758        0.93722
    Beta(10)      0.009274       0.014751        0.62869        0.52955
    Beta(11)     0.0073665         0.0105        0.70158        0.48294
    Beta(12)    0.00098841       0.014295       0.069146        0.94487
    Variance     0.0017715     0.00024657         7.1848     6.7329e-13

Подобранная модель

(1-L)(1-L12)yt=Xtβˆ+(1-0.407L)εt,

где εt iid нормально распределенный ряд со средним значением 0 и отклонением 0.0017 и βˆ вектор-столбец со значениями Beta1 - Beta12. Обратите внимание на то, что оценки MA{1} и Variance между Mdl1 и Mdl2 не равны.

Шаг 4. Предскажите использование обеих моделей.

Используйте forecast предсказывать обе модели 41 период в будущее с июля 1957. Постройте выборку затяжки, использующую эти прогнозы.

yF1 = forecast(EstMdl1,41,y);
yF2 = forecast(EstMdl2,41,y,'X0',X(1:103,:),'XF',X(104:end,:));
l1 = plot(100:T,dat(100:end),'k','LineWidth',3);
hold on
l2 = plot(104:144,yF1,'-r','LineWidth',2);
l3 = plot(104:144,yF2,'-b','LineWidth',2);
hold off
title('Passenger Data: Actual vs. Forecasts')
xlabel('Month')
ylabel('Logarithm of Monthly Passenger Data')
legend({'Observations','Polynomial Forecast',...
 			'Regression Forecast'},'Location','NorthWest')

Хотя они завышают наблюдения затяжки, прогнозы обеих моделей почти эквивалентны. Одним основным различием между моделями является тот EstMdl1 более экономно, чем EstMdl2.

Ссылки:

Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

| | |

Связанные примеры

Больше о

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