фильтр

Класс: LagOp

Примените полином оператора задержки, чтобы отфильтровать временные ряды

Синтаксис

[Y,times] = filter(A,X)
[Y,times] = filter(A,X,'Initial',X0)

Описание

Учитывая полином оператора задержки A(L), [Y,times] = filter(A,X)применяет A(L) к данным временных рядов X(t). Это эквивалентно применению линейного фильтра к X(t), производя отфильтрованную выходную серию Y(t) = A(L)X(t).

[Y,times] = filter(A,X,'Initial',X0) применяет A(L) к данным временных рядов X(t) с заданными преддемонстрационными значениями входных временных рядов X(t).

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

A

Изолируйте объект полинома оператора, как произведено LagOp.

X

numObs-by-numDims матрица данных временных рядов, к которым полином оператора задержки применяется A. Последнее наблюдение принято, чтобы быть новым. numDims является размерностью A, если X не является вектором - строкой, в этом случае X обработан как одномерный ряд. Для одномерного X ориентация вывода Y определяется ориентацией входа X.

'Initial'

Преддемонстрационные значения входных временных рядов X(t). Если 'Initial' не задан, или если количество преддемонстрационных значений недостаточно, чтобы инициализировать фильтрацию, значения приняты с начала X, уменьшая эффективный объем выборки вывода Y. Для удобства скалярные преддемонстрационные значения расширены, чтобы обеспечить весь numPresampleObs-by-numDims преддемонстрационные значения, и данные не взяты из X. Если более преддемонстрационные значения заданы, чем необходимый, только новые значения используются. Для одномерного X преддемонстрационные значения могут быть строкой или вектор-столбцом.

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

Y

Фильтрованные входные временные ряды, Y(t) = A(L)X(t).

times

Вектор относительных индексов времени та же длина как Y. Времена выражаются относительно, или как смещение от, времена наблюдений 0, 1, 2..., numObs –1 для входной серии X(t). Для полинома степени p Y(0) является линейной комбинацией X(t) в течение многих времен t = 0, –1, –2..., –p (преддемонстрационные данные). Y(t) для t> 0 является линейной комбинацией X(t) в течение многих времен t = t, t –1, t –2..., tp.

Примеры

развернуть все

Создайте полином LagOp и случайные временные ряды:

rng('default')                % Make output reproducible

A = LagOp({1 -0.6 0.08 0.2}, 'Lags', [0 1 2 4]);
X = randn(10, A.Dimension);

Отфильтруйте входные временные ряды без явных начальных наблюдений, позволив методу filter автоматически разделить все необходимые исходные данные с начала входных временных рядов X(t).

[Y1,T1] = filter(A, X);

Вручную разделите все необходимые преддемонстрационные наблюдения непосредственно с начала X(t), затем передайте в уменьшаемой длине X(t) и разделенные преддемонстрационные наблюдения непосредственно к методу filter. В этом случае, первые 4 наблюдения за X(t) разделяются, потому что степень полинома оператора задержки, созданного ниже, равняется 4.

[Y2,T2] = filter(A, X((A.Degree + 1):end,:), ...
     'Initial', X(1:A.Degree,:));

Вручную лишите часть необходимых преддемонстрационных наблюдений с начала X(t) и позвольте методу filter автоматически разделить остающиеся наблюдения от X(t).

[Y3,T3] = filter(A, X((A.Degree - 1):end,:), ...
     'Initial', X(1:A.Degree - 2,:));

Отфильтрованные выходные ряды являются всеми одинаковыми. Однако связанные временные векторы не.

disp([T1 T2 T3])
     4     0     2
     5     1     3
     6     2     4
     7     3     5
     8     4     6
     9     5     7

Алгоритмы

Фильтрация ограничивается одним путями, таким образом, матричные данные приняты, чтобы быть одним путем многомерного процесса, и 3-D данные (разнообразные пути многомерного процесса) не позволены.

Смотрите также