В этом примере показано, как выполнить проверку соответствия. Графики остаточной диагностики помогают проверить предположения модели, а проверки прогнозирования перекрестной проверки помогают оценить прогностическую производительность. Временные ряды - ежемесячные пассажирские номера международных авиакомпаний с 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

График квантиль-квантиль (QQ-график) и оценка плотности ядра не показывают явных нарушений предположения о нормальности.
Убедитесь, что остатки не коррелированы. Посмотрите на графики выборочной автокорреляционной функции (ACF) и частичной автокорреляционной функции (PACF) для стандартизированных остатков.
figure subplot(2,1,1) autocorr(stres) subplot(2,1,2) parcorr(stres)

[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

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