Создайте одномерную авторегрессионную интегрированную модель скользящего среднего значения (ARIMA)
arima
функция возвращает arima
объект, задающий функциональную форму и сохраняющий значения параметров модели линейных временных рядов ARIMA (p, D, q) для одномерного процесса отклика y t.
arima
позволяет вам создавать изменения модели ARIMA, включая:
Авторегрессионная (AR (p)), движущееся среднее значение (MA (q)) или ARMA (p, q) модель.
Модель, содержащая мультипликативные сезонные компоненты (SARIMA (p, D, q) ⨉ (ps, Ds, qs) s).
Модель, содержащая линейный регрессионый компонент для экзогенных ковариат (ARIMAX).
Составная условная модель среднего и условного отклонения. Для примера можно создать условную среднюю модель ARMA, содержащую условное отклонение модель GARCH (garch
).
Ключевые компоненты arima
объект являются полиномиальными степенями (например, полиномиальная степень AR p и степень интегрирования D), потому что они полностью определяют структуру модели. Заданные полиномиальные степени, все другие параметры, такие как коэффициенты и параметры инновационного распределения, неизвестны и оцениваемы, если вы не задаете их значения.
Чтобы оценить модель, содержащую неизвестные значения параметров, передайте модель и данные estimate
. Работа с предполагаемым или полностью заданным arima
объект, передайте его в функцию объекта.
Также можно:
Создание и работа с arima
моделировать объекты в интерактивном режиме при помощи Econometric Modeler.
Моделируйте последовательную корреляцию в серии нарушений порядка регрессионой модели путем создания регрессионой модели с ошибками ARIMA. Для получения дополнительной информации смотрите regARIMA
и альтернативные представления модели ARIMA.
создает модель ARIMA (0,0,0), содержащую только неизвестную константу и ряд iid Гауссовых инноваций со средним значением 0 и неизвестным отклонением.Mdl
= arima
создает ARIMA Mdl
= arima(p
,D
,q
)(p
, D
, q
) модель, содержащая несезонные AR-полиномиальные лаги от 1 до p
, степень D несезонный полином интегрирования и несезонный полином MA отстают от 1 до
q
.
Этот краткий синтаксис предоставляет простой способ создать шаблон модели, в котором вы явно задаете степени несезонных полиномов. Шаблон модели подходит для неограниченной оценки параметра. После создания модели можно изменить значения свойств с помощью записи через точку.
устанавливает свойства и полиномиальные лаги, используя аргументы пары "имя-значение". Заключайте каждое имя в кавычки. Для примера, Mdl
= arima(Name,Value
)'ARLags',[1 4],'AR',{0.5 –0.1}
задает значения –0.5
и 0.1
для несезональных полиномиальных коэффициентов AR при задержках 1
и 4
, соответственно.
Этот синтаксис longhand позволяет создавать более гибкие модели. arima
выводит все полиномиальные степени из заданных вами свойств. Поэтому значения свойств, которые соответствуют полиномиальным степеням, должны быть согласованы друг с другом.
Синтаксис стенограммы предоставляет вам простой способ создать несезонные шаблоны модели ARIMA, которые подходят для неограниченной оценки параметра. Для примера, чтобы создать модель ARMA (2,1), содержащую неизвестные коэффициенты и отклонение инноваций, введите:
Mdl = arima(2,0,1);
p
- Несезонная авторегрессионная полиномиальная степеньНеотезональная авторегрессионная полиномиальная степень, заданная как неотрицательное целое число.
Типы данных: double
D
- Степень несезонного интегрированияСтепень несезонного интегрирования (степень несезонного дифференциального полинома), заданная как неотрицательное целое число. D
устанавливает свойство D.
Типы данных: double
q
- Несезональная полиномиальная степень скользящего среднего значенияНесезональная степень полинома скользящего среднего значения, заданная в виде неотрицательного целого числа.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
Синтаксис longhand позволяет вам создать сезонные модели или модели, в которых известны некоторые или все коэффициенты. Во время оценки, estimate
накладывает ограничения равенства на любые известные параметры.
'ARLags',[1 4],'AR',{0.5 –0.1}
задает несезонный AR полином .'ARLags'
- Лаги, сопоставленные с несезональными полиномиальными коэффициентами AR1:numel(AR)
(по умолчанию) | числовой вектор уникальных положительных целых чиселЛаги, сопоставленные с несезональными полиномиальными коэффициентами AR, заданные как разделенная разделенными запятой парами, состоящая из 'ARLags'
и числовой вектор уникальных положительных целых чисел. Максимальная задержка p.
AR
- коэффициент задержки {j
}ARLags
.(j
)
Пример: 'ARLags',[1 4]
задает несезонный AR полином
Типы данных: double
'MALags'
- Лаги, сопоставленные с несезональными полиномиальными коэффициентами MA1:numel(MA)
(по умолчанию) | числовой вектор уникальных положительных целых чиселЛаги, сопоставленные с несезональными полиномиальными коэффициентами MA, заданные как разделенная разделенными запятой парами, состоящая из 'MALags'
и числовой вектор уникальных положительных целых чисел. Максимальная задержка q.
MA
- коэффициент задержки {j
}MALags
.(j
)
Пример: 'MALags',1:3
задает несезонный полином MA
Типы данных: double
'SARLags'
- Лаги, сопоставленные с сезонными полиномиальными коэффициентами AR1:numel(SAR)
(по умолчанию) | числовой вектор уникальных положительных целых чиселЛаги, сопоставленные с сезонными полиномиальными коэффициентами AR, заданные как разделенная разделенными запятой парами, состоящая из 'SARLags'
и числовой вектор уникальных положительных целых чисел. Максимальная задержка ps.
РСА
- коэффициент задержки {j
}SARLags
.(j
)
Задайте SARLags
как периодичность наблюдаемых данных, а не как множители Seasonality
свойство. Эта конвенция не соответствует стандартным обозначениям Box и Jenkins [1], но она более гибка для включения мультипликативной сезонности.
Пример: 'SARLags',[4 8]
задает сезонный AR полином
Типы данных: double
'SMALags'
- Лаги, сопоставленные с сезонными полиномиальными коэффициентами MA1:numel(SMA)
(по умолчанию) | числовой вектор уникальных положительных целых чиселЛаги, сопоставленные с сезонными полиномиальными коэффициентами MA, заданные как разделенная разделенными запятой парами, состоящая из 'SMALags'
и числовой вектор уникальных положительных целых чисел. Максимальная задержка qs.
SMA
- коэффициент задержки {j
}SMALags
.(j
)
Задайте SMALags
как периодичность наблюдаемых данных, а не как множители Seasonality
свойство. Эта конвенция не соответствует стандартным обозначениям Box и Jenkins [1], но она более гибка для включения мультипликативной сезонности.
Пример: 'SMALags',4
задает сезонный полином MA
Типы данных: double
Примечание
Полиномиальные степени не оцениваются. Если вы не задаете полиномиальную степень, или arima
невозможно вывести его из других спецификаций, arima
не включает полином в модель.
Можно задать значения свойств записи, когда вы создаете объект модели с помощью синтаксиса аргумента пары "имя-значение" или после того, как вы создаете объект модели с помощью записи через точку. Для примера, чтобы создать полностью заданную модель ARMA (2,1), введите:
Mdl = arima('Constant',1,'AR',{0.3 -0.15},'MA',0.2); Mdl.Variance = 1;
Примечание
NaN
-значенные свойства указывают на оценочные параметры. Числовые свойства указывают ограничения равенства на параметрах во время оценки модели. Векторы коэффициентов могут содержать как число, так и NaN
- оцененные элементы.
Можно задать полиномиальные коэффициенты как векторы в любой ориентации, но arima
сохраняет их как векторы-строки.
P
- Составная AR-полиномиальная степеньЭто свойство доступно только для чтения.
Степень полинома соединения AR, заданная как неотрицательное целое число.
P
не обязательно соответствует стандартным обозначениям Box и Jenkins [1], потому что P
захватывает степени несезонного и сезонного AR- полиномов (свойства AR
и SAR
, соответственно), несезонное интегрирование (свойство D
), и сезонность (свойство Seasonality
). Явно, P
= p + D + ps + s. P
соответствует обозначения Box и Jenkins для моделей без интеграции или сезонного AR- компонента.
P
задает количество отстающих наблюдений, необходимых для инициализации AR- компонентов модели.
Типы данных: double
Q
- Составная MA полиномиальная степеньЭто свойство доступно только для чтения.
Степень полинома соединения MA, заданная как неотрицательное целое число.
Q
не обязательно соответствует стандартным обозначениям Box и Jenkins [1], потому что Q
захватывает степени несезонных и сезонных полиномов MA (свойства MA
и SMA
, соответственно). Явно, Q
= q + qs. Q
соответствует обозначения Box и Jenkins для моделей без сезонного компонента MA.
Q
задает количество отстающих инноваций, необходимых для инициализации компонентов MA модели.
Типы данных: double
Description
- Описание моделиОписание модели, заданное как строковый скаляр или вектор символов. arima
сохраняет значение как строковый скаляр. Значение по умолчанию описывает параметрическую форму модели, например
"ARIMAX(1,1,1) Model (Gaussian Distribution)"
.
Пример: "Model 1"
Типы данных: string
| char
Distribution
- Условное распределение вероятностей инновационного процесса"Gaussian"
(по умолчанию) | "t"
| массив структурУсловное распределение вероятностей инновационного процесса, заданное как строковый или структурный массив. arima
сохраняет значение как массив структур.
Распределение | Строка | Массив структур |
---|---|---|
Гауссовский | "Gaussian" | struct('Name',"Gaussian") |
Студенческое t | "t" | struct('Name',"t",'DoF',DoF) |
The 'DoF'
поле задает параметр t степени свободы распределения.
DoF
> 2 или DoF
= NaN
.
DoF
является оценочным.
Если вы задаете "t"
, DoF
является NaN
по умолчанию. Вы можете изменить его значение с помощью записи через точку после создания модели. Для примера, Mdl.Distribution.DoF = 3
.
Если вы поставляете массив структур, чтобы задать распределение t Student, то необходимо задать оба 'Name'
и 'DoF'
поля.
Пример: struct('Name',"t",'DoF',10)
Constant
- Модель константаNaN
(по умолчанию) | числовой скалярМоделируйте константу, заданную как числовой скаляр.
Пример: 1
Типы данных: double
AR
- Несезонные полиномиальные коэффициенты ARНесезонные коэффициенты полинома AR, заданные как вектор- камера. Камеры содержат числовые скаляры или NaN
значения. Полностью заданная несезонная AR- полинома должна быть стабильной.
Знаки коэффициентов соответствуют модели, выраженной в обозначении разностного уравнения. Для примера, для несезонного AR полинома задайте 'AR',{0.5 –0.1}
.
Если вы используете синтаксис shorthand, чтобы задать p
> 0, AR
имеет значение {j
}NaN
и это коэффициент задержки
, j
= 1, …, j
p
.
Если вы задаете 'ARLags'
аргумент пары "имя-значение" в ARLags
, применяются следующие условия.
Длины AR
и ARLags
должно быть равным.
AR
- коэффициент задержки {j
}ARLags
, для всех (j
)
в j
ARLags
.
По умолчанию AR
= {j
}NaN
для всех
в j
ARLags
.
В противном случае AR
пуст, и модель не содержит несезонного AR- полинома.
Коэффициенты в AR
соответствуют коэффициентам в базовом LagOp
полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12
или ниже, arima
исключает этот коэффициент и соответствующее ему отставание в ARLags
из модели.
Пример: {0.8}
Пример: {NaN –0.1}
Типы данных: cell
SAR
- Сезонные полиномиальные коэффициенты ARСезонные коэффициенты полинома AR, заданные как вектор- камера. Камеры содержат числовые скаляры или NaN
значения. Полностью заданный сезонный AR- полинома должен быть стабильным.
Знаки коэффициентов соответствуют модели, выраженной в обозначении разностного уравнения. Для примера, для сезонного AR полинома задайте 'SAR',{0.5 –0.1}
.
Если вы задаете 'SARLags'
аргумент пары "имя-значение" в SARLags
, применяются следующие условия.
Длины SAR
и SARLags
должно быть равным.
РСА
- коэффициент задержки {j
}SARLags
, для всех (j
)
в j
SARLags
.
По умолчанию РСА
= {j
}NaN
для всех
в j
SARLags
.
В противном случае SAR
пуст, и модель не содержит сезонного AR- полинома.
Коэффициенты в SAR
соответствуют коэффициентам в базовом LagOp
полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12
или ниже, arima
исключает этот коэффициент и соответствующее ему отставание в SARLags
из модели.
Пример: {0.2 0.1}
Пример: {NaN 0 0 NaN}
Типы данных: cell
MA
- Несезонные полиномиальные коэффициенты MAНесезонные коэффициенты полинома MA, заданные как вектор- камера. Камеры содержат числовые скаляры или NaN
значения. Полностью заданный несезонный полином MA должен быть инвертируемым.
Если вы используете синтаксис shorthand, чтобы задать q
> 0, MA
имеет значение {j
}NaN
и это коэффициент задержки
, j
= 1, …, j
q
.
Если вы задаете 'MALags'
аргумент пары "имя-значение" в MALags
, применяются следующие условия.
Длины MA
и MALags
должно быть равным.
MA
- коэффициент задержки {j
}MALags
, для всех (j
)
в j
MALags
.
По умолчанию MA
= {j
}NaN
для всех
в j
MALags
.
В противном случае MA
пуст, и модель не содержит несезонный полином MA.
Коэффициенты в MA
соответствуют коэффициентам в базовом LagOp
полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12
или ниже, arima
исключает этот коэффициент и соответствующее ему отставание в MALags
из модели.
Пример: 0.8
Пример: {NaN –0.1}
Типы данных: cell
SMA
- Сезонные полиномиальные коэффициенты MAСезонные коэффициенты полинома MA, заданные как вектор- камера. Камеры содержат числовые скаляры или NaN
значения. Полностью заданный сезонный полином MA должен быть инвертируемым.
Если вы задаете 'SMALags'
аргумент пары "имя-значение" в SMALags
, применяются следующие условия.
Длины SMA
и SMALags
должно быть равным.
SMA
- коэффициент задержки {j
}SMALags
, для всех (j
)
в j
SMALags
.
По умолчанию SMA
= {j
}NaN
для всех
в j
SMALags
.
В противном случае SMA
пуст, и модель не содержит сезонный полином MA.
Коэффициенты в SMA
соответствуют коэффициентам в базовом LagOp
полином оператора задержки, и подлежат критерию исключения допуска около нуля. Если вы задаете коэффициент 1e–12
или ниже, arima
исключает этот коэффициент и соответствующее ему отставание в SMALags
из модели.
Пример: {0.2 0.1}
Пример: {NaN 0 0 NaN}
Типы данных: cell
D
- Степень несезонного интегрирования0
(по умолчанию) | неотрицательное целое числоСтепень несезонального интегрирования или степень несезонного дифференциального полинома, заданная как неотрицательное целое число.
Пример: 1
Типы данных: double
Seasonality
- Степень сезонного дифференцирования полинома0
(по умолчанию) | неотрицательное целое числоСтепень сезонного дифференцирования полинома s, заданная как неотрицательное целое число.
Пример: 12
определяет ежемесячную периодичность.
Типы данных: double
Beta
- Коэффициенты регрессионного компонентаКоэффициенты регрессионного компонента условного среднего, заданные как числовой вектор.
Если вы планируете оценить все элементы Beta
, вам не нужно его указывать. Во время оценки, estimate
выводит размер Beta
из числа столбцов заданных экзогенных данных X
.
Пример: [0.5 NaN 3]
Типы данных: double
Variance
- Модельная дисперсия инновацийNaN
(по умолчанию) | положительная скалярная величина | поддерживаемый объект модели условного отклоненияМоделируйте отклонения инноваций, заданные как положительная скалярная величина или поддерживаемый объект условного отклонения модели (для примера, garch
). Для всех поддерживаемых моделей условных отклонений см. «Модели условных отклонений».
A положительной скалярной величины или NaN
задает гомосцедастическую модель. Объект модели условного отклонения задает композитную модель условного среднего и отклонения. estimate
подходит для всех неизвестных, оценочных параметров в составе.
Пример: 1
Пример: garch(1,0)
Типы данных: double
estimate | Подбор авторегрессионной интегрированной модели скользящего среднего значения (ARIMA) к данным |
summarize | Отобразите результаты оценки модели ARIMA |
infer | Вывод модели ARIMA или ARIMAX невязок или условных отклонений |
filter | Фильтруйте нарушения порядка с помощью модели ARIMA или ARIMAX |
impulse | Сгенерируйте одномерную авторегрессионную интегрированное среднее значение (ARIMA) модели функцию импульсной характеристики (IRF) |
simulate | Симуляция Монте-Карло моделей ARIMA или ARIMAX |
forecast | Прогноз одномерных авторегрессионных интегрированных ответов модели скользящего среднего значения (ARIMA) или условных отклонений |
Создайте модель ARIMA по умолчанию при помощи arima
.
Mdl = arima
Mdl = arima with properties: Description: "ARIMA(0,0,0) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 0 D: 0 Q: 0 Constant: NaN AR: {} SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Mdl
является arima
объект. Свойства модели появляются в командной строке.
Модель по умолчанию является
,
где является неизвестной константой и является серией iid Гауссовых случайных переменных со средним 0 и отклонением .
Mdl
является шаблоном модели для оценки. Можно изменять значения свойств при помощи записи через точку или подгонять модель к данным при помощи estimate
, но ты не можешь пройти Mdl
к любой другой функции объекта.
Создайте модель ARIMA (2,1,1), представленную этим уравнением:
где - серия iid Гауссовых случайных переменных. Используйте синтаксис longhand, чтобы задать значения параметров в уравнении, записанном в разностное уравнение:
Mdl = arima('ARLags',2,'AR',-0.5,'D',1,'MA',-0.2,... 'Constant',3.1)
Mdl = arima with properties: Description: "ARIMA(2,1,1) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 3 D: 1 Q: 1 Constant: 3.1 AR: {-0.5} at lag [2] SAR: {} MA: {-0.2} at lag [1] SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Mdl
является полностью заданным arima
объект, поскольку все его параметры известны. Можно пройти Mdl
в любой arima
функция объекта, кроме estimate
. Для примера постройте график функции импульсной характеристики модели на 24 периода с помощью impulse
.
impulse(Mdl,24)
Создайте модель AR (1), представленную этим уравнением:
где - серия iid Гауссовых случайных переменных со средним значением 0 и отклонением 0,5. Используйте краткий синтаксис, чтобы задать шаблон модели AR (1), затем используйте запись через точку, чтобы задать Constant
и Variance
свойства.
Mdl = arima(1,0,0); Mdl.Constant = 1; Mdl.Variance = 0.5; Mdl
Mdl = arima with properties: Description: "ARIMA(1,0,0) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 D: 0 Q: 0 Constant: 1 AR: {NaN} at lag [1] SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: 0.5
Mdl
является частично заданным arima
объект. Можно изменить значения свойств с помощью записи через точку или подгонять под неизвестный коэффициент к данным при помощи estimate
, но ты не можешь пройти Mdl
к любой другой функции объекта.
Создайте модель ARIMA (3,1,2), представленную этим уравнением :
,
где является серией iid Гауссовых случайных переменных со средним 0 и отклонением .
Поскольку модель содержит только несезонные полиномы, используйте краткий синтаксис.
Mdl = arima(3,1,2)
Mdl = arima with properties: Description: "ARIMA(3,1,2) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 4 D: 1 Q: 2 Constant: NaN AR: {NaN NaN NaN} at lags [1 2 3] SAR: {} MA: {NaN NaN} at lags [1 2] SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Свойство P
равно + = 4
. NaN
-значенные элементы указывают оценочные параметры.
Для включения добавочных сезонных лагов укажите лаги, соответствующие соответствующей периодичности. Для примера создайте модель аддитивной ежемесячной МА (12), представленную в этом уравнении:
где является серией iid Гауссовых случайных переменных со средним 0 и отклонением .
Mdl = arima('Constant',0,'MALags',[1 12])
Mdl = arima with properties: Description: "ARIMA(0,0,12) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 0 D: 0 Q: 12 Constant: 0 AR: {} SAR: {} MA: {NaN NaN} at lags [1 12] SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Создайте SARIMA модель (мультипликативный, ежемесячный шаблон модели MA с одной степенью сезонного и несезонного интегрирования), представленная этим уравнением:
где является серией iid Гауссовых случайных переменных со средним 0 и отклонением .
Mdl = arima('Constant',0,'D',1,'Seasonality',12,... 'MALags',1,'SMALags',12)
Mdl = arima with properties: Description: "ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12) (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 13 D: 1 Q: 13 Constant: 0 AR: {} SAR: {} MA: {NaN} at lag [1] SMA: {NaN} at lag [12] Seasonality: 12 Beta: [1×0] Variance: NaN
Создайте модель AR (3), представленную этим уравнением:
где является серией iid Гауссовых случайных переменных со средним 0 и отклонением 0,01.
Mdl = arima('Constant',0.05,'AR',{0.6,0.2,-0.1},'Variance',0.01)
Mdl = arima with properties: Description: "ARIMA(3,0,0) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 3 D: 0 Q: 0 Constant: 0.05 AR: {0.6 0.2 -0.1} at lags [1 2 3] SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: 0.01
Добавьте несезонный член MA с задержкой 2 с коэффициентным 0.2
. Затем отобразите MA
свойство.
Mdl.MA = {0 0.2}
Mdl = arima with properties: Description: "ARIMA(3,0,2) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 3 D: 0 Q: 2 Constant: 0.05 AR: {0.6 0.2 -0.1} at lags [1 2 3] SAR: {} MA: {0.2} at lag [2] SMA: {} Seasonality: 0 Beta: [1×0] Variance: 0.01
Mdl.MA
ans=1×2 cell array
{[0]} {[0.2000]}
На отображении модели lags
указывает лаги, с которыми связаны соответствующие коэффициенты. Несмотря на то, что MATLAB ® удаляет нулевые коэффициенты с отображения, свойства, сохраняющие коэффициенты, сохраняют их.
Измените константу модели на 1
.
Mdl.Constant = 1
Mdl = arima with properties: Description: "ARIMA(3,0,2) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 3 D: 0 Q: 2 Constant: 1 AR: {0.6 0.2 -0.1} at lags [1 2 3] SAR: {} MA: {0.2} at lag [2] SMA: {} Seasonality: 0 Beta: [1×0] Variance: 0.01
Создайте шаблон модели AR (1) и укажите iid- распределенные инновации с неизвестными степенями свободы. Используйте синтаксис longhand.
Mdl = arima('ARLags',1,'Distribution',"t")
Mdl = arima with properties: Description: "ARIMA(1,0,0) Model (t Distribution)" Distribution: Name = "t", DoF = NaN P: 1 D: 0 Q: 0 Constant: NaN AR: {NaN} at lag [1] SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Степени свободы DoF
является NaN
, что указывает на то, что степени свободы могут быть оценены.
Создайте полностью заданную модель AR (1), представленную этим уравнением:
где является iid-серией - распределенные случайные переменные с 10 степенями свободы. Используйте синтаксис longhand.
innovdist = struct('Name',"t",'DoF',10); Mdl = arima('Constant',0,'AR',{0.6},... 'Distribution',innovdist)
Mdl = arima with properties: Description: "ARIMA(1,0,0) Model (t Distribution)" Distribution: Name = "t", DoF = 10 P: 1 D: 0 Q: 0 Constant: 0 AR: {0.6} at lag [1] SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
Создайте условную среднюю модель ARMA (1,1), содержащую модель условного отклонения ARCH (1), представленную этими уравнениями:
Создайте условный шаблон модели ARMA (1,1) с помощью краткого синтаксиса.
Mdl = arima(1,0,1)
Mdl = arima with properties: Description: "ARIMA(1,0,1) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 D: 0 Q: 1 Constant: NaN AR: {NaN} at lag [1] SAR: {} MA: {NaN} at lag [1] SMA: {} Seasonality: 0 Beta: [1×0] Variance: NaN
The Variance
свойство Mdl
является NaN
, что означает, что отклонение модели является неизвестной константой.
Создайте шаблон модели условного отклонения ARCH (1) с помощью краткого синтаксиса garch
.
CondVarMdl = garch(0,1)
CondVarMdl = garch with properties: Description: "GARCH(0,1) Conditional Variance Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 0 Q: 1 Constant: NaN GARCH: {} ARCH: {NaN} at lag [1] Offset: 0
Создайте составной условный шаблон модели среднего и дисперсионной путем установки Variance
свойство Mdl
на CondVarMdl
использование записи через точку.
Mdl.Variance = CondVarMdl
Mdl = arima with properties: Description: "ARIMA(1,0,1) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 D: 0 Q: 1 Constant: NaN AR: {NaN} at lag [1] SAR: {} MA: {NaN} at lag [1] SMA: {} Seasonality: 0 Beta: [1×0] Variance: [GARCH(0,1) Model]
Все NaN
- оценочные свойства условных средних и дисперсионных моделей являются оценочными.
Создайте модель ARMAX (1,2) для прогнозирования изменений в расходах на личное потребление в США на основе изменений в выплаченной компенсации сотрудникам.
Загрузите набор макроэкономических данных США.
load Data_USEconModel
DataTable
- расписание MATLAB ®, содержащее ежеквартальные макроэкономические измерения от 1947:Q1 до 2009:Q1. PCEC
- серия расходов на личное потребление и COE
- выплаченная компенсация сотрудников серии. Обе переменные находятся на уровнях. Для получения дополнительной информации о данных введите Description
в командной строке.
Серия нестационарная. Чтобы избежать ложной регрессии, стабилизируйте переменные, преобразовав уровни в возвраты с помощью price2ret
. Вычислите размер выборки.
pcecret = price2ret(DataTable.PCEC); coeret = price2ret(DataTable.COE); T = numel(pcecret);
Поскольку преобразование от уровней к возвратам включает применение первого различия, преобразование уменьшает общий размер выборки на одно наблюдение.
Создайте шаблон модели ARMA (1,2) с помощью краткого синтаксиса.
Mdl = arima(1,0,2);
Экзогенный компонент входит в модель во время оценки. Поэтому вам не нужно устанавливать Beta
свойство Mdl
в NaN
так что estimate
подходит для модели с данными с другими параметрами.
Для инициализации процесса ARMA (1,2) требуется Mdl.P
= 1 наблюдение. Поэтому период предварительного образца является первой временной точкой в данных (первая строка), и выборка оценки является остальной частью данных. Задайте переменные, идентифицирующие предварительную выборку и периоды оценки.
idxpre = Mdl.P; idxest = (Mdl.P + 1):T;
Подбор модели к данным. Задайте предварительную выборку при помощи 'Y0'
аргумент пары "имя-значение" и задайте экзогенные данные при помощи 'X'
аргумент пары "имя-значение".
EstMdl = estimate(Mdl,pcecret(idxest),'Y0',pcecret(idxpre),... 'X',coeret(idxest));
ARIMAX(1,0,2) Model (Gaussian Distribution): Value StandardError TStatistic PValue _________ _____________ __________ __________ Constant 0.0091866 0.001269 7.239 4.5203e-13 AR{1} -0.13506 0.081986 -1.6474 0.099479 MA{1} -0.090445 0.082052 -1.1023 0.27033 MA{2} 0.29671 0.064589 4.5939 4.3505e-06 Beta(1) 0.5831 0.048884 11.928 8.4534e-33 Variance 5.305e-05 3.1387e-06 16.902 4.358e-64
Все оценки, кроме коэффициента задержки 1 MA, значительны на уровне 0,1.
Отобразите EstMdl
.
EstMdl
EstMdl = arima with properties: Description: "ARIMAX(1,0,2) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 D: 0 Q: 2 Constant: 0.00918661 AR: {-0.135063} at lag [1] SAR: {} MA: {-0.0904454 0.296714} at lags [1 2] SMA: {} Seasonality: 0 Beta: [0.583095] Variance: 5.30503e-05
Как Mdl
, EstMdl
является arima
объект модели, представляющий процесс ARMA (1,2). В отличие от Mdl
, EstMdl
полностью задан, потому что он соответствует данным и EstMdl
содержит экзогенный компонент, поэтому является моделью ARMAX (1,2 ).
Создайте arima
объект модели для случайной прогулки, представленной в этом уравнении:
где - серия iid Гауссовых случайных переменных со средним значением 0 и отклонением 1.
Mdl = arima(0,1,0); Mdl.Constant = 0; Mdl.Variance = 1; Mdl
Mdl = arima with properties: Description: "ARIMA(0,1,0) Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 D: 1 Q: 0 Constant: 0 AR: {} SAR: {} MA: {} SMA: {} Seasonality: 0 Beta: [1×0] Variance: 1
Mdl
является полностью заданным arima
объект модели.
Моделируйте и стройте график 1000 путей длины 100 от случайной ходьбы.
rng(1) % For reproducibility Y = simulate(Mdl,100,'NumPaths',1000); plot(Y) title('Simulated Paths from Random Walk Process')
Прогнозирует ежедневное закрытие цен NASDAQ на 500-дневном горизонте.
Загрузите набор данных индексов собственного капитала США.
load Data_EquityIdx
Набор данных содержит ежедневные цены закрытия NASDAQ с 1990 по 2001 год. Для получения дополнительной информации введите Description
в командной строке.
Предположим, что модель ARIMA (1,1,1) подходит для описания первых 1500 цен закрытия NASDAQ. Создайте шаблон модели ARIMA (1,1,1).
Mdl = arima(1,1,1);
estimate
требуется предварительная выборка размера Mdl.P
= 2.
Подбор модели к данным. Задайте первые два наблюдения как предварительная выборка.
idxpre = 1:Mdl.P; idxest = (Mdl.P + 1):1500; EstMdl = estimate(Mdl,DataTable.NASDAQ(idxest),... 'Y0',DataTable.NASDAQ(idxpre));
ARIMA(1,1,1) Model (Gaussian Distribution): Value StandardError TStatistic PValue _________ _____________ __________ __________ Constant 0.43291 0.18607 2.3265 0.019989 AR{1} -0.076322 0.082045 -0.93025 0.35224 MA{1} 0.31312 0.077284 4.0516 5.0879e-05 Variance 27.86 0.63785 43.678 0
Прогнозируйте значения закрытия в 500-дневный горизонт путем передачи предполагаемой модели в forecast
. Чтобы инициализировать модель для прогнозирования, задайте последние два наблюдения в данных оценки как предварительная выборка.
yf0 = DataTable.NASDAQ(idxest(end - 1:end)); yf = forecast(EstMdl,500,yf0);
Постройте график первых 2000 наблюдений и прогнозов.
dates = datetime(dates,'ConvertFrom',"datenum",... 'Format',"yyyy-MM-dd"); figure h1 = plot(dates(1:2000),DataTable.NASDAQ(1:2000)); hold on h2 = plot(dates(1501:2000),yf,'r'); legend([h1 h2],"Observed","Forecasted",... 'Location',"NorthWest") title("NASDAQ Composite Index: 1990-01-02 – 1997-11-25") xlabel("Time (days)") ylabel("Closing Price") hold off
После начала 1995 года прогнозы модели почти всегда недооценивают истинные цены закрытия.
Оператор lag L определяется как Операторы Lag конденсируют полиномиальное обозначение.
Линейная модель временных рядов для yt процессов отклика и случайных инноваций εt является стохастическим процессом, в котором текущая реакция является линейной функцией предыдущих реакций, текущих и предыдущих инноваций и экзогенных ковариат xt. В обозначении разностного уравнения общая форма линейной модели временных рядов является:
Учитывая w и v, все коэффициенты являются оценочными.
Выраженная в обозначении оператора задержки, общая форма модели является:
Полиномы оператора задержки в модели часто выражаются как продуктов полиномов для несезонных и мультипликативных сезонных эффектов и интегрирования:
Моделируйте компонент | Описание | arima Свойство |
---|---|---|
a p -degree stable nonseasonal AR polynomial. |
| |
D | Степень несезонного интегрирования | D |
a ps -degree stable, multiplicative seasonal AR polynomial. |
| |
s | Сезонность, или степень сезонного дифференцирования полинома |
|
Ds | Степень сезонного интегрирования | Соответствующее свойство отсутствует, но:
|
c | Модель константа | Constant |
β | Коэффициент регрессии экзогенных ковариат | Beta |
a q -степень инвертирует несезонный полином MA. | MA хранит коэффициенты; индексы соответствуют показателям лага. | |
a qs -степень инвертируемый, мультипликативный сезонный полином MA. | SMA хранит коэффициенты; индексы соответствуют показателям лага. | |
εt | Серия случайных iid инноваций | Distribution сохраняет имя распределения и любые параметры. |
Свойство модели P
равно p + D + ps + s.
Свойство модели Q
равно q + qs.
Примечание
Степени операторов запаздывания в сезонных полиномах в (L) и (L) не соответствуют степеням, заданным Box и Jenkins [1]. Другими словами, Econometrics Toolbox™ не лечит p 1 = s, p 2 = 2 s,..., ps = rps и q 1 = s, q 2 = 2 s,..., qs = rqs, где rp и rq являются положительными целыми числами. Программное обеспечение является гибким, позволяя вам задать степени оператора задержки. См. Мультипликативные спецификации модели ARIMA.
Стохастический yt процесса stationary, если его ожидаемое значение, отклонение и ковариация между элементами ряда независимы от времени.
Например, модель MA (q) с c = 0 является стационарной для любой поскольку каждый из следующих вариантов не содержит t для всех временных точек [1].
Временные ряды является модуль корневым процессом, если его ожидаемое значение, отклонения или ковариация растет со временем. Следовательно, временные ряды нестационарны.
[1] Box, George E. P., Gwilym M. Jenkins, and Gregory C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.