arima

Класс: regARIMA

Преобразуйте регрессионую модель с ошибками ARIMA в модель ARIMAX

Синтаксис

ARIMAX = arima(Mdl)
[ARIMAX,XNew] = arima(Mdl,Name,Value)

Описание

arima функция объекта преобразует заданную регрессионую модель с ошибками ARIMA (regARIMA объект модели) к эквивалентной модели ARIMAX (arima объект модели). Для создания модели ARIMAX непосредственно смотрите arima.

ARIMAX = arima(Mdl) преобразует одномерную регрессионую модель с ошибками временных рядов ARIMA Mdl в модель типа arima включая регрессионный компонент (ARIMAX).

[ARIMAX,XNew] = arima(Mdl,Name,Value) возвращает обновленную регрессионную матрицу данных предиктора с помощью дополнительных опций, заданных одним или несколькими Name,Value аргументы в виде пар.

Входные параметры

Mdl

Регрессионная модель с ошибками временных рядов ARIMA, созданная regARIMA или estimate.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

'X'

Данные предиктора для регрессионного компонента Mdl, заданная как разделенная разделенными запятой парами, состоящая из 'X' и матрицу.

Последняя строка X содержит последнее наблюдение за каждой серией.

Каждый столбец X является отдельными временными рядами.

Выходные аргументы

ARIMAX

Модель ARIMAX, эквивалентная регрессионой с ошибками ARIMA Mdl, возвращенный как модель типа arima.

XNew

Обновленная матрица данных предиктора для регрессионного компонента ARIMAX, возвращается как матрица.

XNew имеет одинаковое число строк как X. Последняя строка XNew содержит последнее наблюдение за каждой серией.

Каждый столбец XNew является отдельными временными рядами. Количество столбцов XNew является одним плюс количество ненулевых авторегрессионных коэффициентов в разностном уравнении Mdl.

Примеры

расширить все

Преобразуйте регрессионую модель с ошибками ARMA (4,1) в модель ARIMAX с помощью arima конвертер.

Задайте регрессионую модель с ошибками ARMA (4,1):

yt=1+0.5Xt+utut=0.8ut-1-0.4ut-4+εt+0.3εt-1,

где εt является Гауссовым со средним 0 и отклонением 1.

Mdl = regARIMA('AR',{0.8, -0.4},'MA',0.3,...
    'ARLags',[1 4],'Intercept',1,'Beta',0.5,...
    'Variance',1)
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARMA(4,1) Error Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: 1
            Beta: [0.5]
               P: 4
               Q: 1
              AR: {0.8 -0.4} at lags [1 4]
             SAR: {}
              MA: {0.3} at lag [1]
             SMA: {}
        Variance: 1

Можно проверить, что лаги авторегрессивных терминов 1 и 4 в AR строка.

Сгенерируйте случайные данные предиктора.

rng(1); % For reproducibility
T = 20;
X = randn(T,1);

Преобразование Mdl в модель ARIMAX.

[ARIMAX,XNew] = arima(Mdl,'X',X);
ARIMAX
ARIMAX = 
  arima with properties:

     Description: "ARIMAX(4,0,1) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 4
               D: 0
               Q: 1
        Constant: 0.6
              AR: {0.8 -0.4} at lags [1 4]
             SAR: {}
              MA: {0.3} at lag [1]
             SMA: {}
     Seasonality: 0
            Beta: [1 -0.8 0.4]
        Variance: 1

Новая arima модель, ARIMAXявляется

yt=0.6+ZtΓ+0.8yt-1-0.4yt-4+εt+0.3εt-1,

где

ZtΓ=[0.5x1NaNNaN0.5x20.5x1NaN0.5x30.5x2NaN0.5x40.5x3NaN0.5x50.5x40.5x10.5T0.5xT-10.5xT-4][1-0.80.4]

и xj - строка j X. Поскольку продукт авторегрессионных и интеграционных полиномов является ϕ(L)=(1-0.8L+0.4L4), ARIMAX.Beta просто [1 -0.8 0.4]. Обратите внимание, что программное обеспечение переносит авторегрессивный и скользящий средние коэффициенты от Mdl на ARIMAX. Кроме того, Mdl.Intercept = 1 и ARIMAX.Constant = (1 - 0,8 + 0,4) (1) = 0,6, т.е. regARIMA моделирования точки пересечения и arima модели константы, как правило, неравны.

Преобразуйте регрессионую модель с сезонными ошибками ARIMA в модель ARIMAX с помощью arima конвертер.

Задайте регрессионую модель с ARIMA(2,1,1)×(1,1,0)2 ошибки:

yt=Xt[-21]+ut(1-0.3L+0.15L2)(1-L)(1-0.2L2)(1-L2)ut=(1+0.1L)εt,

где εt является Гауссовым со средним 0 и отклонением 1.

Mdl = regARIMA('AR',{0.3, -0.15},'MA',0.1,...
    'ARLags',[1 2],'SAR',0.2,'SARLags',2,...
    'Intercept',0,'Beta',[-2; 1],'Variance',1,'D',1,...
    'Seasonality',2)
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARIMA(2,1,1) Error Model Seasonally Integrated with Seasonal AR(2) (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: 0
            Beta: [-2 1]
               P: 7
               D: 1
               Q: 1
              AR: {0.3 -0.15} at lags [1 2]
             SAR: {0.2} at lag [2]
              MA: {0.1} at lag [1]
             SMA: {}
     Seasonality: 2
        Variance: 1

Сгенерируйте данные предиктора.

rng(1); % For reproducibility
T = 20;
X = randn(T,2);

Преобразование Mdl в модель ARIMAX.

[ARIMAX,XNew] = arima(Mdl,'X',X);
ARIMAX
ARIMAX = 
  arima with properties:

     Description: "ARIMAX(2,1,1) Model Seasonally Integrated with Seasonal AR(2) (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 7
               D: 1
               Q: 1
        Constant: 0
              AR: {0.3 -0.15} at lags [1 2]
             SAR: {0.2} at lag [2]
              MA: {0.1} at lag [1]
             SMA: {}
     Seasonality: 2
            Beta: [1 -1.3 -0.75 1.41 -0.34 -0.08 0.09 -0.03]
        Variance: 1

Mdl.Beta имеет длину 2, но ARIMAX.Beta имеет длину 8. Это потому, что продукт авторегрессивных и интеграционных полиномов, ϕ(L)(1-L)Φ(L)(1-Ls)является

1-1.3L-0.75L2+1.41L3-0.34L4-0.08L5+0.09L6-0.03L7.

Вы можете увидеть, что, когда вы добавляете сезонность, сезонные термины задержки и интегрирование с моделью, размер XNew может вырасти довольно большим. Такое преобразование может не быть идеальным для анализа с небольшими размерами выборки.

Алгоритмы

Позвольте X обозначить матрицу конкатенированных векторов данных предиктора (или матрицы проекта) и β обозначить регрессионный компонент для регрессионной модели с ошибками ARIMA, Mdl.

  • Если вы задаете X, затем arima возвращает XNew в определенном формате. Предположим, что ненулевая авторегрессионная задержка, терминал степеней Mdl 0 < a 1 < a 2 <... < P, что является наибольшей степенью задержки. Программное обеспечение получает эти задержки в степенях путем расширения и уменьшения продукта сезонных и несезонных авторегрессивных полиномов задержки, и сезонных и несезонных полиномов задержки интегрирования

    ϕ(L)(1L)DΦ(L)(1Ls).

    • Первый столбец XNew является .

    • Второй столбец XNew является последовательностью a 1 NaNs, а затем продукт Xa1β, где Xa1β=La1Xβ.

    • j-й столбец XNew является последовательностью aj NaNs, а затем продукт Xajβ, где Xajβ=LajXβ.

    • Последний столбец XNew является последовательностью ap NaNs, а затем продукт Xpβ, где Xpβ=LpXβ.

    Предположим, что Mdl является регрессионной моделью с ошибками ARIMA (3,1,0) и ϕ 1 = 0,2 и ϕ 3 = 0,05. Тогда продукт полиномов авторегрессии и задержки интегрирования является

    (10.2L0.05L3)(1L)=11.2L+0.02L20.05L3+0.05L4.

    Это подразумевает, что ARIMAX.Beta является [1 -1.2 0.02 -0.05 0.05] и XNew является

    [x1βNaNNaNNaNNaNx2βx1βNaNNaNNaNx3βx2βx1βNaNNaNx4βx3βx2βx1βNaNx5βx4βx3βx2βx1βxTβxT1βxT2βxT3βxT4β],

    где xj - j-я строка X.

  • Если вы не задаете X, затем arima возвращает XNew как пустая матрица без строк и один плюс количество ненулевых авторегрессионных коэффициентов в разностном уравнении Mdl столбцы.