В этом примере показано, как оценить сезонную модель 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.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
Подобранная модель
где 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. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.
arima
| dummyvar
| estimate
| forecast