exponenta event banner

фильтр

Класс: 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 не может содержать NaNs.

Z

Ошибки, которые управляют инновационным процессом, указанные как numObsоколо-numPaths матрица. То есть αt = startzt - процесс инноваций, где λ - стандартное отклонение инноваций, а 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), затем использует удаление на основе списка для удаления любого NaNs. filter аналогично удаляет NaNs из эффективной выборки данных (Z и X). Удаление NaNs в данных уменьшает размер выборки. Такое удаление может также создавать нерегулярные временные ряды.

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

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

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

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

Y

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

E

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

U

Смоделированные безусловные возмущения, возвращенные в виде numobsоколо-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] Бокс, Г. Э. П., Г. М. Дженкинс и Г. К. Рейнсель. Анализ временных рядов: прогнозирование и контроль. 3-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1994.

[2] Дэвидсон, Р. и Дж. Г. Маккиннон. Эконометрическая теория и методы. Оксфорд, Великобритания: Oxford University Press, 2004.

[3] Enders, W. Applied Econometric Time Series. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1995.

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

[5] Панкрац, А. Прогнозирование с использованием динамических регрессионных моделей. John Wiley & Sons, Inc., 1991.

[6] Цай, Р. С. Анализ финансовых временных рядов. 2-й ред. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 2005.