Проверьте Прогнозирующую Робастность Способности regARIMA Модели

Этот пример показывает, как предсказать модель регрессии с ошибками 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 рекурсивно. Таким образом, для каждого объема выборки валидации:

  1. Соответствуйте модели к данным (EstMdlY).

  2. Предскажите ответы из предполагаемой модели (yF).

  3. Вычислите два статистических данные производительности, среднеквадратичную ошибку (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. Это показывает плохую прогнозирующую способность.

Ищите лучшую модель путем определения, например, больше AR или задержек MA в ошибочной модели, и сравните PMSEs по этим моделям. Выберите модель с самым низким PMSE для данного объема выборки валидации.

Смотрите также

| |

Связанные примеры

Больше о