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

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

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

Z

Ошибки, которые управляют инновационным процессом, заданным как numObs- 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 применяет его к каждому выходу path.

  • Если 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 применяет его к каждому выходу path.

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

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

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

Примечания

  • NaNs в Z, U0X, и 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

В качестве альтернативы симулируйте ответы путем случайной генерации собственных ошибок и передачи их в 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

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

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';

Функция импульсной характеристики, учитывая шок одного стандартного отклонения является масштабированной версией импульсной характеристики, возвращенной 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')

Переходной процесс улаживает приблизительно 0,4.

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

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

Ссылки

[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.

[2] Дэвидсон, R. и Дж. Г. Маккиннон. Эконометрическая теория и методы. Оксфорд, Великобритания: Издательство Оксфордского университета, 2004.

[3] Enders, W. Прикладные эконометрические временные ряды. Хобокен, NJ: John Wiley & Sons, Inc., 1995.

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

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

[6] Tsay, R. S. Анализ Финансовых Временных рядов. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 2005.

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