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 lag term в порядке, начиная с 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. Создайте вектор камеры, содержащий коэффициент МА задержки в порядке, начиная с 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

Чтобы вычислить обратную матрицу полинома оператора задержки МА, используйте функцию объекта лаг-оператора с левым делением 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 lag оператор полинома объект. Если 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 lag оператор полинома объект. Если 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 lag, а затем возвращает оставшиеся коэффициенты. В результате вектор выхода имеет numLags элементы или это самое большее степень numLags LagOp полином оператора задержки.

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

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

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

свернуть все

Коэффициенты усеченной модели AR приближения модели ARMA, возвращенные в виде числового вектора, вектора камеры квадрата, числовых матриц или LagOp lag оператор полинома объект. 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 соответствует порядку коэффициентов отстающих откликов в операторе lag обозначения начиная с коэффициента y t. Если Φ0I 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-degree lag на текущей реакции в левой части уравнения. Правая сторона уравнения содержит константу модели и полином оператора q-degree lag на настоящем нововведении.

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

Φ(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-мерная модель константа.

  • <reservedrangesplaceholder3> 0 = <reservedrangesplaceholder2> 0 = <reservedrangesplaceholder1> <reservedrangesplaceholder0>, который является numVars-мерная единичная матрица, для моделей в редуцированном виде.

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

Для получения дополнительной информации о записи оператора задержки смотрите Lag Operator Notation.

Совет

  • Чтобы разместить структурные модели 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)

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

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

Ссылки

[1] Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Анализ временных рядов: прогнозирование и управление 3-м эд. Englewood Cliffs, NJ: Prentice Hall, 1994.

[2] Гамильтон, Дж. Д. Анализ временных рядов. Princeton, NJ: Princeton University Press, 1994.

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

Введенный в R2015a