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. Необходимым количеством строк является, по крайней мере, Mdl.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

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] Поле, 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.

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