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

Если модель ARMA является строго AR-моделью, задайте [] или {}.

Это лучшая практика для ma0 для формирования инвертируемой модели временных рядов.

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

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

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

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

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

свернуть все

Запаздывающие коэффициенты усечённого приближения модели MA модели ARMA, возвращенные в виде числового вектора, камеры вектора квадрата, числовых матриц или LagOp lag оператор полинома объект. 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. Если Θ0I 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-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 задержка полиномов оператора.

  • Для доступа к вектору камеры полиномиальных коэффициентов оператора задержки выходного аргумента 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)

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

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

Ссылки

[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
Для просмотра документации необходимо авторизоваться на сайте