Совместно используйте результаты сеанса приложения 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 имеет модульный корень при помощи Увеличенного Более полного Дики теста. Укажите, что альтернатива является моделью 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 модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечены в панелях Models и Time Series.

  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 функцию от сеанса приложения

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

  3. Нажмите OK.

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

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

  6. Нажмите Save.

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

  • Титульный лист и оглавление

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

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

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

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

Ссылки

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

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

Приложения

Объекты

Функции

Похожие темы