exponenta event banner

Создание регрессионных моделей с ошибками 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)

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)

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)

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 - гауссова с единичной дисперсией.

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 и инновациями

В этом примере показано, как задать для инновационного распределения регрессионной модели с ошибками 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-распределение со степенями свободы и единичной дисперсией по умолчанию.

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.

Укажите распределение 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)), но сохраняет куртоз распределения.

См. также

| | |

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

Подробнее