В этом примере показано, как поделиться результатами сеанса приложения Econometric Modeler по:
Экспорт временных рядов и переменных модели в MATLAB® Рабочая область
Генерация простого текста MATLAB и live функций для использования вне приложения
Генерация отчета о ваших действиях по временным рядам и оценочным моделям
Во время сеанса пример преобразует и строит графики данных, запускает статистические тесты и оценивает мультипликативную сезонную модель ARIMA. Набор данных Data_Airline.mat содержит ежемесячные подсчеты пассажиров авиакомпании.
В командной строке загрузите Data_Airline.mat набор данных.
load Data_AirlineВ командной строке откройте приложение Econometric Modeler.
econometricModeler
Также откройте приложение из галереи Apps (см. Econometric Modeler).
Импортируйте DataTable в приложение:
На вкладке Econometric Modeler, в разделе Import, нажмите.![]()
В Import Data окне в столбце Import? установите флажок для DataTable переменная.
Нажмите Import.
Переменная PSSG появляется на панели Time Series, его значение появляется на панели Preview, а график временных рядов появляется в Time Series Plot(PSSG) окне рисунка.

Серия демонстрирует сезонный тренд, последовательную корреляцию и возможный экспоненциальный рост. Интерактивный анализ последовательной корреляции см. в разделе Обнаружение последовательной корреляции с использованием приложения Econometric Modeler.
Адресовать экспоненциальный тренд, применив преобразование журнала к PSSG.
На панели Time Series выберите PSSG.
На вкладке 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.
С PSSGLogSeasonalDiff на панели Time Series, на вкладке Econometric Modeler, в разделе Tests, нажмите New Test > Augmented Dickey-Fuller Test.
На вкладке ADF, в разделе Parameters, установите Significance Level равным 0.025.
В Tests разделе нажмите Run Test.
В Parameters разделе установите Number of Lags равным 1.
В 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).
С PSSGStable на панели Time Series перейдите на вкладку Plots и нажмите ACF.
Отображение первых 50 лагов ACF. На вкладке ACF установите Number of Lags равным 50.
Перейдите на вкладку Plots и нажмите PACF.
Показать первые 50 лагов PACF. На вкладке PACF установите Number of Lags равным 50.
Перетащите ACF(PSSGStable) окно рисунка над PACF(PSSGStable) окном рисунка.

Согласно [1], автокорреляции в ACF и PACF предполагают, что следующая модель SARIMA (0,1,1) × (0,1,1) 12 подходит для PSSGLog.
Закройте все окна рисунка.
Задайте модель SARIMA (0,1,1) × (0,1,1) 12.
На панели Time Series выберите PSSGLog временные ряды.
На вкладке Econometric Modeler, в разделе Models, щелкните стреле, чтобы отобразить галерею моделей.
В галерее моделей, в ARMA/ARIMA Models разделе, нажмите SARIMA.
В диалоговом окне SARIMA Model Parameters на вкладке Lag Order:
Nonseasonal раздел
Установите Degrees of Integration значение 1.
Установите Moving Average Order значение 1.
Снимите флажок Include Constant Term.
Seasonal раздел
Установите Period значение 12 для указания ежемесячных данных.
Установите Moving Average Order значение 1.
Установите флажок Include Seasonal Difference.

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

Экспорт PSSGLog, PSSGStable, и SARIMA_PSSGLog на Рабочее пространство MATLAB.
На вкладке Econometric Modeler, в разделе Export, нажмите.![]()
В диалоговом окне Export Variables установите флажки Select для PSSGLog и PSSGStable временных рядов и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечиваются в панелях Time Series и Models.

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

На вкладке Editor щелкните Save > Save.
Сохраните функцию в текущей папке, нажав 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 Editor.
Сгенерируйте live функцию для использования вне приложения. Функция возвращает предполагаемую модель SARIMA_PSSGLog заданные DataTable.
На панели Models приложения выберите SARIMA_PSSGLog модель.
На вкладке Econometric Modeler, в разделе Export, нажмите Export > Generate Live Function. Откроется Live Editor, содержащий функцию с именем modelTimeSeries. Функция принимает DataTable (переменная, импортированная вами в этом сеансе), преобразует данные и возвращает предполагаемую модель SARIMA (0,1,1) × (0,1,1) 12 SARIMA_PSSGLog.

На вкладке Live Editor, в разделе File, нажмите Save > Save.
Сохраните функцию в текущей папке, нажав 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 модель.
На вкладке Econometric Modeler, в разделе Export, нажмите Export > Generate Report.
В диалоговом окне Select Variables for Report установите флажки Select для PSSGLog и PSSGStable временных рядов и SARIMA_PSSGLog модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечиваются в панелях Time Series и Models.

Нажмите OK.
В диалоговом окне Select File to Write перейдите к C:\MyData папка.
В File name поле введите SARIMAReport.
Нажмите 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.