arma2ar

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

Синтаксис

ar = arma2ar(ar0,ma0)
ar = arma2ar(ar0,ma0,numLags)

Описание

пример

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

arma2ar:

  • Принимает:

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

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

пример

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

Примеры

свернуть все

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

ar = arma2ar(ar0,ma0)
ar = 1×7

    0.7000   -0.4500    0.2250   -0.1125    0.0562   -0.0281    0.0141

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

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

yt=0.7yt-1-0.45yt-2+0.225yt-3-0.1125yt-4+0.0562yt-5+...-0.0281yt-6+0.0141yt-7+εt

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

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

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

ma0 = {-0.2 0 0.5};

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

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

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

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

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

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

{[10.2-0.10.031-0.150.9-0.251]-[-0.50.20.10.30.1-0.1-0.40.20.05]L4-[-0.050.020.010.10.010.001-0.040.020.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];

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

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

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

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

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

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

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

VARDiffEqn = reflect(VAR);

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

lag2Idx = VAR.Lags + 1; % Lags start at 0.  Add 1 to convert to indices.

varCoeff = toCellArray(VAR);
varDiffEqnCoeff = toCellArray(VARDiffEqn);

fprintf    ('          Lag Operator     |   Difference Equation\n')
          Lag Operator     |   Difference Equation
for j = 1:numel(lag2Idx)
    fprintf('_________________________Lag %d_________________________\n',...
        lag2Idx(j) - 1)
    fprintf('%8.3f %8.3f %8.3f | %8.3f %8.3f %8.3f\n',...
        [varCoeff{lag2Idx(j)} varDiffEqnCoeff{lag2Idx(j)}]')
    fprintf('_______________________________________________________\n')
end
_________________________Lag 0_________________________
   1.000    0.200   -0.100 |    1.000    0.200   -0.100
   0.030    1.000   -0.150 |    0.030    1.000   -0.150
   0.900   -0.250    1.000 |    0.900   -0.250    1.000
_______________________________________________________
_________________________Lag 4_________________________
   0.249   -0.151   -0.397 |   -0.249    0.151    0.397
  -0.312   -0.099    0.090 |    0.312    0.099   -0.090
   0.091   -0.268   -0.029 |   -0.091    0.268    0.029
_______________________________________________________
_________________________Lag 8_________________________
   0.037    0.060   -0.012 |   -0.037   -0.060    0.012
  -0.101   -0.007    0.000 |    0.101    0.007   -0.000
  -0.033    0.029    0.114 |    0.033   -0.029   -0.114
_______________________________________________________
_________________________Lag 12_________________________
   0.014   -0.007   -0.034 |   -0.014    0.007    0.034
   0.000   -0.000   -0.001 |   -0.000    0.000    0.001
  -0.010   -0.018    0.002 |    0.010    0.018   -0.002
_______________________________________________________

Коэффициенты задержек 4, 8, и 12 являются противоположностями между VAR и VARDiffEqn.

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

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

    0.7000   -0.4500    0.2250   -0.1125    0.0562

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

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

или

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

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

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

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

Theta = LagOp([1 0.5]);
ThetaInv = mldivide(Theta,1,'RelTol',1e-5);

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

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

arConstant = 1.5*sum(cell2mat(toCellArray(ThetaInv)))
arConstant = 1.0000

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

yt=1+0.7yt-1-0.45yt-2+0.225yt-3-0.1125yt-4+0.0562yt-5+εt.

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

свернуть все

Авторегрессивные коэффициенты 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. Модель находится в форме разностного уравнения. Чтобы преобразовать в модель AR, введите следующее в командное окно.

      ar = arma2ar([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});
      ar = arma2ar(ar0, ma0);

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

Если модель ARMA является строго моделью MA, то задайте [] или {} для 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) для первого коэффициента.

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

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

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

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

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

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

свернуть все

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

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

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

Если ar является полиномом оператора задержки LagOp, то порядок коэффициентов ar соответствует порядку коэффициентов изолированных ответов в обозначении оператора задержки начиная с коэффициента y t. Если Φ0  I numVars, то получившаяся модель AR структурна. Чтобы просмотреть коэффициенты в обозначении разностного уравнения, передайте ar reflect.

Больше о

свернуть все

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

Линейная модель временных рядов, написанная в 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.

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

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

    arDEN = toCellArray(reflect(ar));
    arDEN является вектором ячейки, содержащим в большей части numLags + 1 коэффициент, соответствующий условиям задержки в ar.Lags модели AR, эквивалентной из модели входа ARMA в обозначении разностного уравнения. Первый элемент является коэффициентом yt, второй элемент является коэффициентом y t –1 и так далее.

Алгоритмы

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

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

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

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

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

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

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

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

Ссылки

[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