exponenta event banner

Поделиться результатами сеанса приложения Econometric Modeler

В этом примере показано, как поделиться результатами сеанса приложения Econometric Modeler с помощью:

  • Экспорт временных рядов и переменных модели в рабочую область MATLAB ®

  • Создание обычных текстовых и живых функций MATLAB для использования вне приложения

  • Создание отчета о ваших действиях по временным рядам и расчетным моделям

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

Импорт данных в Econometric Modeler

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

load Data_Airline

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

econometricModeler

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

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

  1. На вкладке Econometric Modeler в разделе Импорт щелкните значок.

  2. В диалоговом окне «Импорт данных» в окне «Импорт»? установите флажок для DataTable переменная.

  3. Щелкните Импорт (Import).

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

Серия демонстрирует сезонный тренд, последовательную корреляцию и возможный экспоненциальный рост. Интерактивный анализ последовательной корреляции см. в разделе Обнаружение последовательной корреляции с помощью приложения Econometric Modeler App.

Стабилизировать серию

Устраните экспоненциальный тренд, применив преобразование журнала к PSSG.

  1. На панели «Временные ряды» выберите PSSG.

  2. На вкладке Econometric Modeler в разделе Преобразования щелкните Log.

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

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

Устраните сезонный тренд, применив сезонную разницу 12-го заказа. С PSSGLog выбрано на панели Временной ряд (Time Series), на вкладке Эконометрический моделер (Econometric Modeler) в разделе Преобразования (Transforms) задайте Сезонный (Seasonal) как 12. Затем щелкните Сезонный (Seasonal).

Преобразованная переменная PSSGLogSeasonalDiff появляется на панели Временной ряд (Time Series), а его график временных рядов появляется в окне рисунка Временной ряд (PSSGLogSeasonedDiff).

Преобразованный ряд имеет корень единицы измерения.

Проверьте нулевую гипотезу, что PSSGLogSeasonalDiff имеет корень единицы измерения с помощью теста Augmented Dickey-Fuller. Укажите, что альтернативой является модель AR (0), а затем снова проверьте, задав модель AR (1). Скорректируйте уровень значимости до 0,025, чтобы сохранить общий уровень значимости 0,05.

  1. С PSSGLogSeasonalDiff выбран на панели Временной ряд (Time Series) на вкладке Эконометрический моделер (Econometric Modeler) в разделе Тесты (Tests) щелкните Новый тест (New Test) > Дополненный тест Дики (Augmented Dickey-Fuller Test).

  2. На вкладке «ADF» в разделе «Параметры» установите для параметра «Уровень значимости» значение 0.025.

  3. В разделе Тесты выберите Выполнить тест.

  4. В разделе «Параметры» задайте для параметра «Количество лагов» значение 1.

  5. В разделе Тесты выберите Выполнить тест.

Результаты теста отображаются в таблице результатов документа ADF (PSSGLogSeasonalDiff).

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

Адресовать корень единицы, применив первое различие к PSSGLogSeasonalDiff. С PSSGLogSeasonalDiff на панели Временные ряды (Time Series) щелкните вкладку Эконометрический моделирующий (Econometric Modeler). Затем в разделе Преобразования щелкните Разница.

Преобразованная переменная PSSGLogSeasonalDiffDiff появляется на панели Временной ряд (Time Series), а его график временных рядов появляется в окне рисунка Временной ряд (PSSGLogSeasonateDiffDiff).

На панели «Временные ряды» переименуйте PSSGLogSeasonalDiffDiff путем двойного щелчка на переменной для выбора ее имени и PSSGStable.

Приложение обновляет имена всех документов, связанных с преобразованной серией.

Определение модели для серии

Определите структуру запаздывания для условной средней модели данных, построив график функции автокорреляции образца (ACF) и функции частичной автокорреляции (PACF).

  1. С PSSGStable на панели Временной ряд (Time Series) щелкните вкладку Графики (Plots), затем щелкните ACF.

  2. Показать первые 50 лагов ACF. На вкладке ACF установите значение Number of Lags в значение 50.

  3. Перейдите на вкладку Графики (Plots) и щелкните PACF.

  4. Показать первые 50 лагов PACF. На вкладке PACF установите значение Количество лагов (Number of Lags). 50.

  5. Перетащите окно фигуры ACF (PSSGStable) над окном фигуры PACF (PSSGStable).

Согласно [1], автокорреляции в ACF и PACF предполагают, что следующая модель SARIMA (0,1,1) × (0,1,1) 12 подходит дляPSSGLog.

(1 L) (1 L12) yt = (1 + θ1L) (1 + Θ12L12) αt.

Закройте все окна фигур.

Определение и оценка модели SARIMA

Укажите модель SARIMA (0,1,1) × (0,1,1) 12.

  1. На панели «Временной ряд» выберите PSSGLog временные ряды.

  2. На вкладке Эконометрический моделирующий (Econometric Modeler) в разделе Модели (Models) щелкните стрелку, чтобы отобразить галерею моделей.

  3. В коллекции моделей в разделе Модели ARMA/ARIMA щелкните SARIMA.

  4. В диалоговом окне «Параметры модели SARIMA» на вкладке «Порядок задержки» выполните следующие действия.

    • Несезонная секция

      1. Установка степеней интеграции в 1.

      2. Задайте для заказа скользящего среднего значение 1.

      3. Снимите флажок Включить постоянный термин (Include Constant Term).

    • Сезонный участок

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

      2. Задайте для заказа скользящего среднего значение 1.

      3. Установите флажок Включить сезонную разницу.

  5. Щелкните Оценка (Estimate).

Переменная модели SARIMA_PSSGLog появляется на панели Модели (Models), его значение появляется на панели Предварительный просмотр (Preview), а его оценочная сводка появляется в документе Сводка модели (Model Summary (SARIMA_PSSGLog)).

Экспорт переменных в рабочую область

Экспорт PSSGLog, PSSGStable, и SARIMA_PSSGLog в рабочую область MATLAB.

  1. На вкладке Econometric Modeler в разделе Экспорт щелкните значок.

  2. В диалоговом окне «Экспорт переменных» установите флажки «Выбрать» для PSSGLog и PSSGStable временные ряды и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, подсвеченных в областях Временные ряды и Модели.

  3. Щелкните Экспорт (Export).

В командной строке перечислите все переменные в рабочей области.

whos
  Name                  Size            Bytes  Class        Attributes

  Data                144x1              1152  double                 
  DataTable           144x1              3192  timetable              
  Description          22x54             2376  char                   
  PSSGLog             144x1              1152  double                 
  PSSGStable          144x1              1152  double                 
  SARIMA_PSSGLog        1x1              7963  arima                  
  dates               144x1              1152  double                 
  series                1x1               162  cell                   

Содержание Data_Airline.mat, числовые векторы PSSGLog и PSSGStable, и оценочные arima объект модели SARIMA_PSSGLog - переменные в рабочей области.

Прогноз на ближайшие три года (36 месяцев) регистрации количества пассажиров авиакомпании с использованием SARIMA_PSSGLog. Укажите PSSGLog в качестве данных предварительного отбора.

numObs = 36;
fPSSG = forecast(SARIMA_PSSGLog,numObs,'Y0',PSSGLog);

Постройте график подсчета пассажиров и прогнозов.

fh = DataTable.Time(end) + calmonths(1:numObs);

figure;
plot(DataTable.Time,exp(PSSGLog));
hold on
plot(fh,exp(fPSSG));
legend('Airline Passenger Counts','Forecasted Counts',...
     'Location','best')
title('Monthly Airline Passenger Counts, 1949-1963')
ylabel('Passenger counts')
hold off

Создание функции обычного текста из сеанса приложения

Создание функции MATLAB для использования вне приложения. Функция возвращает оценочную модель SARIMA_PSSGLog данный DataTable.

  1. На панели Модели приложения выберите SARIMA_PSSGLog модель.

  2. На вкладке Econometric Modeler в разделе Экспорт выберите Экспорт > Создать функцию. Откроется редактор MATLAB, содержащий функцию с именем modelTimeSeries. Функция принимает DataTable (переменная, импортированная в этом сеансе), преобразует данные и возвращает оценочную модель SARIMA (0,1,1) × (0,1,1) 12SARIMA_PSSGLog.

  3. На вкладке «Редактор» выберите «Сохранить» > «Сохранить».

  4. Сохраните функцию в текущей папке, щелкнув Сохранить (Save) в диалоговом окне Выбрать файл для сохранения как (Select File for Save As).

В командной строке оцените модель SARIMA (0,1,1) × (0,1,1) 12 пропуском DataTable кому modelTimeSeries.m. Назовите модель SARIMA_PSSGLog2. Сравнение расчетной модели с SARIMA_PSSGLog.

SARIMA_PSSGLog2 = modelTimeSeries(DataTable);

summarize(SARIMA_PSSGLog)
summarize(SARIMA_PSSGLog2)
   ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)
 
    Effective Sample Size: 144
    Number of Estimated Parameters: 3
    LogLikelihood: 276.198
    AIC: -546.397
    BIC: -537.488
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0           NaN             NaN
    MA{1}        -0.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

 
 
 
   ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)
 
    Effective Sample Size: 144
    Number of Estimated Parameters: 3
    LogLikelihood: 276.198
    AIC: -546.397
    BIC: -537.488
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0           NaN             NaN
    MA{1}        -0.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

Как и ожидалось, модели идентичны.

Создать функцию Live из сеанса приложения

В отличие от функции обычного текста, функция live содержит форматированный текст и уравнения, которые можно изменить с помощью редактора Live Editor.

Создание активной функции для использования вне приложения. Функция возвращает расчетную модель SARIMA_PSSGLog данный DataTable.

  1. На панели Модели приложения выберите SARIMA_PSSGLog модель.

  2. На вкладке «Econometric Modeler» в разделе «Экспорт» выберите «Экспорт» > «Создать динамическую функцию». Откроется интерактивный редактор, содержащий функцию с именем modelTimeSeries. Функция принимает DataTable (переменная, импортированная в этом сеансе), преобразует данные и возвращает оценочную модель SARIMA (0,1,1) × (0,1,1) 12SARIMA_PSSGLog.

  3. На вкладке «Интерактивный редактор» в разделе «Файл» выберите «Сохранить» > «Сохранить».

  4. Сохраните функцию в текущей папке, щелкнув Сохранить (Save) в диалоговом окне Выбрать файл для сохранения как (Select File for Save As).

В командной строке оцените модель SARIMA (0,1,1) × (0,1,1) 12 пропуском DataTable кому modelTimeSeries.m. Назовите модель SARIMA_PSSGLog2. Сравнение расчетной модели с SARIMA_PSSGLog.

SARIMA_PSSGLog2 = modelTimeSeries(DataTable);

summarize(SARIMA_PSSGLog)
summarize(SARIMA_PSSGLog2)
   ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)
 
    Effective Sample Size: 144
    Number of Estimated Parameters: 3
    LogLikelihood: 276.198
    AIC: -546.397
    BIC: -537.488
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0                        NaN
    MA{1}        -0.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

 
 
 
   ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)
 
    Effective Sample Size: 144
    Number of Estimated Parameters: 3
    LogLikelihood: 276.198
    AIC: -546.397
    BIC: -537.488
 
                  Value      StandardError    TStatistic      PValue  
                _________    _____________    __________    __________

    Constant            0              0           NaN             NaN
    MA{1}        -0.37716       0.066794       -5.6466      1.6364e-08
    SMA{12}      -0.57238       0.085439       -6.6992      2.0952e-11
    Variance    0.0012634     0.00012395        10.193      2.1406e-24

Как и ожидалось, модели идентичны.

Создать отчет

Создание PDF-отчета обо всех ваших действиях на PSSGLog и PSSGStable временные ряды и SARIMA_PSSGLog модель.

  1. На вкладке Econometric Modeler в разделе Экспорт выберите Экспорт > Создать отчет.

  2. В диалоговом окне «Выбор переменных для отчета» установите флажки «Выбор» для PSSGLog и PSSGStable временные ряды и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, подсвеченных в областях Временные ряды и Модели.

  3. Нажмите кнопку ОК.

  4. В диалоговом окне «Выбор файла для записи» перейдите к C:\MyData папка.

  5. В поле Имя файла введите SARIMAReport.

  6. Нажмите кнопку Сохранить.

Приложение публикует код, необходимый для создания PSSGLog, PSSGStable, и SARIMA_PSSGLog в PDF C:\MyData\SARIMAReport.pdf. Отчет включает в себя:

  • Титульная страница и оглавление

  • Графики, включающие выбранный временной ряд

  • Описания преобразований, примененных к выбранному временному ряду

  • Результаты статистических тестов, проведенных по выбранным временным рядам

  • Оценочные сводки выбранных моделей

Ссылки

[1] Бокс, Джордж Э. П., Гвилим М. Дженкинс и Грегори К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

См. также

Приложения

Объекты

Функции

Связанные темы