В этом примере показано, как вывести остаточные значения подбиравшей модели 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
возвращает значение целевой функции логарифмической правдоподобности (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 распределением Студента к исходному ряду. Возвратите значение целевой функции логарифмической правдоподобности, таким образом, можно использовать Байесов информационный критерий (BIC), чтобы сравнить припадок этих двух моделей.
MdlT = Mdl;
MdlT.Distribution = 't';
[EstMdlT,~,logLT] = estimate(MdlT,y);
ARIMA(2,1,0) Model (t Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 0.0099746 0.0016152 6.1753 6.6022e-10 AR{1} 0.32689 0.075503 4.3294 1.4949e-05 AR{2} 0.18719 0.07469 2.5063 0.012201 DoF 2.2594 0.95561 2.3643 0.018064 Variance 0.00024721 0.00074628 0.33126 0.74044
[~,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.