В этом примере показано, как предсказать модель регрессии с ошибками ARIMA, и как проверять робастность предсказуемости модели.
Загрузите набор данных Значений по умолчанию Кредита, присвойте ответ (IGD) к y и предикторы AGE, CPF, и SPR к X. Для рисунка укажите, что ряд ответа является моделью регрессии с AR (1) ошибки. Чтобы избежать отвлечения от цели этого примера, примите, что все ряды предиктора являются стационарными.
load Data_CreditDefaults y = Data(:,5); X = Data(:,[1 3:4]); T = size(X,1); % Sample size Mdl = regARIMA(1,0,0);
Варьируйтесь объем выборки валидации (m), и ответы прогноза от Mdl рекурсивно. Таким образом, для каждого объема выборки валидации:
Подбирайте модель к данным (EstMdlY).
Предскажите ответы из предполагаемой модели (yF).
Вычислите два статистических данные эффективности, среднеквадратичную ошибку (RMSE) и корневую среднеквадратичную погрешность предсказания (RPMSE).
m = 4:10; % Validation sample lengths rPMSE = m; % Preallocate rPMSE rMSE = m; % Preallocate rMSE for k = 1:numel(m); yEst = y(1:(T-m(k))); % Response data for estimation yVal = y((T-m(k)+1):T); % Validation sample EstMdlY = estimate(Mdl,yEst,'X',X,'display','off'); yHat = EstMdlY.Intercept + X(1:(T-m(k)),:)*EstMdlY.Beta';... % Estimation sample predicted values [e0,u0] = infer(EstMdlY,yEst,'X',X); yF = forecast(EstMdlY,m(k),'Y0',yEst,... 'X0',X(1:T-m(k),:),'XF',X((T-m(k)+1):T,:));... % Validation sample predicted values rMSE(k) = sqrt(mean((yEst - yHat).^2)); rPMSE(k) = sqrt(mean((yF - yVal).^2)); end
rMSE и rPMSE векторы, которые содержат RMSE и RPMSE, соответственно, для каждой выборки валидации.
Отобразите критерии качества работы.
fprintf('\n m | rMSE | rPMSE\n')m | rMSE | rPMSE
fprintf('====================\n')====================
for k = 1:length(m) fprintf('%2d | %0.4f | %0.4f\n',m(k),rMSE(k),rPMSE(k)) end
4 | 0.0947 | 0.2274 5 | 0.0808 | 0.1902 6 | 0.0810 | 0.2036 7 | 0.0714 | 0.1924 8 | 0.0809 | 0.1532 9 | 0.0720 | 0.1557 10 | 0.0899 | 0.1300
Прогнозирующая способность этой модели довольно устойчива потому что rPMSE изменения немного для увеличения m. Однако rMSE меньше rPMSE для всего m. Это показывает плохую прогнозирующую способность.
Ищите лучшую модель путем определения, e.g., больше AR или задержек MA в ошибочной модели, и сравнивают PMSEs по этим моделям. Выберите модель с самым низким PMSE для данного объема выборки валидации.
estimate | forecast | regARIMA