exponenta event banner

arima

Создание одномерной авторегрессивной интегрированной модели скользящего среднего (ARIMA)

Описание

arima функция возвращает arima задание функциональной формы и сохранение значений параметров модели линейных временных рядов ARIMA (p, D, q) для одномерного процесса ответа yt.

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 несезонный полином интегрирования и несезонный многочлен МА с интервалом от 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 1 − 0 .5L1 + 0 .1L4.

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

AR{j} - коэффициент запаздывания ARLags(j).

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

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

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

MA{j} - коэффициент запаздывания MALags(j).

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

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

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

SAR{j} - коэффициент запаздывания SARLags(j).

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

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

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

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

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

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

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

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

Q не обязательно соответствует стандартным обозначениям Бокса и Дженкинса [1], поскольку Q фиксирует степени несезонных и сезонных многочленов МА (свойства 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"struct('Name',"t",'DoF',DoF)

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

  • DoF > 2 или DoF = NaN.

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

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

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

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

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

Пример: 1

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

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

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

  • Если для указания используется сокращенный синтаксис 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 (L) = 1 0 .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

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

  • Если для указания используется сокращенный синтаксис 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

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

  • Если установить '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) к данным
summarizeОтображение результатов оценки модели ARIMA
inferОстатки модели INFARIMA или ARIMAX или условные отклонения
filterФильтрация возмущений с использованием моделей ARIMA или ARIMAX
impulseГенерировать одномерную авторегрессивную интегрированную функцию импульсной характеристики (IRF) модели скользящего среднего (ARIMA)
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 и дисперсией start2.

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 и дисперсией start2.

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

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 + start1αt-1 + start12αt-12,

где αt - ряд iid гауссовых случайных величин со средним значением 0 и дисперсией start2.

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 и дисперсией start2.

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) и укажите iid t-распределенных инноваций с неизвестными степенями свободы. Используйте синтаксис 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.zt∼N (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 является 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

Все оценки, за исключением коэффициента lag 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] Бокс, Джордж Э. П., Гвилим М. Дженкинс и Грегори К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

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