arma2ma

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

Описание

пример

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

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

    • ar0 и ma0 должен оба содержать numVars- 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- 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 изолируйте полиномы оператора.

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

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

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

Представленный в R2015a
Для просмотра документации необходимо авторизоваться на сайте