exponenta event banner

Оценка моделей ARIMA

В этом примере показано, как оценить авторегрессивные модели интегрированного скользящего среднего (ARIMA).

Иногда требуются модели временных рядов, содержащих нестационарные тренды (сезонность). Одной из категорий таких моделей являются модели ARIMA. Эти модели содержат фиксированный интегратор в источнике шума. Таким образом, если управляющее уравнение модели ARMA выражено как A (q) y (t) = Ce (t), где A (q) представляет авторегрессионный член, а C (q) член скользящего среднего, соответствующая модель модели ARIMA выражается как

A (q) y (t) = C (q) (1-q-1) e (t)

где член 11-q-1 представляет дискретно-временной интегратор. Аналогично, можно сформулировать уравнения для моделей ARI и ARIX.

Использование команд оценки модели временных рядов ar, arx и armax вы можете ввести интеграторы в источник шума e(t). Вы делаете это с помощью IntegrateNoise параметр в команде оценки.

Подход оценки не учитывает каких-либо постоянных смещений в данных временных рядов. Возможность введения интегратора шума не ограничивается только данными временных рядов. Это также можно сделать для моделей «вход-выход», в которых нарушения могут быть подвержены сезонности. Одним из примеров являются полиномиальные модели структуры ARIMAX:

A (q) y (t) = B (q) u (t) + C (q) (1-q-1) e (t)

См. раздел armax справочная страница для примеров.

Оцените модель ARI для скалярного временного ряда с линейным трендом.

load iddata9 z9
Ts = z9.Ts;
y = cumsum(z9.y);
model = ar(y,4,'ls','Ts',Ts,'IntegrateNoise', true);
% 5 step ahead prediction
compare(y,model,5)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Validation data (y1), model: 78.76%.

Оцените многомерную модель временных рядов таким образом, чтобы интеграция шума присутствовала только в одном из двух временных рядов.

load iddata9 z9
Ts = z9.Ts;
y = z9.y;
y2 = cumsum(y);
% artificially construct a bivariate time series
data = iddata([y, y2],[],Ts); na = [4 0; 0 4];
nc = [2;1];
model1 = armax(data, [na nc], 'IntegrateNoise',[false; true]);
% Forecast the time series 100 steps into future
yf = forecast(model1,data(1:100), 100);
plot(data(1:100),yf)

Figure contains 2 axes. Axes 1 with title y1 contains 2 objects of type line. These objects represent untitled1, yf. Axes 2 with title y2 contains 2 objects of type line. These objects represent untitled1, yf.

Если выходы были соединены ( na не была диагональной матрицей), ситуация будет более сложной и просто добавить интегратор ко второму шумовому каналу не получится.