Этот пример показывает, как совместно использовать результаты сеанса приложения Econometric Modeler:
Экспорт временных рядов и образцовых переменных к MATLAB® Workspace
Генерация простого текста MATLAB и живых функций, чтобы использовать вне приложения
Генерация отчета действий на временных рядах и оцененных моделях
Во время сеанса пример преобразовывает и отображает данные на графике, запускает статистические тесты и оценивает мультипликативную сезонную модель ARIMA. Набор данных, который хранится в mlr/examples/econ/Data_Airline.mat
, содержит ежемесячные количества авиапассажиров. Папка mlr
является значением matlabroot
.
В командной строке загрузите набор данных Data_Airline.mat
.
load(fullfile(matlabroot,'examples','econ','Data_Airline.mat'))
В командной строке откройте приложение Econometric Modeler.
econometricModeler
Также откройте приложение из галереи приложений (см. Econometric Modeler).
Импортируйте DataTable
в приложение:
На вкладке Econometric Modeler, в разделе Import, нажатии кнопки.
В диалоговом окне Import Data, в столбце Import?, устанавливают флажок для переменной DataTable
.
Нажмите Import.
Переменная PSSG
появляется в Data Browser, и его график временных рядов появляется в окне рисунка Time Series Plot(PSSG).
Ряд показывает сезонный тренд, последовательную корреляцию и возможный экспоненциальный рост. Для интерактивного анализа последовательной корреляции смотрите, Обнаруживают Последовательную Корреляцию Используя Приложение Econometric Modeler.
Обратитесь к экспоненциальному тренду путем применяния логарифмического преобразования к PSSG
.
В Data Browser выберите PSSG
.
На вкладке Econometric Modeler, в разделе Transforms, нажимают Log.
Преобразованная переменная PSSGLog
появляется в Data Browser, и его график временных рядов появляется в окне рисунка Time Series Plot(PSSGLog).
Экспоненциальный рост, кажется, удален из ряда.
Обратитесь к сезонному тренду путем применения 12-го порядка сезонное различие. С PSSGLog
, выбранным в Data Browser, на вкладке Econometric Modeler, в разделе Transforms, устанавливает Seasonal на 12
. Затем нажмите Seasonal.
Преобразованная переменная PSSGLogSeasonalDiff
появляется в Data Browser, и его график временных рядов появляется в окне рисунка Time Series Plot(PSSGLogSeasonalDiff).
Преобразованный ряд, кажется, имеет модульный корень.
Протестируйте нулевую гипотезу, что PSSGLogSeasonalDiff
имеет модульный корень при помощи Увеличенного Более полного Дики теста. Укажите, что альтернатива является моделью AR (0), затем протестируйте снова определение модели AR (1). Настройте уровень значения к 0,025, чтобы поддержать общий уровень значения 0,05.
С PSSGLogSeasonalDiff
, выбранным в Data Browser, на вкладке 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
, выбранным в Data Browser, кликните по вкладке Econometric Modeler. Затем в разделе Transforms нажмите Difference.
Преобразованная переменная PSSGLogSeasonalDiffDiff
появляется в Data Browser, и его график временных рядов появляется в окне рисунка Time Series Plot(PSSGLogSeasonalDiffDiff).
Переименуйте переменную PSSGLogSeasonalDiffDiff
к PSSGStable
:
В Data Browser щелкните правой кнопкой по PSSGLogSeasonalDiffDiff
.
В контекстном меню выберите Rename.
Введите PSSGStable
.
Обновления приложения имена всех документов сопоставлены с преобразованным рядом.
Определите структуру задержки для условной средней модели данных путем графического вывода демонстрационной автокорреляционной функции (ACF) и частичная автокорреляционная функция (PACF).
С PSSGStable
, выбранным в Data Browser, кликните по вкладке 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 моделей.
В Data Browser выберите временные ряды PSSGLog
.
На вкладке Econometric Modeler, в разделе 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
появляется в Data Browser, и его сводные данные оценки появляются в документе Model Summary(SARIMA_PSSGLog).
Экспортируйте PSSGLog
, PSSGStable
и SARIMA_PSSGLog
к рабочему пространству MATLAB.
На вкладке Econometric Modeler, в разделе Export, нажатии кнопки.
В диалоговом окне Export Variables установите флажки Select для PSSGLog
и временных рядов PSSGStable
и модели SARIMA_PSSGLog
(при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечены в Data Browser.
Нажмите 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
.
В Data Browser приложения выберите модель 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 Editor.
Сгенерируйте живую функцию для использования вне приложения. Функция возвращает предполагаемую модель SARIMA_PSSGLog
, данную DataTable
.
В Data Browser приложения выберите модель 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 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
(при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечены в Data Browser.
Нажмите OK.
В диалоговом окне Select File to Write перейдите к папке C:\MyData
.
В поле File name введите SARIMAReport
.
Нажмите Save.
Приложение публикует код, требуемый создать PSSGLog
, PSSGStable
и SARIMA_PSSGLog
в C:\MyData\SARIMAReport.pdf
PDF. Отчет включает в себя:
Титульный лист и оглавление
Графики, которые включают выбранные временные ряды
Описания преобразований применились к выбранному временному ряду
Результаты статистических тестов проведены на выбранных временных рядах
Сводные данные оценки выбранных моделей
[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ timeseries: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.