Этот пример показывает, как оценить мультипликативную сезонную модель ARIMA с помощью estimate
. Временные ряды - ежемесячные международные пассажирские номера авиакомпаний с 1949 по 1960 год.
Загрузите набор данных авиакомпании.
load Data_Airline y = log(Data); T = length(y); Mdl = arima('Constant',0,'D',1,'Seasonality',12,... 'MALags',1,'SMALags',12);
Используйте первые 13 наблюдений как предварительные данные, а остальные 131 наблюдения для оценки.
y0 = y(1:13);
[EstMdl,EstParamCov] = estimate(Mdl,y(14:end),'Y0',y0)
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.073426 -5.1366 2.7972e-07 SMA{12} -0.57238 0.093933 -6.0935 1.1047e-09 Variance 0.0013887 0.00015242 9.1115 8.1249e-20
EstMdl = arima with properties: Description: "ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 13 D: 1 Q: 13 Constant: 0 AR: {} SAR: {} MA: {-0.377161} at lag [1] SMA: {-0.572379} at lag [12] Seasonality: 12 Beta: [1×0] Variance: 0.00138874
EstParamCov = 4×4
0 0 0 0
0 0.0054 -0.0015 -0.0000
0 -0.0015 0.0088 0.0000
0 -0.0000 0.0000 0.0000
Подобранная модель
с инновационным отклонением 0.0014.
Заметьте, что константа модели не оценивается, но остается фиксированной на нуле. Нет соответствующей стандартной ошибки или статистики t для постоянного члена. Строка (и столбец) в дисперсионно-ковариационной матрице, соответствующей постоянному члену, имеет все нули.
Выведите невязки из подобранной модели.
res = infer(EstMdl,y(14:end),'Y0',y0); figure plot(14:T,res) xlim([0,T]) title('Residuals') axis tight
Когда вы используете первые 13 наблюдений в качестве предварительных образцов данных, невязки доступны с 14 времени и далее.
Ссылки:
Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.