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

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

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

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

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

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

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

load(fullfile(matlabroot,'examples','econ','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.047686        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. Г. М. Дженкинс и Г. К. Рейнсель. Анализ timeseries: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

| | |

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

Больше о