exponenta event banner

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 и коэффициенты МА ma0.

Примеры

свернуть все

Найти коэффициенты запаздывания усеченной, МА аппроксимации этой одномерной, стационарной и обратимой модели 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 0,04αt-2-0,062αt-3-0,0164αt-4.

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

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.001] L4}

где 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 
__________________________

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

или

Start( L) yt = 1,5 + Start( L) αt

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

yt = Φ-1 (L) 1,5 + Φ-1 (L)

Для вычисления обратного многочлена оператора задержки 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 0,04αt-2-0,062αt-3-0,0164αt-4 + 0 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 .5yt 1 0 .8yt 2 + αt 0 .6αt − 1 + 0 .08αt − 2. Модель представлена в виде разностного уравнения. Для преобразования в модель MA введите в командное окно следующее.

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

      Модель ARMA в нотации оператора запаздывания - (1 − 0 .5L + 0 .8L2) yt = (1 0 .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 lag terms, а затем возвращает оставшиеся коэффициенты. В результате выходной вектор имеет numLags элементы или не более степени numLags LagOp полином оператора запаздывания.

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

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

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

свернуть все

Коэффициенты запаздывания усеченной модели МА модели 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 является LagOp оператор запаздывания многочлен, затем порядок коэффициентов ma соответствует порядку коэффициентов запаздывающих нововведений в нотации оператора запаздывания, начиная с коэффициента αt. Если Θ0InumVars, то полученная модель MA является структурной.

Подробнее

свернуть все

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

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

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

Φ0yt=c +Φ1yt−1 +... + Φpyt−p +Θ0εt +Θ1εt−1 +... + Θqεt−q,

где

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

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

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

  • Startk - это numVarsоколо-numVars матрица коэффициентов MA нововведения αt-k., k = 0,..., q.

  • c - константа n-мерной модели.

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

Нотация оператора задержки

Модель временного ряда, записанная в нотации оператора запаздывания, позиционирует полином оператора запаздывания p-градуса на данном ответе в левой части уравнения. Правая часть уравнения содержит константу модели и полином оператора q-градусного запаздывания в настоящем новшестве.

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

Start( L) yt = c + Start( L) αt,

где

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

  • Λ (L) = Φ0 Φ1L Φ2L2 ... − ФрЛп, который является авторегрессионным, запаздывающим операторным многочленом.

  • L - оператор обратного сдвига, другими словами, Ljyt = yt − j.

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

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

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

  • Startk - это numVarsоколо-numVars матрица коэффициентов MA нововведения αt-k., k = 0,..., q.

  • c - numVars- константа размерной модели.

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

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

Дополнительные сведения о нотации оператора задержки см. в разделе Нотация оператора задержки.

Совет

  • Для размещения структурных моделей ARMA задайте входные аргументы ar0 и ma0 как LagOp многочлены оператора запаздывания.

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

Алгоритмы

  • Программное обеспечение вычисляет многочлен бесконечного запаздывания результирующей модели МА согласно этому уравнению в нотации оператора запаздывания:

    yt = Start− 1 (L) (L)

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

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

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

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

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

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

Ссылки

[1] Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль 3-е ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

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

[3] Lutkepohl, H. Новое введение в анализ множественных временных рядов. Спрингер-Верлаг, 2007.

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