Сравните прогнозирующую эффективность после создания моделей Используя приложение Econometric Modeler

В этом примере показано, как выбрать задержки для модели ARIMA путем сравнения значений AIC предполагаемых моделей с помощью приложения Econometric Modeler. Пример также показывает, как сравнить прогнозирующую эффективность нескольких моделей, у которых случаются лучшие судороги в выборке в командной строке. Набор данных Data_Airline.mat содержит ежемесячные количества авиапассажиров.

Импортируйте данные в Econometric Modeler

В командной строке загрузите Data_Airline.mat набор данных.

load Data_Airline

Чтобы сравнить прогнозирующую эффективность позже, зарезервируйте прошлые два года данных как выборка затяжки.

fHorizon = 24;
HoldoutTable = DataTable((end - fHorizon + 1):end,:);
DataTable((end - fHorizon + 1):end,:) = [];

В командной строке откройте приложение Econometric Modeler.

econometricModeler

В качестве альтернативы откройте приложение из галереи Apps (см. Econometric Modeler).

Импортируйте DataTable в приложение:

  1. На вкладке Econometric Modeler, в разделе Import, нажатии кнопки.

  2. В диалоговом окне Import Data, в столбце Import?, устанавливают флажок для DataTable переменная.

  3. Нажмите Import.

Переменная PSSG появляется в панели Time Series, ее значение появляется в панели Preview, и ее график временных рядов появляется в окне рисунка Time Series Plot(PSSG).

Ряд показывает сезонный тренд, последовательную корреляцию и возможный экспоненциальный рост. Для интерактивного анализа последовательной корреляции смотрите, Обнаруживают Последовательную Корреляцию Используя Приложение Econometric Modeler.

Удалите экспоненциальный тренд

Обратитесь к экспоненциальному тренду путем применяния логарифмического преобразования к PSSG.

  1. В панели Time Series выберите PSSG.

  2. На вкладке Econometric Modeler, в разделе Transforms, нажимают Log.

Преобразованная переменная PSSGLog появляется в панели Time Series, ее значение появляется в панели Preview, и ее график временных рядов появляется в окне рисунка Time Series Plot(PSSGLog).

Экспоненциальный рост, кажется, удален из ряда.

Сравните подгонки в демонстрационной модели

Поле, Дженкинс и Рейнсель предлагают SARIMA (0,1,1) × (0,1,1) 12 моделей без константы для PSSGLog [1] (для получения дополнительной информации смотрите Оценку Мультипликативная Модель ARIMA Используя Приложение Econometric Modeler). Однако рассмотрите все комбинации ежемесячных моделей SARIMA, которые включают до двух сезонных и несезонных задержек MA. А именно, выполните итерации следующих шагов для каждой из девяти моделей формы SARIMA (0,1, q) × (0,1, q 12) 12, где q ∈ {0,1,2} и q 12 ∈ {0,1,2}.

  1. Для первой итерации:

    1. Позвольте q = q 12 = 0.

    2. С PSSGLog выбранный в панели Time Series, кликните по вкладке Econometric Modeler. В разделе Models кликните по стреле, чтобы отобразить галерею моделей.

    3. В галерее моделей, в разделе ARMA/ARIMA Models, нажимают SARIMA.

    4. В диалоговом окне SARIMA Model Parameters, на вкладке Lag Order:

      • Раздел Nonseasonal

        1. Установите Degrees of Integration на 1.

        2. Установите Moving Average Order на 0.

        3. Снимите флажок Include Constant Term.

      • Раздел Seasonal

        1. Установите Period на 12 указать на ежемесячные данные.

        2. Установите Moving Average Order на 0.

        3. Установите флажок Include Seasonal Difference.

    5. Нажмите Estimate.

  2. Переименуйте новую переменную модели.

    1. В панели Models кликните по новой переменной модели дважды, чтобы выбрать ее имя.

    2. Введите SARIMA01qx01q12. Например, когда q = q12 = 0, переименуйте переменную в SARIMA010x010.

  3. В сводных данных модели (SARIMA01qx01q12) документ, в таблице Goodness of Fit, отмечает значение AIC. Например, для переменной SARIMA010x010 модели, AIC находится в этом рисунке.

  4. Для следующей итерации выберите значения q и q 12. Например, q = 0 и q 12 = 1 для второй итерации.

  5. В панели Models щелкните правой кнопкой по SARIMA01qx01q12. В контекстном меню выберите Modify, чтобы открыть диалоговое окно SARIMA Model Parameters с текущими настройками для выбранной модели.

  6. В диалоговом окне SARIMA Model Parameters:

    1. В разделе Nonseasonal, набор Moving Average Order к q.

    2. В разделе Seasonal, набор Moving Average Order к q12.

    3. Нажмите Estimate.

После того, как вы завершите шаги, панель Models содержит девять предполагаемых моделей под названием SARIMA010x010 через SARIMA012x012.

Получившиеся значения AIC находятся в этой таблице.

МодельИмя переменнойAIC
SARIMA (0,1,0) × (0,1,0) 12SARIMA010x010-410.3520
SARIMA (0,1,0) × (0,1,1) 12SARIMA010x011-443.0009
SARIMA (0,1,0) × (0,1,2) 12SARIMA010x012-441.0010
SARIMA (0,1,1) × (0,1,0) 12SARIMA011x010-422.8680
SARIMA (0,1,1) × (0,1,1) 12SARIMA011x011-452.0039
SARIMA (0,1,1) × (0,1,2) 12SARIMA011x012-450.0605
SARIMA (0,1,2) × (0,1,0) 12SARIMA012x010-420.9760
SARIMA (0,1,2) × (0,1,1) 12SARIMA012x011-450.0087
SARIMA (0,1,2) × (0,1,2) 12SARIMA012x012-448.0650

Эти три модели, дающие к самым низким трем значениям AIC, являются SARIMA (0,1,1) × (0,1,1) 12, SARIMA (0,1,1) × (0,1,2) 12 и SARIMA (0,1,2) × (0,1,1) 12. Эти модели имеют лучшую экономную подгонку в выборке.

Экспорт лучшие модели к рабочей области

Экспортируйте модели с лучшими подгонками в выборке.

  1. На вкладке Econometric Modeler, в разделе Export, нажатии кнопки.

  2. В диалоговом окне Export Variables, в столбце Models, кликают по флажку Select для SARIMA011x011, SARIMA011x012, и SARIMA012x011. Снимите флажок для любых других выбранных моделей.

  3. Нажмите Export.

arima объекты модели SARIMA011x011, SARIMA011x012, и SARIMA012x011 появитесь в MATLAB® Workspace.

Оцените прогнозы

В командной строке оцените прогнозы "два года вперед" для каждой модели.

f5 = forecast(SARIMA_PSSGLog5,fHorizon);
f6 = forecast(SARIMA_PSSGLog6,fHorizon);
f8 = forecast(SARIMA_PSSGLog8,fHorizon);

f5, f6, и f8 24 1 векторы, содержащие прогнозы.

Сравните среднеквадратичные погрешности предсказания

Оцените среднеквадратичную погрешность предсказания (PMSE) для каждого из векторов прогноза.

logPSSGHO = log(HoldoutTable.Variables);
pmse5 = mean((logPSSGHO - f5).^2);
pmse6 = mean((logPSSGHO - f6).^2);
pmse8 = mean((logPSSGHO - f8).^2);

Идентифицируйте модель, дающую к самому низкому PMSE.

[~,bestIdx] = min([pmse5 pmse6 pmse8],[],2)

SARIMA (0,1,1) × (0,1,1) 12 моделей выполняет лучший в выборке и из выборки.

Ссылки

[1] Поле, Джордж Э. П., Гвилим М. Дженкинс и Грегори К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

Приложения

Объекты

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте