Этот пример показывает, как оценить сезонную модель ARIMA:
Смоделируйте сезонные эффекты с помощью мультипликативной сезонной модели.
Используйте переменные индикатора в качестве компонента регрессии для сезонных эффектов, названных сезонными макетами.
Впоследствии, их прогнозы показывают, что методы приводят к подобным результатам. Временные ряды являются ежемесячными международными числами авиапассажира от 1 949 до 1960.
Загрузите набор данных 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 является выборкой затяжки, чтобы сравнить прогнозы этих двух моделей.
Создайте ARIMA модель
где независимый политик и тождественно распределил нормально распределенный ряд со средним значением 0 и отклонением . Используйте 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
Подобранная модель
где iid нормально распределенный ряд со средним значением 0 и отклонением 0.0013.
Создайте модель ARIMAX(0,1,1) с периодом 12 сезонного дифференцирования и компонент регрессии,
серия вектор-столбцов T, имеющих длину 12, которые указывают в который наблюдение месяца был измерен. 1 последовательно i указывает, что наблюдение было измерено в месяце i, остальная часть элементов 0s.
Обратите внимание на то, что, если вы включаете аддитивную постоянную в модель, затем строки T матрицы проекта, X состоит из векторов - строк . Поэтому 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
Подобранная модель
где iid нормально распределенный ряд со средним значением 0 и отклонением 0.0017 и вектор-столбец со значениями Beta1 - Beta12. Обратите внимание на то, что оценки MA{1} и Variance между Mdl1 и Mdl2 не равны.
Используйте 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.
arima | dummyvar | estimate | forecast