Изменение свойств условных средних Объектов модели

Запись через точку

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

Для примера начните с этой спецификации модели:

Mdl = arima(2,0,0)
Mdl = 
  arima with properties:

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

Измените модель, чтобы удалить постоянный термин:

Mdl.Constant = 0
Mdl = 
  arima with properties:

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

Обновленный постоянный термин теперь появляется в выходе модели.

Имейте в виду, что каждое свойство модели имеет тип данных. Любые изменения, вносимые в значение свойства, должны соответствовать типу данных свойства. Для примера, AR, MA, SAR, и SMA все векторы камер. Это означает, что вы должны индексировать их с помощью синтаксиса массива ячеек.

Для примера начните со следующей модели:

Mdl = arima(2,0,0)
Mdl = 
  arima with properties:

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

Чтобы изменить значение свойства AR, назначать AR массив ячеек. Здесь присвойте известные значения коэффициентов AR:

Mdl.AR  = {0.8,-0.4}
Mdl = 
  arima with properties:

     Description: "ARIMA(2,0,0) Model (Gaussian Distribution)"
    Distribution: Name = "Gaussian"
               P: 2
               D: 0
               Q: 0
        Constant: NaN
              AR: {0.8 -0.4} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN

Обновленная модель теперь имеет коэффициенты AR с заданными ограничениями равенства.

Точно так же тип данных Distribution является структурой данных. Структура данных по умолчанию имеет только одно поле, Name, со значением 'Gaussian'.

Distribution = Mdl.Distribution
Distribution = struct with fields:
    Name: "Gaussian"

Чтобы изменить инновационное распределение, присвойте Distribution новое имя или структура данных. Структура данных может иметь до двух полей, Name и DoF. Второе поле соответствует степеням свободы для распределения Student's t, и требуется только при Name имеет значение 't'.

Чтобы задать распределение студента с неизвестными степенями свободы, введите:

Mdl.Distribution = 't'
Mdl = 
  arima with properties:

     Description: "ARIMA(2,0,0) Model (t Distribution)"
    Distribution: Name = "t", DoF = NaN
               P: 2
               D: 0
               Q: 0
        Constant: NaN
              AR: {0.8 -0.4} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN

Обновленная модель имеет распределение Student с NaN степени свободы. Чтобы задать распределение t с восемью степенями свободы, скажем:

Mdl.Distribution = struct('Name','t','DoF',8)
Mdl = 
  arima with properties:

     Description: "ARIMA(2,0,0) Model (t Distribution)"
    Distribution: Name = "t", DoF = 8
               P: 2
               D: 0
               Q: 0
        Constant: NaN
              AR: {0.8 -0.4} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [1×0]
        Variance: NaN

Свойство степеней свободы модели обновляется. Обратите внимание, что DoF область Distribution не может непосредственно назначаться. Для примера, Mdl.Distribution.DoF = 8 не является допустимым назначением. Однако можно получить отдельные поля:

Mdl.Distribution.DoF
ans = 8

Можно изменять Mdl для включения, например, двух коэффициентов β1=0.2 и β2=4 соответствующий двум последовательностям предикторов. Начиная с Beta еще не указано, вы не видели его в выходах. Чтобы включить его, введите:

Mdl.Beta=[0.2 4]
Mdl = 
  arima with properties:

     Description: "ARIMAX(2,0,0) Model (t Distribution)"
    Distribution: Name = "t", DoF = 8
               P: 2
               D: 0
               Q: 0
        Constant: NaN
              AR: {0.8 -0.4} at lags [1 2]
             SAR: {}
              MA: {}
             SMA: {}
     Seasonality: 0
            Beta: [0.2 4]
        Variance: NaN

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

Не все свойства модели являются изменяемыми. Вы не можете изменить эти свойства в существующей модели:

  • P. Это свойство автоматически обновляется, когда любой из p (степени несезонного оператора AR). ps (степень сезонного оператора), D (степень несезонного дифференцирования) или s (степень сезонного дифференцирования) изменения.

  • Q. Это свойство автоматически обновляется, когда или q (степень несезонного оператора MA), или qs (степень сезонного оператора МА) изменения.

Не все аргументы пары "имя-значение", которые вы можете использовать для создания модели, являются свойствами созданной модели. В частности, можно задать аргументы ARLags, MALags, SARLags, и SMALags во время создания модели. Однако это не свойства arima модели. Это означает, что вы не можете извлечь или изменить их в существующей модели.

Несезонные и сезонные задержки AR и MA автоматически обновляются, если вы добавляете какие-либо элементы в (или удаляете) массивы ячеек коэффициентов AR, MA, SAR, или SMA.

Для примера задайте модель AR (2):

Mdl = arima(2,0,0)
Mdl = 
  arima with properties:

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

Выходные выходы модели показывают ненулевые коэффициенты AR в лагах 1 и 2.

Добавьте новый термин AR с задержкой 12:

Mdl.AR{12} = NaN
Mdl = 
  arima with properties:

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

Три ненулевых коэффициента в лагах 1, 2 и 12 теперь отображаются в выходе модели. Однако массив ячеек, назначенный AR возвращает двенадцать элементов:

Mdl.AR
ans=1×12 cell array
  Columns 1 through 8

    {[NaN]}    {[NaN]}    {[0]}    {[0]}    {[0]}    {[0]}    {[0]}    {[0]}

  Columns 9 through 12

    {[0]}    {[0]}    {[0]}    {[NaN]}

AR имеет нулевые коэффициенты во всех промежуточных лагах для поддержания согласованности с традиционной индексацией массива ячеек MATLAB ®.

См. также

|

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

Подробнее о