В этом примере показано, как поделиться результатами сеанса приложения 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.