Если вы создаете регрессионую модель с ошибками ARIMA с помощью regARIMAзатем программа присваивает значения всем своим свойствам. Чтобы изменить любое из этих значений свойств, вам не нужно восстанавливать целую модель. Можно изменить значения свойств существующей модели с помощью записи через точку. Чтобы получить доступ к свойству, введите имя модели, затем имя свойства, разделенное '|.|' (точка).
Задайте регрессионую модель с ошибками ARIMA (3,1,2)
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.01Mdl =
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} = NaNMdl =
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
estimate | forecast | regARIMA | simulate