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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 th столбец 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 th строка X.

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