В этом примере показано, как совместно использовать результаты сеанса приложения 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
имеет модульный корень при помощи Увеличенного Более полного Дики теста. Укажите, что альтернатива является моделью 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
модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечены в панелях Models и Time Series.
Нажмите 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
модель (при необходимости). Приложение автоматически устанавливает флажки для всех переменных, которые подсвечены в панелях Models и Time Series.
Нажмите OK.
В диалоговом окне Select File to Write перейдите к C:\MyData
папка.
В поле File name введите SARIMAReport
.
Нажмите Save.
Приложение публикует код, требуемый создать PSSGLog
, PSSGStable
, и SARIMA_PSSGLog
в C:\MyData\SARIMAReport.pdf
PDF. Отчет включает в себя:
Титульный лист и оглавление
Графики, которые включают выбранные временные ряды
Описания преобразований применились к выбранным временным рядам
Результаты статистических тестов проведены на выбранных временных рядах
Сводные данные оценки выбранных моделей
[1] Поле, Джордж Э. П., Гвилим М. Дженкинс и Грегори К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.