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

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

Модели, созданной 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. Второе поле соответствует степеням свободы для t распределения Студента и только требуется, если Name имеет значение 't'.

Задавать 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

Обновленная модель имеет t распределение Студента со степенями свободы 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 (степень сезонного оператора AR), D (степень несезонного дифференцирования), или s (степень сезонного дифференцирования) изменения.

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

Не всеми аргументами пары "имя-значение", которые можно использовать для образцового создания, являются свойства созданной модели. А именно, можно задать аргументы 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 = 1x12 cell array
  Columns 1 through 8

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

  Columns 9 through 12

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

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

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

|

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

Больше о