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

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

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

  • Генерация простого текста MATLAB и live функций для использования вне приложения

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

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

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

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

load Data_Airline

В командной строке откройте приложение 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, а его график временных рядов появляется в Time Series Plot(PSSGLog) окне рисунка.

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

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

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

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

Проверьте нулевую гипотезу, что 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, в разделе Parameters, установите Significance Level равным 0.025.

  3. В Tests разделе нажмите Run Test.

  4. В Parameters разделе установите Number of Lags равным 1.

  5. В Tests разделе нажмите Run Test.

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

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

Адресовать корень модуля, применив первое различие к PSSGLogSeasonalDiff. С PSSGLogSeasonalDiff на панели Time Series щелкните вкладку Econometric Modeler. Затем в Transforms разделе нажмите Difference.

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

На панели Time Series переименуйте 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.

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

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

Задайте и оцените модель SARIMA

Задайте модель SARIMA (0,1,1) × (0,1,1) 12.

  1. На панели Time Series выберите PSSGLog временные ряды.

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

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

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

    • Nonseasonal раздел

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

      2. Установите Moving Average Order значение 1.

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

    • Seasonal раздел

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

      2. Установите Moving Average Order значение 1.

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

  5. Нажмите Estimate.

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

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

Экспорт PSSGLog, PSSGStable, и SARIMA_PSSGLog на Рабочее пространство MATLAB.

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

  2. В диалоговом окне Export Variables установите флажки Select для PSSGLog и PSSGStable временных рядов и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечиваются в панелях Time Series и Models.

  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. На панели Models приложения выберите SARIMA_PSSGLog модель.

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

  3. На вкладке Editor щелкните Save > Save.

  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 функцию из App Сеанса

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

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

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

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

  3. На вкладке Live Editor, в разделе File, нажмите Save > Save.

  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, в разделе Export, нажмите Export > Generate Report.

  2. В диалоговом окне Select Variables for Report установите флажки Select для PSSGLog и PSSGStable временных рядов и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечиваются в панелях Time Series и Models.

  3. Нажмите OK.

  4. В диалоговом окне Select File to Write перейдите к C:\MyData папка.

  5. В File name поле введите SARIMAReport.

  6. Нажмите Save.

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

  • A заголовка страница и таблица содержимого

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

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

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

  • Сводные данные оценок выбранных моделей

Ссылки

[1] Box, George E. P., Gwilym M. Jenkins, and Gregory C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.

См. также

Приложения

Объекты

Функции

Похожие темы

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