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

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

В этом примере показано, как применить shorthand 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. The regARIMA наборы моделей Beta на [] и не отображает его. Если вы передаете матрицу предикторов (Xt) в estimate, затем estimate оценки Beta. The 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 ):

yt=Xtβ+ut(1-a1L-a4L4-a8L8)(1-L)ut=(1+b1L+b4L4)ε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)), но сохраняет куртоз распределения.

См. также

| | |

Похожие примеры

Подробнее о