arma2ma

Преобразуйте модель ARMA в модель MA

Синтаксис

ma = arma2ma(ar0,ma0)
ma = arma2ma(ar0,ma0,numLags)

Описание

пример

ma = arma2ma(ar0,ma0) возвращает коэффициенты усеченного, бесконечного порядка приближение модели MA к модели ARMA, имеющей AR и коэффициенты MA, заданные ar0 и ma0, соответственно.

arma2ma:

  • Принимает:

  • Размещает модели временных рядов, которые являются одномерными или многомерными (т.е. переменные numVars составляют модель), стационарный или интегрированный, структурный или в уменьшаемой форме, и обратимый.

  • Принимает, что образцовый постоянный c 0.

пример

ma = arma2ma(ar0,ma0,numLags) возвращает первые ненулевые коэффициенты термина задержки numLags бесконечного порядка приближение модели MA модели ARMA, имеющей коэффициенты AR ar0 и коэффициенты MA ma0.

Примеры

свернуть все

Найдите коэффициенты задержки усеченного, приближения MA этого одномерной, стационарной, и обратимой моделью ARMA

yt=0.2yt-1-0.1yt-2+εt+0.5εt-1.

Модель ARMA находится в обозначении разностного уравнения, потому что левая сторона содержит только yt и его коэффициент 1. Создайте вектор, содержащий коэффициенты термина задержки AR в порядке, начинающем с t - 1.

ar0 = [0.2 -0.1];

Также можно создать вектор ячейки скалярных коэффициентов.

Создайте вектор, содержащий коэффициент термина задержки MA.

ma0 = 0.5;

Преобразуйте модель ARMA в модель MA путем получения коэффициентов усеченного приближения полинома бесконечной задержки.

ma = arma2ma(ar0,ma0)
ma = 1×4

    0.7000    0.0400   -0.0620   -0.0164

ma является числовым вектором, потому что ar0 и ma0 являются числовыми векторами.

Аппроксимированная модель MA, усеченная в 4 задержках,

yt=εt+0.7εt-1+0.04εt-2-0.062εt-3-0.0164εt-4.

Найдите первые пять коэффициентов задержки приближения MA этой одномерной и стационарной модели AR (3)

yt=-0.2yt-1+0.5yt-3+εt.

Модель AR находится в обозначении разностного уравнения, потому что левая сторона содержит только yt и его коэффициент 1. Создайте вектор ячейки, содержащий коэффициент термина задержки AR в порядке, начинающем с t - 1. Поскольку второй термин задержки модели MA отсутствует, задайте 0 для его коэффициента.

ar0 = {-0.2 0 0.5};

Преобразуйте модель AR в модель MA с самое большее пятью коэффициентами задержки усеченного приближения полинома бесконечной задержки. Поскольку нет никакого вклада MA, задайте пустую ячейку ({}) для коэффициентов MA.

numLags = 5;
ma0 = {}; 
ma = arma2ma(ar0,ma0,numLags)
ma = 1x5 cell array
    {[-0.2000]}    {[0.0400]}    {[0.4920]}    {[-0.1984]}    {[0.0597]}

ma является вектором ячейки скаляров, потому что по крайней мере один из ar0 и ma0 является вектором ячейки.

Аппроксимированная модель MA (5)

yt=εt-0.2εt-1+0.04εt-2+0.492εt-3-0.1984εt-4+0.0597εt-5

Найдите коэффициенты усеченного, структурного эквивалента VMA структурной, стационарной, и обратимой модели VARMA

{[10.2-0.10.031-0.150.9-0.251]+[0.5-0.2-0.1-0.3-0.10.10.4-0.2-0.05]L4+[0.05-0.02-0.01-0.1-0.01-0.0010.04-0.02-0.005]L8}yt={[100010001]+[-0.020.030.30.0030.0010.010.30.010.01]L4}εt

где yt=[y1ty2ty3t] и εt=[ε1tε2tε3t].

Модель VARMA находится в обозначении оператора задержки, потому что ответ и инновационные векторы находятся на противоположных сторонах уравнения.

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

var0 = {[1 0.2 -0.1; 0.03 1 -0.15; 0.9 -0.25 1],...
    [0.5 -0.2 -0.1; -0.3 -0.1 0.1; 0.4 -0.2 -0.05],...
    [0.05 -0.02 -0.01; -0.1 -0.01 -0.001; 0.04 -0.02 -0.005]};
var0Lags = [0 4 8];

Создайте вектор ячейки, содержащий коэффициенты матрицы VMA. Поскольку эта модель является структурной моделью, запустите с коэффициента εt и введите остальных по порядку задержкой. Создайте вектор, который указывает на степень термина задержки для соответствующих коэффициентов.

vma0 = {eye(3),...
    [-0.02 0.03 0.3; 0.003 0.001 0.01; 0.3 0.01 0.01]};
vma0Lags = [0 4];

arma2ma требует полиномов оператора задержки LagOp для входных параметров, которые включают структурные модели VAR или VMA. Создайте отдельные полиномы LagOp, которые описывают VAR и компоненты VMA модели VARMA.

VARLag = LagOp(var0,'Lags',var0Lags);
VMALag = LagOp(vma0,'Lags',vma0Lags);

VARLags и VMALags являются полиномами оператора задержки LagOp, которые описывают VAR и компоненты VMA модели VARMA.

Преобразуйте модель VARMA в модель VMA путем получения коэффициентов усеченного приближения полинома бесконечной задержки. Задайте, чтобы возвратить самое большее 12 изолированных условий.

numLags = 12;
VMA = arma2ma(VARLag,VMALag,numLags)
VMA = 
    3-D Lag Operator Polynomial:
    -----------------------------
        Coefficients: [Lag-Indexed Cell Array with 4 Non-Zero Coefficients]
                Lags: [0 4 8 12]
              Degree: 12
           Dimension: 3

VMA является полиномом оператора задержки LagOP. Все коэффициенты кроме тех, которые соответствуют задержкам 0, 4, 8, и 12, имеют размер 3х3 матрицы нулей.

Отобразите ненулевые коэффициенты получившейся модели VMA.

lag2Idx = VMA.Lags + 1; % Lags start at 0.  Add 1 to convert to indices.
vmaCoeff = toCellArray(VMA);

for j = 1:numel(lag2Idx)
    fprintf('___________Lag %d__________\n',lag2Idx(j) - 1)
    fprintf('%8.3f %8.3f %8.3f \n',vmaCoeff{lag2Idx(j)})
    fprintf    ('__________________________\n')
end
___________Lag 0__________
   0.943   -0.162   -0.889 
  -0.172    1.068    0.421 
   0.069    0.144    0.974 
__________________________
___________Lag 4__________
  -0.650    0.460    0.546 
   0.370    0.000   -0.019 
   0.383   -0.111   -0.312 
__________________________
___________Lag 8__________
   0.431   -0.138   -0.089 
  -0.170    0.122    0.065 
  -0.260    0.165    0.089 
__________________________
___________Lag 12__________
  -0.216    0.078    0.047 
   0.099   -0.013   -0.011 
   0.153   -0.042   -0.026 
__________________________

Найдите коэффициенты задержки и постоянный из усеченного приближения MA этого одномерная, стационарная, и обратимая модель ARMA

yt=1.5+0.2yt-1-0.1yt-2+εt+0.5εt-1.

Модель ARMA находится в обозначении разностного уравнения, потому что левая сторона содержит только yt и его коэффициент 1. Создайте отдельные векторы для AR и коэффициентов термина задержки MA в порядке, начинающем с t - 1.

ar0 = [0.2 -0.1];
ma0 = 0.5;

Преобразуйте модель ARMA в модель MA путем получения первых пяти коэффициентов усеченного приближения полинома бесконечной задержки.

numLags = 5;
ar = arma2ma(ar0,ma0,numLags)
ar = 1×5

    0.7000    0.0400   -0.0620   -0.0164    0.0029

Чтобы вычислить константу модели MA, рассмотрите модель ARMA в обозначении оператора задержки.

(1-0.2L+0.1L2)yt=1.5+(1+0.5L)εt

или

Φ(L)yt=1.5+Θ(L)εt

Часть преобразования включает предварительное умножение обеих сторон уравнения инверсией полинома оператора задержки AR, как в этом уравнении.

yt=Φ-1(L)1.5+Φ-1(L)Θ(L)εt

Чтобы вычислить инверсию полинома оператора задержки AR, используйте функцию объекта лево-деления оператора задержки mldivide.

Phi = LagOp([1 -0.2 0.1]);
PhiInv = mldivide(Phi,1,'RelTol',1e-5);

PhiInv является полиномом оператора задержки LagOp.

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

maConstant = 1.5*sum(cell2mat(toCellArray(PhiInv)))
maConstant = 1.6667

Аппроксимированная модель MA

yt=1.667+0.7εt-1+0.04εt-2-0.062εt-3-0.0164εt-4+0.0029εt-5+εt.

Поскольку безусловное ожидаемое значение всех инноваций 0, безусловное ожидаемое значение (или среднее значение) ряда ответа

E(yt)=1.667.

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

свернуть все

Авторегрессивные коэффициенты ARMA (p, q) модель, заданная как числовой вектор, вектор ячейки квадратных, числовых матриц или LagOp, изолируют объект полинома оператора. Если ar0 является вектором (числовой или ячейка), то коэффициент yt является идентичностью. Чтобы задать структурный полином AR (т.е. коэффициент yt не идентичность), используйте полиномы оператора задержки LagOp.

  • Для одномерных моделей временных рядов ar0 является числовым вектором, вектором ячейки скаляров или одномерным полиномом оператора задержки LagOp. Для векторов ar0 имеет длину, p и элементы соответствуют изолированным ответам, составляющим полином AR в обозначении разностного уравнения. Таким образом, ar0(j) или ar0{j} являются коэффициентом yt-j.

  • Для numVars - размерные модели временных рядов, ar0 является вектором ячейки numVars-by-numVars числовые матрицы или numVars - размерный полином оператора задержки LagOp. Для векторов ячейки:

    • ar0 имеет длину p.

    • ar0 и ma0 должны содержать numVars-by-numVars матрицы.

    • Элементы ar0 соответствуют изолированным ответам, составляющим полином AR в обозначении разностного уравнения. Таким образом, ar0{j} является матрицей коэффициентов yt-j.

    • Строка k матрицы коэффициентов AR содержит коэффициенты AR в уравнении переменной yk. Впоследствии, столбец, k должен соответствовать переменной yk, и порядку следования столбцов и порядку строк всех коэффициентов авторегрессивного и скользящего среднего значения, должен быть сопоставимым.

  • Поскольку LagOp изолирует полиномы оператора:

    • Первый элемент свойства Coefficients соответствует коэффициенту yt (чтобы разместить структурные модели). Все другие элементы соответствуют коэффициентам последующих задержек в свойстве Lags.

    • Чтобы создать одномерную модель в уменьшаемой форме, задайте 1 для первого коэффициента. Для numVars - размерные многомерные модели, задайте eye(numVars) для первого коэффициента.

    • Когда вы работаете из модели в обозначении разностного уравнения, инвертируете коэффициент AR изолированных условий, чтобы создать эквивалентный полином оператора задержки. Например, рассмотреть yt=0.5yt10.8yt2+εt0.6εt1+0.08εt2. Модель находится в обозначении разностного уравнения. Чтобы преобразовать в модель MA, введите следующее в командное окно.

      ma = arma2ma([0.5 -0.8], [-0.6 0.08]);

      Модель ARMA в обозначении оператора задержки (10.5L+0.8L2)yt=(10.6L+0.08L2)εt. Коэффициенты AR изолированных ответов отрицаются по сравнению с соответствующими коэффициентами в формате разностного уравнения. В этой форме, чтобы получить тот же результат, вводят следующее в командное окно.

      ar0 = LagOp({1 -0.5 0.8});
      ma0 = LagOp({1 -0.6 0.08});
      ma = arma2ma(ar0, ma0);

Это - лучшая практика для ar0, чтобы составить стационарную или корневую модулем стационарную (интегрированную) модель временных рядов.

Коэффициенты скользящего среднего значения ARMA (p, q) модель, заданная как числовой вектор, вектор ячейки квадратных, числовых матриц или LagOp, изолируют объект полинома оператора. Если ma0 является вектором (числовой или ячейка), то коэффициент εt является идентичностью. Чтобы задать структурный полином MA (т.е. коэффициент εt не идентичность), используйте полиномы оператора задержки LagOp.

  • Для одномерных моделей временных рядов ma0 является числовым вектором, вектором ячейки скаляров или одномерным полиномом оператора задержки LagOp. Для векторов ma0 имеет длину, q и элементы соответствуют изолированным инновациям, составляющим полином AR в обозначении разностного уравнения. Таким образом, ma0(j) или ma0{j} являются коэффициентом εt-j.

  • Для numVars - размерные модели временных рядов, ma0 является вектором ячейки числового numVars-by-numVars числовые матрицы или numVars - размерный полином оператора задержки LagOp. Для векторов ячейки:

    • ma0 имеет длину q.

    • ar0 и ma0 должны оба содержать numVars-by-numVars матрицы.

    • Элементы ma0 соответствуют изолированным ответам, составляющим полином AR в обозначении разностного уравнения. Таким образом, ma0{j} является матрицей коэффициентов yt-j.

  • Поскольку LagOp изолирует полиномы оператора:

    • Первый элемент свойства Coefficients соответствует коэффициенту εt (чтобы разместить структурные модели). Все другие элементы соответствуют коэффициентам последующих задержек в свойстве Lags.

    • Чтобы создать одномерную модель в уменьшаемой форме, задайте 1 для первого коэффициента. Для numVars - размерные многомерные модели, задайте eye(numVars) для первого коэффициента.

Если модель ARMA является строго моделью AR, то задайте [] или {}.

Это - лучшая практика для ma0, чтобы составить обратимую модель временных рядов.

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

Если вы задаете 'numLags', то arma2ma обрезает выходной полином в максимуме условий задержки numLags, и затем возвращает остающиеся коэффициенты. В результате выходной вектор имеет элементы numLags или является самое большее степенью numLags полином оператора задержки LagOp.

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

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

Выходные аргументы

свернуть все

Коэффициенты термина задержки усеченного приближения модели MA модели ARMA, возвращенной как числовой вектор, вектор ячейки квадратных, числовых матриц или LagOp, изолируют объект полинома оператора. ma имеет элементы numLags или является самое большее степенью numLags полином оператора задержки LagOp.

Типы данных и ориентации ar0 и ma0 определяют тип данных и ориентацию ma. Если ar0 или ma0 имеют совпадающий тип данных или имеют ту же ориентацию, то ma совместно использует тип общих данных или ориентацию. Если по крайней мере один из ar0 или ma0 является полиномом оператора задержки LagOp, то ma является полиномом оператора задержки LagOp. В противном случае, если по крайней мере один из ar0 или ma0 является вектором ячейки, то ma является вектором ячейки. Если ar0 и ma0 являются ячейкой или числовыми векторами, и по крайней мере один - вектор - строка, то ma является вектором - строкой.

Если ma является ячейкой или числовым вектором, то порядок элементов ma соответствует порядку коэффициентов изолированных инноваций в обозначении разностного уравнения начиная с коэффициента ε t-1. Получившаяся модель MA находится в уменьшаемой форме.

Если ma является полиномом оператора задержки LagOp, то порядок коэффициентов ma соответствует порядку коэффициентов изолированных инноваций в обозначении оператора задержки начиная с коэффициента ε t. Если Θ0  I numVars, то получившаяся модель MA структурна.

Больше о

свернуть все

Обозначение разностного уравнения

Линейная модель временных рядов, написанная в difference-equation notation, располагает приведенную стоимость ответа и его структурного коэффициента на левой стороне уравнения. Правая сторона уравнения содержит сумму изолированных ответов, существующих инноваций, и изолировала инновации с соответствующими коэффициентами.

Другими словами, линейные временные ряды, написанные в обозначении разностного уравнения,

Φ0yt=c+Φ1yt1+...+Φpytp+Θ0εt+Θ1εt1+...+Θqεtq,

где

  • yt является numVars - размерный вектор, представляющий ответы переменных numVars во время t для всего t и для numVars ≥ 1.

  • εt является numVars - размерный вектор, представляющий инновации во время t.

  • Φj является numVars-by-numVars матрица коэффициентов AR ответа yt-j, для j = 0..., p.

  • Θk является numVars-by-numVars матрица коэффициентов MA инноваций εt-k., k = 0..., q.

  • c является n - размерная образцовая константа.

  • Φ 0 = Θ 0 = I numVars, который является numVars - размерная единичная матрица для моделей в уменьшаемой форме.

Изолируйте обозначение оператора

Модель временных рядов, написанная в lag operator notation, располагает p - полином оператора задержки степени на существующем ответе на левой стороне уравнения. Правая сторона уравнения содержит образцовую константу и q - полином оператора задержки степени на существующих инновациях.

Другими словами, линейная модель временных рядов, написанная в обозначении оператора задержки,

Φ(L)yt=c+Θ(L)εt,

где

  • yt является numVars - размерный вектор, представляющий ответы переменных numVars во время t для всего t и для numVars ≥ 1.

  • Φ(L)=Φ0Φ1LΦ2L2...ΦpLp, который является авторегрессивным, полиномом оператора задержки.

  • L является оператором подготовительной смены, другими словами, Ljyt=ytj.

  • Φj является numVars-by-numVars матрица коэффициентов AR ответа yt-j, для j = 0..., p.

  • εt является numVars - размерный вектор, представляющий инновации во время t.

  • Θ(L)=Θ0+Θ1L+Θ2L2+...+ΘqLq, который является скользящим средним значением, полиномом оператора задержки.

  • Θk является numVars-by-numVars матрица коэффициентов MA инноваций εt-k., k = 0..., q.

  • c является numVars - размерная образцовая константа.

  • Φ 0 = Θ 0 = I numVars, который является numVars - размерная единичная матрица для моделей в уменьшаемой форме.

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

Для получения дополнительной информации на обозначении оператора задержки, смотрите Обозначение Оператора Задержки.

Советы

  • Чтобы разместить структурные модели ARMA, задайте входные параметры ar0 и ma0 как полиномы оператора задержки LagOp.

  • Чтобы получить доступ к вектору ячейки коэффициентов полинома оператора задержки выходного аргумента ma, введите toCellArray(ma).

Алгоритмы

  • Программное обеспечение вычисляет полином бесконечной задержки получившейся модели MA согласно этому уравнению в обозначении оператора задержки:

    yt=Φ1(L)Θ(L)εt

    где Φ(L)=j=0pΦjLj и Θ(L)=k=0qΘkLk.

  • arma2ma аппроксимирует коэффициенты модели MA, составляют ли ar0 и ma0 стабильный полином (полином, который является стационарным или обратимым). Чтобы проверять на устойчивость, используйте isStable.

    isStable требует полинома оператора задержки LagOp, как введено. Например, если ar0 является вектором, введите следующий код, чтобы проверять ar0 на стационарность.

    ar0LagOp = LagOp([1 -ar0]);
    isStable(ar0LagOp)

    0 указывает, что полином не стабилен.

    Можно так же проверять, является ли приближение MA к модели ARMA (ma) обратимым.

Ссылки

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

[2] Гамильтон, J. D. Анализ timeseries. Принстон, NJ: Издательство Принстонского университета, 1994.

[3] Lutkepohl, H. Новое введение в несколько анализ временных рядов. Springer-Verlag, 2007.

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