Создайте модели регрессии с ошибками ARIMA

Модель регрессии по умолчанию с ошибками ARIMA

Этот пример показывает, как применить краткий синтаксис regARIMA(p,D,q), чтобы задать модель регрессии с ошибками ARIMA.

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

yt=c+Xtβ+ut(1-a1L-a2L2-a3L3)(1-L)ut=(1+b1L+b2L2)εt.

Mdl = regARIMA(3,1,2)
Mdl = 
  regARIMA with properties:

     Description: "ARIMA(3,1,2) Error Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: NaN
            Beta: [1×0]
               P: 4
               D: 1
               Q: 2
              AR: {NaN NaN NaN} at lags [1 2 3]
             SAR: {}
              MA: {NaN NaN} at lags [1 2]
             SMA: {}
        Variance: NaN

Программное обеспечение устанавливает каждый параметр на NaN и инновационное распределение к Gaussian. Коэффициенты AR в задержках 1 - 3, и коэффициенты MA в задержках 1 и 2. Свойство P = p + D = 3 + 1 = 4. Поэтому программное обеспечение требует, чтобы по крайней мере четыре преддемонстрационных значения инициализировали временные ряды.

Передайте Mdl в estimate с данными, чтобы оценить набор параметров к NaN. Модель regARIMA устанавливает Beta на [] и не отображает его. Если вы передаете матрицу предикторов (Xt) в estimate затем estimate оценивает Beta. Функция estimate выводит количество коэффициентов регрессии в Beta от количества столбцов в Xt.

Задачи, такие как симуляция и предсказывающий использование simulate и forecast не принимают модели по крайней мере с одним NaN для значения параметров. Используйте запись через точку, чтобы изменить значения параметров.

Следует иметь в виду, что прерывание модели регрессии (Intercept) не идентифицируется в моделях регрессии с ошибками ARIMA. Если вы хотите к estimate Mdl, то необходимо установить Intercept на использование значения, например, запись через точку. В противном случае estimate может возвратить побочную оценку Intercept.

Ошибочная модель ARIMA без прерывания

Этот пример показывает, как задать модель регрессии с ошибками ARIMA без прерывания регрессии.

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

yt=Xtβ+ut(1-a1L-a2L2-a3L3)(1-L)ut=(1+b1L+b2L2)εt.

Mdl = regARIMA('ARLags',1:3,'MALags',1:2,'D',1,'Intercept',0)
Mdl = 
  regARIMA with properties:

     Description: "ARIMA(3,1,2) Error Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: 0
            Beta: [1×0]
               P: 4
               D: 1
               Q: 2
              AR: {NaN NaN NaN} at lags [1 2 3]
             SAR: {}
              MA: {NaN NaN} at lags [1 2]
             SMA: {}
        Variance: NaN

Программное обеспечение устанавливает Intercept на 0, но все другие параметры в Mdl являются значениями NaN по умолчанию.

Поскольку Intercept не является NaN, это - ограничение равенства во время оценки. Другими словами, если вы передаете Mdl и данные в estimate, затем estimate устанавливает Intercept на 0 во время оценки.

В целом, если вы хотите использовать estimate, чтобы оценить регрессию модели с ошибками ARIMA, где D> 0 или s> 0, затем необходимо установить Intercept на значение перед оценкой.

Можно изменить свойства Mdl с помощью записи через точку.

Ошибочная модель ARIMA с непоследовательными задержками

Этот пример показывает, как задать модель регрессии с ошибками ARIMA, где ненулевой AR и условия MA в непоследовательных задержках.

Задайте модель регрессии с ARIMA (8,1,4) ошибки:

\beginarraycy_t = X_t\beta u_t \(1 - a_1L - a_4L^4 - a_8L^8) (1 - L) u_t = (1 + b_1L + b_4L^4) \varepsilon _t.

Mdl = regARIMA('ARLags',[1,4,8],'D',1,'MALags',[1,4],...
    'Intercept',0)
Mdl = 
  regARIMA with properties:

     Description: "ARIMA(8,1,4) Error Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: 0
            Beta: [1×0]
               P: 9
               D: 1
               Q: 4
              AR: {NaN NaN NaN} at lags [1 4 8]
             SAR: {}
              MA: {NaN NaN} at lags [1 4]
             SMA: {}
        Variance: NaN

Коэффициенты AR в задержках 1, 4, и 8, и коэффициенты MA в задержках 1 и 4. Программное обеспечение устанавливает временные задержки на 0.

Передайте Mdl и данные в estimate. Программное обеспечение оценивает все параметры, которые имеют значение NaN. Затем estimate содержит все временные коэффициенты задержки к 0 во время оценки.

Известные значения параметров для модели регрессии с ошибками ARIMA

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

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

yt=Xt[2.5-0.6]+ut(1-0.7L+0.3L2-0.1L3)(1-L)ut=(1+0.5L+0.2L2)εt,

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

Mdl = regARIMA('Intercept',0,'Beta',[2.5; -0.6],...
    'AR',{0.7, -0.3, 0.1},'MA',{0.5, 0.2},...
    'Variance',1,'D',1)
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARIMA(3,1,2) Error Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
       Intercept: 0
            Beta: [2.5 -0.6]
               P: 4
               D: 1
               Q: 2
              AR: {0.7 -0.3 0.1} at lags [1 2 3]
             SAR: {}
              MA: {0.5 0.2} at lags [1 2]
             SMA: {}
        Variance: 1

Параметры в Mdl не содержат значения NaN, и поэтому нет никакой потребности оценить его. Однако можно моделировать или предсказать ответы путем передачи Mdl simulate или forecast.

Модель регрессии с Ошибками ARIMA и t Инновациями

Этот пример показывает, как установить инновационное распределение модели регрессии с ошибками ARIMA к t распределению.

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

yt=Xt[2.5-0.6]+ut(1-0.7L+0.3L2-0.1L3)(1-L)ut=(1+0.5L+0.2L2)εt,

где εt имеет t распределение со степенями свободы по умолчанию и модульным отклонением.

Mdl = regARIMA('Intercept',0,'Beta',[2.5; -0.6],...
    'AR',{0.7, -0.3, 0.1},'MA',{0.5, 0.2},'Variance',1,...
    'Distribution','t','D',1)
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARIMA(3,1,2) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = NaN
       Intercept: 0
            Beta: [2.5 -0.6]
               P: 4
               D: 1
               Q: 2
              AR: {0.7 -0.3 0.1} at lags [1 2 3]
             SAR: {}
              MA: {0.5 0.2} at lags [1 2]
             SMA: {}
        Variance: 1

Степенями свободы по умолчанию является NaN. Если вы не знаете степеней свободы, то можно оценить его путем передачи Mdl и данных к estimate.

Задайте a t10 распределение.

Mdl.Distribution = struct('Name','t','DoF',10)
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARIMA(3,1,2) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = 10
       Intercept: 0
            Beta: [2.5 -0.6]
               P: 4
               D: 1
               Q: 2
              AR: {0.7 -0.3 0.1} at lags [1 2 3]
             SAR: {}
              MA: {0.5 0.2} at lags [1 2]
             SMA: {}
        Variance: 1

Можно моделировать или предсказать ответы путем передачи Mdl simulate или forecast, потому что Mdl полностью задан.

В приложениях, таких как симуляция, программное обеспечение нормирует случайные t инновации. Другими словами, Variance заменяет теоретическое отклонение t случайной переменной (который является DoF / (DoF - 2)), но сохраняет эксцесс распределения.

Смотрите также

| | |

Связанные примеры

Больше о