filter

Класс: regARIMA

Фильтруйте нарушения порядка через регрессионую модель с ошибками ARIMA

Синтаксис

[Y,E,U] = filter(Mdl,Z)
[Y,E,U] = filter(Mdl,Z,Name,Value)

Описание

[Y,E,U] = filter(Mdl,Z) фильтрует ошибки, чтобы получить ответы, инновации и безусловные нарушения порядка одномерной регрессионой модели с временными рядами ошибками ARIMA.

[Y,E,U] = filter(Mdl,Z,Name,Value) фильтрует ошибки, используя дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

Входные параметры

Mdl

Регрессионная модель с ошибками ARIMA, заданная как модель, возвращаемая regARIMA или estimate.

Параметры Mdl не может содержать NaNс.

Z

Ошибки, которые управляют инновационным процессом, заданные как numObs-by- numPaths матрица. То есть εt = σzt является инновационным процессом, где σ является инновационным стандартным отклонением, и zt являются ошибками для t = 1,..., T.

Как вектор-столбец, Z представляет путь к базовому ряду ошибок. Как матрица, Z представляет numObs наблюдения за numPaths пути базовых ошибок. filter принимает, что наблюдения в любой строке происходят одновременно. Последняя строка содержит последнее наблюдение. Z является продолжением предопределительных ошибок, Z0.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

'U0'

Предварительная выборка безусловных нарушений порядка, которые обеспечивают начальные значения для модели ошибки ARIMA, заданный как разделенная разделенными запятой парами, состоящая из 'U0' и вектор-столбец или матрица.

  • Если U0 является вектор-столбец, тогда filter применяет его к каждому выходному пути.

  • Если U0 является матрицей, тогда это требует как минимум numPaths столбцы. Если количество столбцов превышает numPaths, затем filter использует первую numPaths столбцы.

  • U0 требует достаточно строк, чтобы инициализировать составной авторегрессивный компонент модели ошибки ARIMA. Необходимое количество строк не менее Mdl.P. Если количество строк в U0 превышает необходимое число, затем filter использует последние Mdl.P предварительная выборка безусловных нарушений порядка. Последняя строка содержит последний перед выборкой безусловного нарушения порядка.

По умолчанию: filter устанавливает необходимые предопределительные безусловные нарушения порядка равными 0.

'X'

Данные предиктора в регрессионной модели, заданные как разделенная разделенными запятой парами, состоящая из 'X' и матрицу.

Столбцы X являются отдельными синхронизированными временными рядами с последней строкой, содержащей последние наблюдения. Количество строк X должен быть по крайней мере numObs. Если количество строк X превышает необходимое число, затем filter использует последние наблюдения.

По умолчанию: filter не включает в модель регрессионный компонент независимо от наличия коэффициентов регрессии в Mdl.

'Z0'

Предварительный образец ошибок, обеспечивающий начальные значения для входного ряда ошибок, Z, заданная как разделенная разделенными запятой парами, состоящая из 'Z0' и вектор или матрица.

  • Если Z0 является вектор-столбец, тогда filter применяет его к каждому выходному пути.

  • Если Z0 является матрицей, тогда это требует как минимум numPaths столбцы. Если количество столбцов превышает numPaths, затем filter использует первую numPaths столбцы.

  • Z0 требует достаточно строк, чтобы инициализировать составной компонент скользящего среднего значения модели ошибки ARIMA. Необходимое количество строк не менее Mdl.Q. Если количество строк в Z0 превышает необходимое число, затем filter использует последние Mdl.Q наблюдения. Последняя строка содержит последнее наблюдение.

По умолчанию: filter устанавливает необходимые ошибки предварительного образца равными 0.

Примечания

  • NaNs в Z, U0, X, и Z0 указать отсутствующие значения и filter удаляет их. Программа объединяет предварительные наборы данных (U0 и Z0), затем использует список удаления, чтобы удалить любое NaNс. filter точно так же удаляет NaNs из эффективных выборочных данных (Z и X). Удаление NaNs в данных уменьшает размер выборки. Такое удаление может также создать неправильные временные ряды.

  • Удаление NaNs в основных данных уменьшает эффективный размер выборки. Такое удаление может также создать неправильные временные ряды.

  • filter принимает, что вы синхронизируете данные предварительного образца таким образом, чтобы последнее наблюдение каждой серии предварительных образцов происходило одновременно.

  • Все серии предикторов (то есть столбцы) в X связаны с каждой серией ошибок в Z для производства numPaths последовательность ответов Y.

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

Y

Симулированные отклики, возвращенные как numobs-by- numPaths матрица.

E

Моделируемые, средние 0 инноваций модели ошибки ARIMA, возвращенные как numobs-by- numPaths матрица.

U

Моделируемые безусловные нарушения порядка, возвращенные как numobs-by- numPaths матрица.

Примеры

расширить все

Моделируйте ответы с помощью filter и simulate. Затем сравните симулированные отклики.

Оба filter и simulate фильтровать серию ошибок, чтобы получить выходные отклики y, инновации eи безусловные нарушения порядка u. Это различие simulate генерирует ошибки от Mdl.Distribution, тогда как filter принимает случайный массив ошибок, которые вы генерируете из любого распределения.

Задайте следующую регрессионую модель с ошибками ARMA (2,1):

yt=Xt[0.1-0.2]+utut=0.5ut-1-0.8ut-2+εt-0.5εt-1,

где εt является Гауссовым с отклонением 0,1.

Mdl = regARIMA('Intercept',0,'AR',{0.5 -0.8}, ...
    'MA',-0.5,'Beta',[0.1 -0.2],'Variance',0.1);

Симулируйте данные для предикторов и от Mdl использование симуляции Монте-Карло.

rng(1);           % For reproducibility
X = randn(100,2); % Simulate predictor data
[ySim,eSim,uSim] = simulate(Mdl,100,'X',X);

Стандартизируйте моделируемые инновации и фильтруйте их.

z1 = eSim./sqrt(Mdl.Variance);
[yFlt1,eFlt1,uFlt1] = filter(Mdl,z1,'X',X);

Подтвердите, что симулированные отклики от simulate и filter идентичны при помощи графика.

figure
h1 = plot(ySim);
hold on
h2 = plot(yFlt1,'.');
title '{\bf Filtered and Simulated Responses}';
legend([h1, h2],'Simulate','Filter','Location','Best')
hold off

Figure contains an axes. The axes with title {\bf Filtered and Simulated Responses} contains 2 objects of type line. These objects represent Simulate, Filter.

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

rng(1);
X = randn(100,2);
z2 = randn(100,1);
yFlt2 = filter(Mdl,z2,'X',X);
figure
h1 = plot(ySim);
hold on
h2 = plot(yFlt2,'.');
title '{\bf Filtered and Simulated Responses}';
legend([h1, h2],'Simulate','Filter','Location','Best')
hold off

Figure contains an axes. The axes with title {\bf Filtered and Simulated Responses} contains 2 objects of type line. These objects represent Simulate, Filter.

Этот график аналогичен предыдущему графику, подтверждая, что оба метода симуляции эквивалентны.

filter умножает ошибку, Z, по sqrt(Mdl.Variance) перед фильтрацией Z через модель. Поэтому, если вы хотите задать свое собственное распределение, задайте Mdl.Variance 1, а затем сгенерируйте свои собственные ошибки, используя, например, random('unif',a,b) для Единообразного (a, b) распределения .

Симулируйте импульсную характеристику инновационного шока на регрессионую модель с ошибками ARMA (2,1 ).

Импульсная характеристика оценивает динамическое поведение системы до одноразового удара. Обычно величина удара равна 1. В качестве альтернативы было бы более целесообразно изучить импульсную характеристику инновационного шока с величиной одного стандартного отклонения.

В регрессионных моделях с ошибками ARIMA,

  • Функция импульсной характеристики инвариантна поведению предикторов и точке пересечения.

  • Импульсная характеристика модели задается как импульсная характеристика безусловных нарушений порядка, управляемых компонентом ошибки ARIMA.

Задайте следующую регрессионую модель с ошибками ARMA (2,1 ):

yt=utut=0.5ut-1-0.8ut-2+εt-0.5εt-1,

где εt является Гауссовым с отклонением 0,1.

Mdl = regARIMA('Intercept', 0, 'AR', {0.5 -0.8}, ...
    'MA', -0.5,'Variance',0.1);

Когда вы создаете функцию импульсной характеристики для регрессионой модели с ошибками ARIMA, вы должны задать Intercept в 0.

Симулируйте первые 30 откликов функции импульсной характеристики путем генерации ряда ошибок с однократным импульсом с величиной, равной одному стандартному отклонению, и затем фильтруйте его. Кроме того, используйте impulse для вычисления функции импульсной характеристики.

z = [sqrt(Mdl.Variance);zeros(29,1)]; % Shock of 1 std
yFltr  = filter(Mdl,z);
yImpls = impulse(Mdl,30);

Когда вы создаете функцию импульсной характеристики для регрессионой модели с ошибками ARIMA, содержащими регрессионый компонент, не задайте матрицу предиктора X, в filter.

Постройте график функций импульсной характеристики.

figure
subplot(2,1,1)
stem((0:numel(yFltr)-1)',yFltr,'filled')
title...
    ('Impulse Response to Shock of One Standard Deviation');
subplot(2,1,2)
stem((0:numel(yImpls)-1)',yImpls,'filled')
title 'Impulse Response to Unit Shock';

Figure contains 2 axes. Axes 1 with title Impulse Response to Shock of One Standard Deviation contains an object of type stem. Axes 2 with title Impulse Response to Unit Shock contains an object of type stem.

Функция импульсной характеристики, заданная как шок одного стандартного отклонения, является масштабированной версией импульсной характеристики, возвращаемой impulse.

Симулируйте функцию переходной характеристики регрессионной модели с ошибками ARMA (2,1 ).

Переходная характеристика оценивает динамическое поведение системы до стойкого шока. Обычно величина удара равна 1. В качестве альтернативы было бы более целесообразно изучить переходную характеристику постоянного инновационного шока с величиной одного стандартного отклонения. Этот пример строит график переходной характеристики постоянного инновационного шока в модели без матрицы точки пересечения и предиктора для регрессии. Однако обратите внимание, что filter гибок в том, что принимает постоянные инновации или предикторный шок, который вы создаете с использованием любой величины, затем фильтрует его через модель.

Задайте следующую регрессионую модель с ошибками ARMA (2,1 ):

yt=utut=0.5ut-1-0.8ut-2+εt-0.5εt-1,

где εt является Гауссовым с отклонением 0,1.

Mdl = regARIMA('Intercept', 0, 'AR', {0.5 -0.8}, ...
    'MA', -0.5,'Variance',0.1);

Симулируйте первые 30 ответов на последовательность модуля ошибок, сгенерировав серию ошибок из одного стандартного отклонения, а затем фильтруя ее.

z = sqrt(Mdl.Variance)*ones(30,1);...
    % Persistent shock of one std
y = filter(Mdl,z);            
y = y/y(1);  % Normalize relative to y(1)

Постройте график функции переходной характеристики.

figure
stem((0:numel(y)-1)',y,'filled')
title('Step Response for Persistent Shock of One STD')

Figure contains an axes. The axes with title Step Response for Persistent Shock of One STD contains an object of type stem.

Переходная характеристика оседает около 0,4.

Альтернативы

  • filter обобщает simulate. Обе фильтруют серию ошибок, чтобы получить ответы (Y), инновации (E), и безусловные нарушения порядка (U). Однако simulate автогенерирует ряд средних нулевых единичных отклонений, независимых и идентично распределенных (iid) ошибок в соответствии с распределением в Mdl. Напротив, filter требует, чтобы вы указывали свои собственные ошибки, которые могут быть получены из любого распределения.

Ссылки

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

[2] Davidson, R., and J. G. MacKinnon. Эконометрическая теория и методы. Оксфорд, Великобритания: Oxford University Press, 2004.

[3] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, Inc., 1995.

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

[5] Pankratz, A. Прогнозирование с динамическими регрессиоными моделями. John Wiley & Sons, Inc., 1991.

[6] Tsay, R.S. Analysis of Financial Time Series. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 2005.

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