В этом примере показано, как задать регрессионую модель с мультипликативными сезонными ошибками ARIMA.
Загрузите набор данных Airline из корневой папки MATLAB ® и загрузите набор данных о рецессии. Постройте график ежемесячных итоговых и логарифмических сумм пассажиров.
load('Data_Airline.mat') load Data_Recessions; y = Data; logY = log(y); figure subplot(2,1,1) plot(y) title('{\bf Monthly Passenger Totals (Jan1949 - Dec1960)}') datetick subplot(2,1,2) plot(log(y)) title('{\bf Monthly Passenger Log-Totals (Jan1949 - Dec1960)}') datetick

Преобразование журнала, по-видимому, линеаризирует временные ряды.
Создайте этот предиктор, который заключается в том, была ли страна в рецессии в течение выбранного периода. 0 означает, что страна не была в рецессии, и 1 означает, что это было в рецессии.
X = zeros(numel(dates),1); % Preallocation for j = 1:size(Recessions,1) X(dates >= Recessions(j,1) & dates <= Recessions(j,2)) = 1; end
Подбирайте простую линейную регрессионую модель,
к данным.
Fit = fitlm(X,logY);
Fit является LinearModel который содержит оценки методом наименьших квадратов.
Выполните остаточную диагностику путем построения графиков невязок несколькими способами.
figure subplot(2,2,1) plotResiduals(Fit,'caseorder','ResidualType','Standardized',... 'LineStyle','-','MarkerSize',0.5) h = gca; h.FontSize = 8; subplot(2,2,2) plotResiduals(Fit,'lagged','ResidualType','Standardized') h = gca; h.FontSize = 8; subplot(2,2,3) plotResiduals(Fit,'probability','ResidualType','Standardized') h = gca; h.YTick = h.YTick(1:2:end); h.YTickLabel = h.YTickLabel(1:2:end,:); h.FontSize = 8; subplot(2,2,4) plotResiduals(Fit,'histogram','ResidualType','Standardized') h = gca; h.FontSize = 8;

r = Fit.Residuals.Standardized; figure subplot(2,1,1) autocorr(r) h = gca; h.FontSize = 9; subplot(2,1,2) parcorr(r) h = gca; h.FontSize = 9;

Остаточные графики показывают, что невязки автокоррелированы. График вероятностей и гистограмма, по-видимому, указывают, что невязки Гауссовы.
ACF невязок подтверждает, что они автокоррелированы.
Возьмите 1-ое различие невязок и постройте график ACF и PACF дифференцированных невязок.
dR = diff(r); figure subplot(2,1,1) autocorr(dR,'NumLags',50) h = gca; h.FontSize = 9; subplot(2,1,2) parcorr(dR,'NumLags',50) h = gca; h.FontSize = 9;

ACF показывает, что существуют значительно большие автокорреляции, особенно при каждой 12-й задержке. Это указывает, что невязки имеют сезонное интегрирование 12-й степени.
Возьмем первое и 12-е различия невязок. Постройте график дифференцированных невязок и их ACF и PACF.
DiffPoly = LagOp([1 -1]); SDiffPoly = LagOp([1 -1],'Lags',[0, 12]); diffR = filter(DiffPoly*SDiffPoly,r); figure subplot(2,1,1) plot(diffR) axis tight subplot(2,2,3) autocorr(diffR) axis tight h = gca; h.FontSize = 7; subplot(2,2,4) parcorr(diffR) axis tight h = gca; h.FontSize = 7;

Невязки напоминают белый шум (с возможной гетероскедастичностью). Согласно Box and Jenkins (1994), глава 9, ACF и PACF указывают, что безусловные нарушения порядка являются модель.
Задайте регрессионую модель с ошибки:
Mdl = regARIMA('MALags',1,'D',1,'Seasonality',12,'SMALags',12)
Mdl =
regARIMA with properties:
Description: "ARIMA(0,1,1) Error Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)"
Distribution: Name = "Gaussian"
Intercept: NaN
Beta: [1×0]
P: 13
D: 1
Q: 13
AR: {}
SAR: {}
MA: {NaN} at lag [1]
SMA: {NaN} at lag [12]
Seasonality: 12
Variance: NaN
Mdl является регрессионной моделью с ошибки. По умолчанию нововведения являются Гауссовыми, и все параметры NaN. Свойство:
P = p + D + + s = 0 + 1 + 0 + 12 = 13.
Q = q + = 1 + 12 = 13.
Поэтому программное обеспечение требует, по меньшей мере, 13 предварительных наблюдений, чтобы инициализировать модель.
Передайте Mdl, y, и X в estimate для оценки модели. В порядок для моделирования или прогнозирования ответов с помощью simulate или forecastнеобходимо задать значения для всех параметров.
Ссылки:
Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.
estimate | forecast | LinearModel | regARIMA | simulate