Изменение свойств модели regARIMA

Изменение свойств с помощью записи через точку

Если вы создаете регрессионую модель с ошибками ARIMA с помощью regARIMAзатем программа присваивает значения всем своим свойствам. Чтобы изменить любое из этих значений свойств, вам не нужно восстанавливать целую модель. Можно изменить значения свойств существующей модели с помощью записи через точку. Чтобы получить доступ к свойству, введите имя модели, затем имя свойства, разделенное '|.|' (точка).

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

yt=c+ut(1-ϕ1L-ϕ2L2-ϕ3L3)(1-L)Dut=(1+θ1L+θ2L2)εt.

Mdl = regARIMA(3,1,2);

Используйте обозначение массива ячеек, чтобы задать значения параметров авторегрессивного и скользящего среднего.

Mdl.AR = {0.2 0.1 0.05};
Mdl.MA = {0.1 -0.05}
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: {0.2 0.1 0.05} at lags [1 2 3]
             SAR: {}
              MA: {0.1 -0.05} at lags [1 2]
             SMA: {}
        Variance: NaN

Используйте запись через точку для отображения авторегрессионных коэффициентов Mdl в Командном окне.

ARCoeff = Mdl.AR
ARCoeff=1×3 cell array
    {[0.2000]}    {[0.1000]}    {[0.0500]}

ARCoeff - массив ячеек 1 на 3. Каждая последующая камера содержит следующие авторегрессивные лаги.

Можно также добавить больше коэффициентов задержки.

Mdl.MA = {0.1 -0.05 0.01}
Mdl = 
  regARIMA with properties:

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

По умолчанию спецификация устанавливает новый коэффициент на следующую последовательную задержку. Сложение нового коэффициента увеличивается Q по 1.

Можно задать коэффициент задержки для определенного термина задержки при помощи индексации камер.

Mdl.AR{12} = 0.01
Mdl = 
  regARIMA with properties:

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

Авторегрессионный коэффициент 0.01 расположен на 12-й задержке. Свойства P увеличивается до 13 с новой спецификацией.

Установите распределение инноваций в распределение t с NaN степени свободы.

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

     Description: "ARIMA(12,1,3) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = NaN
       Intercept: NaN
            Beta: [1×0]
               P: 13
               D: 1
               Q: 3
              AR: {0.2 0.1 0.05 0.01} at lags [1 2 3 12]
             SAR: {}
              MA: {0.1 -0.05 0.01} at lags [1 2 3]
             SMA: {}
        Variance: NaN

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

Чтобы задать коэффициент регрессии, присвойте вектор свойству Beta.

Mdl.Beta = [1; 3; -5]
Mdl = 
  regARIMA with properties:

     Description: "Regression with ARIMA(12,1,3) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = NaN
       Intercept: NaN
            Beta: [1 3 -5]
               P: 13
               D: 1
               Q: 3
              AR: {0.2 0.1 0.05 0.01} at lags [1 2 3 12]
             SAR: {}
              MA: {0.1 -0.05 0.01} at lags [1 2 3]
             SMA: {}
        Variance: NaN

Если вы сдаете Mdl в estimate с помощью данных отклика и трех рядов предикторов, затем программное обеспечение фиксирует параметры non-|NaN| по их значениям и оценивает Intercept, Variance, и DoF. Например, если вы хотите симулировать данные из этой модели, то вы должны задать Variance и DoF.

Немодифицируемые свойства

Не все свойства regARIMA модель изменяема. Чтобы изменить их непосредственно, необходимо переопределить модель с помощью regARIMA. Немодифицируемые свойства включают:

  • P, которая является составной авторегрессионной полиномиальной степенью. Программное обеспечение определяет P от p, d, ps и s. Для получения дополнительной информации о записи смотрите Регрессионую модель с ошибками временных рядов ARIMA.

  • Q, которая является составной средней степенью скольжения. Программное обеспечение определяет Q от q и qs

  • DoF, который является степенями свободы для моделей, имеющих t - распределенный инновационный процесс

Хотя они не являются явными свойствами, вы не можете переназначить или распечатать структуру задержки с помощью ARLags, MALags, SARLags, или SMALags. Передайте эти и структуру задержки в regARIMA как аргументы пары "имя-значение", когда вы задаете модель.

Для примера задайте регрессионую модель с ошибками ARIMA (4,1), используя regARIMA, где авторегрессионные коэффициенты происходят при лагах 1 и 4.

Mdl = regARIMA('ARLags',[1 4],'MALags',1)
Mdl = 
  regARIMA with properties:

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

Можно получить те же результаты, задав регрессионую модель с ошибками ARMA (1,1), затем добавив авторегрессивный коэффициент в четвертой задержке.

Mdl = regARIMA(1,0,1);
Mdl.AR{4} = NaN
Mdl = 
  regARIMA with properties:

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

Изменение значения DoFнеобходимо задать новую структуру для распределения и использовать запись через точку, чтобы передать ее в модель. Например, определите модель регресса с AR (1) ошибки, имеющие t - распределенные инновации.

Mdl = regARIMA('AR',0.5,'Distribution','t')
Mdl = 
  regARIMA with properties:

     Description: "ARMA(1,0) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = NaN
       Intercept: NaN
            Beta: [1×0]
               P: 1
               Q: 0
              AR: {0.5} at lag [1]
             SAR: {}
              MA: {}
             SMA: {}
        Variance: NaN

Значение DoF является NaN по умолчанию.

Задайте, что распределение t имеет 10 степеней свободы.

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

     Description: "ARMA(1,0) Error Model (t Distribution)"
    Distribution: Name = "t", DoF = 10
       Intercept: NaN
            Beta: [1×0]
               P: 1
               Q: 0
              AR: {0.5} at lag [1]
             SAR: {}
              MA: {}
             SMA: {}
        Variance: NaN

См. также

| | |

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

Подробнее о