exponenta event banner

Проверка надежности прогнозной способности модели 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 в модели ошибок, и сравните PMSE над этими моделями. Выберите модель с наименьшим значением PMSE для данного размера выборки проверки.

См. также

| |

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

Подробнее