Модель, созданная 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
для включения, например, двух коэффициентов и соответствующий двум последовательностям предикторов. Начиная с 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). (степень сезонного оператора), D (степень несезонного дифференцирования) или s (степень сезонного дифференцирования) изменения.
Q
. Это свойство автоматически обновляется, когда или q (степень несезонного оператора 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=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 ®.