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 (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);
Чтобы наложить ограничения равенства на значения параметров во время оценки или включить сезонные компоненты, установите соответствующие значения свойств с помощью записи через точку.

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

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

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

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

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

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

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

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

Синтаксис longhand позволяет вам создать сезонные модели или модели, в которых известны некоторые или все коэффициенты. Во время оценки, 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.

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

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

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

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

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

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

Задайте SMALags как периодичность наблюдаемых данных, а не как множители Seasonality свойство. Эта конвенция не соответствует стандартным обозначениям Box и Jenkins [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 не обязательно соответствует стандартным обозначениям Box и Jenkins [1], потому что P захватывает степени несезонного и сезонного AR- полиномов (свойства AR и SAR, соответственно), несезонное интегрирование (свойство D), и сезонность (свойство Seasonality). Явно, P = p + D + ps + s. P соответствует обозначения Box и Jenkins для моделей без интеграции или сезонного AR- компонента.

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

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

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

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

Q не обязательно соответствует стандартным обозначениям Box и Jenkins [1], потому что Q захватывает степени несезонных и сезонных полиномов MA (свойства MA и SMA, соответственно). Явно, Q = q + qs. Q соответствует обозначения Box и Jenkins для моделей без сезонного компонента 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)

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

  • DoF > 2 или DoF = NaN.

  • DoF является оценочным.

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

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

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

Моделируйте константу, заданную как числовой скаляр.

Пример: 1

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

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

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

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

    • РСА {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, заданные как вектор- камера. Камеры содержат числовые скаляры или NaN значения. Полностью заданный несезонный полином MA должен быть инвертируемым.

  • Если вы используете синтаксис shorthand, чтобы задать q > 0, MA {j} имеет значение NaN и это коэффициент задержки j, j = 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). Для всех поддерживаемых моделей условных отклонений см. «Модели условных отклонений».

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

Модель по умолчанию является

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 Гауссовых случайных переменных. Используйте синтаксис longhand, чтобы задать значения параметров в уравнении, записанном в разностное уравнение:

Δ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)

Figure contains an axes. The axes with title Impulse Response contains an object of type stem.

Создайте модель 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-значенные элементы указывают оценочные параметры.

Для включения добавочных сезонных лагов укажите лаги, соответствующие соответствующей периодичности. Для примера создайте модель аддитивной ежемесячной МА (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 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) и укажите iidt- распределенные инновации с неизвестными степенями свободы. Используйте синтаксис 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), представленную этим уравнением:

yt=0.6yt-1+εt,

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

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

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 объект модели для случайной прогулки, представленной в этом уравнении:

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 объект модели.

Моделируйте и стройте график 1000 путей длины 100 от случайной ходьбы.

rng(1) % For reproducibility
Y = simulate(Mdl,100,'NumPaths',1000);
plot(Y)
title('Simulated Paths from Random Walk Process')

Figure contains an axes. The axes with title Simulated Paths from Random Walk Process contains 1000 objects of type line.

Прогнозирует ежедневное закрытие цен 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

Figure contains an axes. The axes with title NASDAQ Composite Index: 1990-01-02 – 1997-11-25 contains 2 objects of type line. These objects represent Observed, Forecasted.

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

Подробнее о

расширить все

Ссылки

[1] Box, George E. P., Gwilym M. Jenkins, and Gregory C. Reinsel. Анализ временных рядов: прогнозирование и управление. 3-й эд. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1994.

Введенный в R2012a