arima

Создайте одномерную авторегрессивную интегрированную модель (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.

Создание

Описание

пример

Mdl = arima создает модель ARIMA (0,0,0), содержащую только неизвестную константу и серию iid Гауссовых инноваций со средним значением 0 и неизвестным отклонением.

пример

Mdl = arima(p,D,q) создает ARIMA (pDQ) модель, содержащая несезонный полином 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, соответственно.

Этот рукописный синтаксис позволяет вам создавать более гибкие модели. arima выводит все полиномиальные степени свойств, которые вы устанавливаете. Поэтому значения свойств, которые соответствуют полиномиальным степеням, должны быть сопоставимы друг с другом.

Входные параметры

развернуть все

Краткий синтаксис обеспечивает простой способ к вам создать несезонные шаблоны модели ARIMA, которые подходят для неограниченной оценки параметра. Например, чтобы создать модель ARMA(2,1), содержащую неизвестное содействующее и инновационное отклонение, введите:

Mdl = arima(2,0,1);
Чтобы наложить ограничения равенства на значения параметров во время оценки или включать сезонные компоненты, устанавливают соответствующие значения свойств с помощью записи через точку.

Несезонная авторегрессивная полиномиальная степень, заданная как неотрицательное целое число.

Типы данных: double

Степень несезонного интегрирования (степень несезонного полинома дифференцирования), заданный как неотрицательное целое число. D устанавливает свойство D.

Типы данных: double

Несезонная степень полинома скользящего среднего значения, заданная как неотрицательное целое число.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Рукописный синтаксис позволяет вам создать сезонные модели или модели, в которых некоторые или все коэффициенты известны. Во время оценки, estimate налагает ограничения равенства на любые известные параметры.

Пример: 'ARLags',[1 4],'AR',{0.5 –0.1} задает несезонный полином AR 10.5L1+0.1L4.

Задержки сопоставлены с несезонными коэффициентами полинома AR, заданными как разделенная запятой пара, состоящая из 'ARLags' и числовой вектор уникальных положительных целых чисел. Максимальной задержкой является p.

AR {j} коэффициент задержки ARLags (j).

Пример: 'ARLags',[1 4] задает несезонный полином AR 1ϕ1L1ϕ4L4.

Типы данных: double

Задержки сопоставлены с несезонными коэффициентами полинома MA, заданными как разделенная запятой пара, состоящая из 'MALags' и числовой вектор уникальных положительных целых чисел. Максимальной задержкой является q.

MA {j} коэффициент задержки MALags (j).

Пример: 'MALags',1:3 задает несезонный полином MA 1+θ1L1+θ2L2+θ3L3.

Типы данных: double

Задержки сопоставлены с сезонными коэффициентами полинома AR, заданными как разделенная запятой пара, состоящая из 'SARLags' и числовой вектор уникальных положительных целых чисел. Максимальной задержкой является ps.

SAR {j} коэффициент задержки SARLags (j).

Задайте SARLags как периодичность наблюдаемых данных, и не как множители Seasonality свойство. Это соглашение не соответствует стандартному Полю и Дженкинсу [1] обозначение, но это более гибко для слияния мультипликативной сезонности.

Пример: 'SARLags',[4 8] задает сезонный полином AR 1Φ4L4Φ8L8.

Типы данных: double

Задержки сопоставлены с сезонными коэффициентами полинома MA, заданными как разделенная запятой пара, состоящая из 'SMALags' и числовой вектор уникальных положительных целых чисел. Максимальной задержкой является qs.

SMA {j} коэффициент задержки SMALags (j).

Задайте SMALags как периодичность наблюдаемых данных, и не как множители Seasonality свойство. Это соглашение не соответствует стандартному Полю и Дженкинсу [1] обозначение, но это более гибко для слияния мультипликативной сезонности.

Пример: 'SMALags',4 задает сезонный полином MA 1+Θ4L4.

Типы данных: double

Примечание

Полиномиальные степени не являются допускающими оценку. Если вы не задаете полиномиальную степень или arima не может вывести его из других спецификаций, arima не включает полином в модель.

Свойства

развернуть все

Можно установить перезаписываемые значения свойств, когда вы создаете объект модели при помощи синтаксиса аргумента пары "имя-значение", или после того, как вы создаете объект модели при помощи записи через точку. Например, чтобы создать полностью заданную модель ARMA(2,1), введите:

Mdl = arima('Constant',1,'AR',{0.3 -0.15},'MA',0.2);
Mdl.Variance = 1;

Примечание

  • NaN- свойства, передаваемые по значению, указывают на допускающие оценку параметры. Числовые свойства указывают на ограничения равенства на параметры во время оценки модели. Векторы коэффициентов могут содержать и числовой и NaN- ценные элементы.

  • Можно задать полиномиальные коэффициенты как векторы в любой ориентации, но arima хранит их как векторы-строки.

Это свойство доступно только для чтения.

Составная степень полинома AR, заданная как неотрицательное целое число.

P не обязательно приспосабливает стандарту Боксу и обозначению [1] Дженкинса потому что P получает степени несезонных и сезонных полиномов AR (свойства AR и SAR, соответственно), несезонное интегрирование (свойство D), и сезонность (свойство Seasonality). Явным образом, P = p + D + ps + s. P соответствует обозначению Бокса и Дженкинса для моделей без интегрирования или сезонного компонента AR.

P задает количество изолированных наблюдений, требуемых инициализировать компоненты AR модели.

Типы данных: double

Это свойство доступно только для чтения.

Составная степень полинома MA, заданная как неотрицательное целое число.

Q не обязательно приспосабливает стандарту Боксу и обозначению [1] Дженкинса потому что Q получает степени несезонных и сезонных полиномов MA (свойства MA и SMA, соответственно). Явным образом, Q = q + qs. Q соответствует обозначению Бокса и Дженкинса для моделей без сезонного компонента MA.

Q задает количество изолированных инноваций, требуемых инициализировать компоненты MA модели.

Типы данных: double

Описание модели, заданное как скаляр строки или вектор символов. arima хранит значение как скаляр строки. Значение по умолчанию описывает параметрическую форму модели, например , "ARIMAX(1,1,1) Model (Gaussian Distribution)".

Пример: "Model 1"

Типы данных: string | char

Распределение условной вероятности инновационного процесса, заданного как строка или массив структур. arima хранит значение как массив структур.

РаспределениеСтрокаМассив структур
Гауссов"Gaussian"struct('Name',"Gaussian")
t студента"t"struct('Name',"t",'DoF',DoF)

'DoF' поле задает параметр степеней свободы распределения t.

  • DoF > 2 или DoF = NaN.

  • DoF является допускающим оценку.

  • Если вы задаете "t", DoF isnan по умолчанию. Можно изменить его значение при помощи записи через точку после того, как вы создадите модель. Например, Mdl.Distribution.DoF = 3.

  • Если вы предоставляете массив структур, чтобы задать распределение t Студента, то необходимо задать обоих 'Name' и 'DoF' поля .

Пример: struct('Name',"t",'DoF',10)

Константа модели, заданная в виде числа.

Пример 1

Типы данных: double

Несезонные коэффициенты полинома AR, заданные как вектор ячейки. Ячейки содержат числовые скаляры или NaN значения. Полностью заданный несезонный полином AR должен быть устойчивым.

Содействующие знаки соответствуют модели, выраженной в обозначении разностного уравнения. Например, для несезонного полинома AR ϕ(L)=10.5L+0.1L2, задайте 'AR',{0.5 –0.1}.

  • Если вы используете краткий синтаксис, чтобы задать p > 0, AR {j} имеет значение NaN и это - коэффициент задержки jJ = 1, …, 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

Сезонные коэффициенты полинома AR, заданные как вектор ячейки. Ячейки содержат числовые скаляры или NaN значения. Полностью заданный сезонный полином AR должен быть устойчивым.

Содействующие знаки соответствуют модели, выраженной в обозначении разностного уравнения. Например, для сезонного полинома AR Φ(L)=10.5L4+0.1L8, задайте 'SAR',{0.5 –0.1}.

  • Если вы устанавливаете 'SARLags' аргумент пары "имя-значение" SARLags, следующие условия применяются.

    • Длины SAR и SARLags должно быть равным.

    • SAR {j} коэффициент задержки SARLags (j), для всего j в SARLags.

    • По умолчанию, SAR {j} = NaN для всего j в SARLags.

  • В противном случае, SAR пусто, и модель не содержит сезонный полином AR.

    Коэффициенты в SAR соответствуйте коэффициентам в базовом LagOp изолируйте полином оператора, и подвергаются тесту исключения почти неприятия. Если вы устанавливаете коэффициент на 1e–12 или ниже, arima исключает тот коэффициент и его соответствующую задержку в SARLags из модели.

Пример: {0.2 0.1}

Пример: {NaN 0 0 NaN}

Типы данных: cell

Несезонные коэффициенты полинома MA, заданные как вектор ячейки. Ячейки содержат числовые скаляры или NaN значения. Полностью заданный несезонный полином MA должен быть обратимым.

  • Если вы используете краткий синтаксис, чтобы задать q > 0, MA {j} имеет значение NaN и это - коэффициент задержки jJ = 1, …, 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

Сезонные коэффициенты полинома 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

Степень несезонного интегрирования или степень несезонного полинома дифференцирования, заданного как неотрицательное целое число.

Пример 1

Типы данных: double

Степень сезонного полинома дифференцирования s, заданный как неотрицательное целое число.

Пример: 12 задает ежемесячную периодичность.

Типы данных: double

Коэффициенты компонента регрессии условного среднего значения, заданного как числовой вектор.

Если вы планируете оценить все элементы Beta, вы не должны задавать его. Во время оценки, estimate выводит размер Beta от количества столбцов заданных внешних данных X.

Пример: [0.5 NaN 3]

Типы данных: double

Инновационное отклонение модели, заданное как положительная скалярная величина или поддерживаемый условный объект модели отклонения (например, garch). Для всех поддерживаемых условных моделей отклонения см. Условные Модели Отклонения.

Положительная скалярная величина или NaN задает гомоскедастичную модель. Условный объект модели отклонения задает составное условное среднее значение и модель отклонения. estimate приспосабливает все неизвестные, допускающие оценку параметры в составе.

Пример 1

Пример: garch(1,0)

Типы данных: double

Функции объекта

estimateОцените ARIMA или параметры модели ARIMAX
summarizeОтобразите результаты оценки модели ARIMA
inferВыведите остаточные значения модели ARIMA или ARIMAX или условные отклонения
filterОтфильтруйте воздействия с помощью модели ARIMA или ARIMAX
impulseФункция импульсной характеристики
simulateСимуляция Монте-Карло моделей ARIMA или ARIMAX
forecastПредскажите ответы модели ARIMA или ARIMAX или условные отклонения

Примеры

свернуть все

Создайте модель 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 объект. Свойства модели появляются в командной строке.

Модель по умолчанию

yt=c+εt,

где c неизвестная константа и εt серия iid Гауссовых случайных переменных со средним значением 0 и отклонением σ2.

Mdl шаблон модели для оценки. Можно изменить значения свойств при помощи записи через точку или подбирать модель к данным при помощи estimate, но вы не можете передать Mdl к любой другой объектной функции.

Создайте модель ARIMA (2,1,1), представленную этим уравнением:

(1+0.5L2)(1-L)yt=3.1+(1-0.2L)εt,

где εt серия iid Гауссовых случайных переменных. Используйте рукописный синтаксис, чтобы задать значения параметров в уравнении, написанном в обозначении разностного уравнения:

Δyt=3.1-0.5Δyt-2+εt-0.2εt-1.

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), представленную этим уравнением:

yt=1+ϕyt-1+εt,

где εt серия 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), представленную этим уравнением:

(1-ϕ1L-ϕ2L2-ϕ3L3)(1-L)yt=(1+θ1L+θ2L2)εt,

где εt серия iid Гауссовых случайных переменных со средним значением 0 и отклонением σ2.

Поскольку модель содержит только несезонные полиномы, используйте краткий синтаксис.

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 равно p + D= 4 NaN- ценные элементы указывают на допускающие оценку параметры.

Чтобы включать аддитивные сезонные задержки, задайте задержки, совпадающие с соответствующей периодичностью. Например, создайте аддитивную ежемесячную модель MA (12), представленную в этом уравнении:

yt=εt+θ1εt-1+θ12εt-12,

где εt серия iid Гауссовых случайных переменных со средним значением 0 и отклонением σ2.

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(0,1,1)×(0,1,1)12 модель (мультипликативный, ежемесячный шаблон модели MA с одной степенью сезонного и несезонного интегрирования) представленный этим уравнением:

(1-L)(1-L12)yt=(1+θ1L)(1+θ12L12)εt,

где εt серия iid Гауссовых случайных переменных со средним значением 0 и отклонением σ2.

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), представленную этим уравнением:

yt=0.05+0.6yt-1+0.2yt-2-0.1yt-3+εt,

где εt серия 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
    {[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 t- распределенные инновации с неизвестными степенями свободы. Используйте рукописный синтаксис.

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 isnan, который указывает, что степени свободы являются допускающими оценку.

Создайте полностью заданную модель AR (1), представленную этим уравнением:

yt=0.6yt-1+εt,

где εt iid серия t- распределенные случайные переменные с 10 степенями свободы. Используйте рукописный синтаксис.

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) условная средняя модель, содержащая ДУГУ (1) условная модель отклонения, представленная этими уравнениями:

yt=c+ϕyt-1+εt+θεt-1.εt=σtzt.σt2=κ+γσt-12.ztN(0,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

Variance свойство Mdl isnan, что означает, что отклонение модели является неизвестной константой.

Создайте ДУГУ (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.090446       0.082052       -1.1023         0.27033
    MA{2}         0.29671       0.064589        4.5939      4.3504e-06
    Beta(1)        0.5831       0.048884        11.928      8.4533e-33
    Variance    5.305e-05     3.1387e-06        16.902       4.358e-64

Все оценки, кроме коэффициента задержки 1 мА, являются значительными на 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.0904456 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 объект модели для случайного обхода представлял в этом уравнении:

yt=yt-1+εt,

где εt серия 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 объект модели.

Симулируйте и постройте 1 000 путей длины 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 от 1 990 до 2001. Для получения дополнительной информации введите Description в командной строке.

Примите, что модель ARIMA (1,1,1) подходит для описания первых 1 500 цен закрытия 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.01999
    AR{1}       -0.076325      0.082045        -0.93029        0.35222
    MA{1}         0.31312      0.077284          4.0516     5.0869e-05
    Variance        27.86       0.63785          43.678              0

Предскажите заключительные значения в 500-дневный горизонт путем передачи предполагаемой модели forecast. Чтобы инициализировать модель для прогнозирования, задайте последние два наблюдения в данных об оценке как предварительная выборка.

yf0 = DataTable.NASDAQ(idxest(end - 1:end));
yf = forecast(EstMdl,500,yf0);

Постройте первые 2 000 наблюдений и прогнозы.

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

После запуска 1 995, прогнозы модели почти всегда недооценивают истинные цены закрытия.

Больше о

развернуть все

Ссылки

[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте