Проверяйте подгонку мультипликативной модели ARIMA

В этом примере показов, как выполнить качество подгонки проверки. Остаточные диагностические графики помогают проверить допущения модели, а проверки предсказания перекрестной валидации - оценить прогнозирующую эффективность. Временные ряды - ежемесячные международные пассажирские номера авиакомпаний с 1949 по 1960 год.

Загрузите данные и оцените модель.

Загрузите набор данных авиакомпании.

load('Data_Airline.mat')
y = log(Data);
T = length(y);

Mdl = arima('Constant',0,'D',1,'Seasonality',12,...
              'MALags',1,'SMALags',12);
EstMdl = estimate(Mdl,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.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

Проверьте невязки на нормальность.

Одним из предположений подобранной модели является то, что инновации следуют Гауссову распределению. Выведите невязки и проверьте их на нормальность.

res = infer(EstMdl,y);
stres = res/sqrt(EstMdl.Variance);

figure
subplot(1,2,1)
qqplot(stres)

x = -4:.05:4;
[f,xi] = ksdensity(stres);
subplot(1,2,2)
plot(xi,f,'k','LineWidth',2);
hold on
plot(x,normpdf(x),'r--','LineWidth',2)
legend('Standardized Residuals','Standard Normal')
hold off

Figure contains 2 axes. Axes 1 with title QQ Plot of Sample Data versus Standard Normal contains 3 objects of type line. Axes 2 contains 2 objects of type line. These objects represent Standardized Residuals, Standard Normal.

График квантиля (QQ-график) и оценка плотности ядра не показывают явных нарушений допущения нормальности.

Проверьте невязки на автокорреляцию.

Подтвердите, что невязки некоррелированы. Посмотрите на выборку автокорреляционных функций (ACF) и частичных автокорреляционных функций (PACF) графиков для стандартизированных невязок.

figure
subplot(2,1,1)
autocorr(stres)
subplot(2,1,2)
parcorr(stres)

Figure contains 2 axes. Axes 1 with title Sample Autocorrelation Function contains 4 objects of type stem, line. Axes 2 with title Sample Partial Autocorrelation Function contains 4 objects of type stem, line.

[h,p] = lbqtest(stres,'lags',[5,10,15],'dof',[3,8,13])
h = 1x3 logical array

   0   0   0

p = 1×3

    0.1842    0.3835    0.7321

Образцовые графики ACF и PACF не показывают значительной автокорреляции. Более формально проведите Q-тест Ljung-Box на лагах 5, 10 и 15 со степенями свободы 3, 8 и 13 соответственно. Степени свободы составляют два оцененных коэффициента скользящего среднего.

Q-тест Ljung-Box подтверждает результаты выборок ACF и PACF. Нулевая гипотеза о том, что все автокорреляции совместно равны нулю до тестируемой задержки, не отклоняется (h = 0) для любого из трех лагов.

Проверяйте прогнозирующую эффективность.

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

y1 = y(1:100);
y2 = y(101:end);

Mdl1 = estimate(Mdl,y1);
 
    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.35674       0.089461       -3.9876      6.6739e-05
    SMA{12}      -0.63319       0.098744       -6.4124      1.4326e-10
    Variance    0.0013285     0.00015882         8.365       6.013e-17
yF1 = forecast(Mdl1,44,'Y0',y1);
pmse = mean((y2-yF1).^2)
pmse = 0.0069
figure
plot(y2,'r','LineWidth',2)
hold on
plot(yF1,'k--','LineWidth',1.5)
xlim([0,44])
title('Prediction Error')
legend('Observed','Forecast','Location','NorthWest')
hold off

Figure contains an axes. The axes with title Prediction Error contains 2 objects of type line. These objects represent Observed, Forecast.

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

См. также

Объекты

Функции

Похожие темы

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