arma2ar

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

Описание

пример

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=1×5 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- numVars числовые матрицы или numVars- размерный LagOp изолируйте полином оператора. Для векторов ячейки:

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

    • ar0 и ma0 должен содержать numVars- 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- numVars числовые матрицы или numVars- размерный LagOp изолируйте полином оператора. Для векторов ячейки:

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

    • ar0 и ma0 должен оба содержать numVars- 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- numVars матрица коэффициентов AR ответа yt-j, для j = 0..., p.

  • Θk является numVars- 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- numVars матрица коэффициентов AR ответа yt-j, для j = 0..., p.

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

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

  • Θk является numVars- 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. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Предсказывая и Управление 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

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

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

Смотрите также

Объекты

Функции

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