Этот пример показывает, как вывести невязки из подходящей модели ARIMA. Диагностические проверки выполнены на невязках, чтобы оценить образцовую подгонку.
Временные ряды являются журналом ежеквартальный австралийский Индекс потребительских цен (CPI), измеренный от 1 972 до 1991.
Загрузите австралийские данные о CPI. Возьмите первые различия, затем постройте ряд.
load Data_JAustralian y = DataTable.PAU; T = length(y); dY = diff(y); figure plot(2:T,dY) xlim([0,T]) title('Differenced Australian CPI')
differenced ряд выглядит относительно стационарным.
Постройте демонстрационную автокорреляционную функцию (ACF) и частичная автокорреляционная функция (PACF), чтобы искать автокорреляцию в differenced ряду.
figure subplot(2,1,1) autocorr(dY) subplot(2,1,2) parcorr(dY)
Демонстрационный ACF затухает более медленно, чем демонстрационный PACF. Последние сокращения прочь после задержки 2. Это, наряду с дифференцированием первой степени, предлагает модель ARIMA (2,1,0).
Задайте, и затем оцените, модель ARIMA (2,1,0). Выведите невязки для диагностической проверки.
Mdl = arima(2,1,0); EstMdl = estimate(Mdl,y);
ARIMA(2,1,0) Model (Gaussian Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 0.010072 0.0032802 3.0707 0.0021356 AR{1} 0.21206 0.095428 2.2222 0.02627 AR{2} 0.33728 0.10378 3.2499 0.0011543 Variance 9.2302e-05 1.1112e-05 8.3066 9.8491e-17
[res,~,logL] = infer(EstMdl,y);
Заметьте, что модель является подходящей к исходному ряду, а не differenced ряду. Модель, чтобы быть подходящей, Mdl
, имеет свойство D
, равное 1
. Это составляет одну степень дифференцирования.
Эта спецификация принимает Гауссово инновационное распределение. infer
возвращает значение loglikelihood целевой функции (logL
) наряду с невязками (res
).
Стандартизируйте выведенные невязки и проверяйте на нормальность и любую необъясненную автокорреляцию.
stdr = res/sqrt(EstMdl.Variance); figure subplot(2,2,1) plot(stdr) title('Standardized Residuals') subplot(2,2,2) histogram(stdr,10) title('Standardized Residuals') subplot(2,2,3) autocorr(stdr) subplot(2,2,4) parcorr(stdr)
Невязки кажутся некоррелироваными и приблизительно нормально распределенными. Существует некоторая индикация, что существует избыток больших невязок.
Чтобы исследовать возможный избыточный эксцесс в инновационном процессе, соответствуйте модели ARIMA (2,1,0) t распределением Студента к исходному ряду. Возвратите значение loglikelihood целевой функции, таким образом, можно использовать Байесов информационный критерий (BIC), чтобы сравнить припадок этих двух моделей.
MdlT = Mdl;
MdlT.Distribution = 't';
[EstMdlT,~,logLT] = estimate(MdlT,y);
ARIMA(2,1,0) Model (t Distribution): Value StandardError TStatistic PValue _________ _____________ __________ __________ Constant 0.0099745 0.0016152 6.1752 6.6059e-10 AR{1} 0.32689 0.075503 4.3294 1.4949e-05 AR{2} 0.18719 0.074691 2.5063 0.012202 DoF 2.2594 0.95562 2.3643 0.018064 Variance 0.0002472 0.0007462 0.33128 0.74043
[~,bic] = aicbic([logLT,logL],[5,4],T)
bic = 1×2
-492.5317 -479.4691
Модели с t-инновационным распределением (MdlT
и EstMdlT
) имеют один дополнительный параметр (степени свободы t распределения).
Согласно BIC, модель ARIMA (2,1,0) с t инновационным распределением Студента является лучшим выбором, потому что это имеет меньшее (более отрицательное) значение BIC.