arima

Класс: regARIMA

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

Синтаксис

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

Описание

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

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

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

Mdl

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 NaN s, и затем продукт Xa1β, где Xa1β=La1Xβ.

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

    • Последний столбец XNew является последовательностью ap NaN s, и затем продукт 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 th строка X.

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