Задайте оператор задержки L такой, чтобы Liyt = yt–i. Многочлен m-degree коэффициентов, A в L оператора задержки, задан
Здесь коэффициент A 0 соответствует задержке 0, A 1 соответствует задержке 1 и так далее, Am, что соответствует задержке m.
Чтобы задать полином оператора задержки коэффициентов в Econometrics Toolbox™, используйте LagOp. Задайте (ненулевые) коэффициенты A 0,..., Am как массив ячеек, и лаги ненулевых коэффициентов как вектор.
Коэффициенты полиномиальных объектов оператора задержки разработаны, чтобы выглядеть и чувствовать себя как традиционный MATLAB® массивы ячеек. Существует, однако, важное различие: элементы массивов ячеек доступны с помощью положительной целочисленной последовательной индексации, т.е., 1, 2, 3,.... Коэффициенты полиномиальных объектов оператора задержки доступны с помощью основанной на задержке индексации. То есть можно задать любые неотрицательные целочисленные лаги, включая задержку 0.
Для примера рассмотрите установка полинома Этот полином имеет коэффициент 1 в лаге 0, коэффициент -0,3 в лаге 1 и коэффициент 0,6 в лаге 4. Введите:
A = LagOp({1,-0.3,0.6},'Lags',[0,1,4])A =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -0.3 0.6]
Lags: [0 1 4]
Degree: 4
Dimension: 1
Созданный объект оператора задержки A соответствует полиному оператора задержки степени 4. A LagOp объект имеет ряд описывающих его свойств:
Coefficients, массив ячеек из коэффициентов.
Lagsвектор, указывающий лаги ненулевых коэффициентов.
Degree, степень полинома.
Dimension, размерность полинома (релевантная для многомерных временных рядов).
Для доступа к свойствам модели используйте запись через точку. То есть введите имя переменной, а затем имя свойства, разделенное точкой. Для доступа к конкретным коэффициентам используйте запись через точку вместе с синтаксисом массива ячеек (согласующимся с Coefficients тип данных).
Для иллюстрации возвращает коэффициент в лаге 4:
A.Coefficients{4}ans = 0.6000
Верните коэффициент с задержкой 0:
A.Coefficients{0}ans = 1
Эта последняя команда иллюстрирует индексацию задержки. Индекс 0 действителен и соответствует коэффициенту задержки 0.
Заметьте, что происходит, если вы индексируете задержку, большую, чем степень полинома:
A.Coefficients{6}ans = 0
Это не возвращает ошибку. Скорее он возвращается O, коэффициент в лаге 6 (и все другие лаги с коэффициентом нуля).
Используйте аналогичный синтаксис, чтобы добавить новые ненулевые коэффициенты. Для примера, чтобы добавить коэффициент 0,4 при задержке 6,
A.Coefficients{6} = 0.4A =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -0.3 0.6 0.4]
Lags: [0 1 4 6]
Degree: 6
Dimension: 1
Полиномиальный объект оператора задержки A теперь имеет ненулевые коэффициенты в лагах 0, 1, 4 и 6 и является степенью 6.
Когда индексы задержки помещаются внутрь круглых скобок, результатом является другой массив ячеек, основанный на задержке, который представляет подмножество исходного полинома.
A0 = A.Coefficients(0)
A0 =
1-D Lag-Indexed Cell Array Created at Lags [0] with
Non-Zero Coefficients at Lags [0].
A0 является новым объектом, который сохраняет основанную на задержке индексацию и подходит для назначения полиному оператора задержки и из него.
class(A0)
ans = 'internal.econ.LagIndexedArray'
Напротив, когда индексы задержки помещаются внутрь фигурных скобок, результатом является совпадающий тип данных, что и сами индексы:
class(A.Coefficients{0})ans = 'double'
Вы можете выразить оператора дифференцирования, Δ, в обозначении полинома оператора задержки как
В более общем плане,
Чтобы задать первый полином дифференцирующего оператора, используя LagOp, задайте коэффициенты 1 и -1 в лагах 0 и 1:
D1 = LagOp({1,-1},'Lags',[0,1])D1 =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -1]
Lags: [0 1]
Degree: 1
Dimension: 1
Точно так же сезонный оператор дифференцирования в полиномиальном обозначении с задержкой
Это имеет коэффициенты 1 и -1 в лагах 0 и s, где s - периодичность сезонности. Например, для ежемесячных данных с периодичностью s = 12,
D12 = LagOp({1,-1},'Lags',[0,12])D12 =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -1]
Lags: [0 12]
Degree: 12
Dimension: 1
Это приводит к полиномиальному объекту со степенью 12.
Когда полином оператора задержки различий применяется к yt временных рядов, , это эквивалентно фильтрации временных рядов. Обратите внимание, что фильтрация временных рядов с помощью полинома степени D приводит к потере первых D наблюдений.
Рассмотрите взятие вторых различий yt временных рядов, Можно записать этот дифференциальный полином как
Создайте второй дифференцирующий полином путем умножения полинома D1 для получения полинома дифференцирования второй степени:
D2 = D1*D1
D2 =
1-D Lag Operator Polynomial:
-----------------------------
Coefficients: [1 -2 1]
Lags: [0 1 2]
Degree: 2
Dimension: 1
Коэффициенты в полиноме дифференцирования второй степени соответствуют коэффициентам в разностном уравнении
Чтобы увидеть эффект фильтрации (дифференцирования) на длине временных рядов, симулируйте набор данных с 10 наблюдениями для фильтрации:
rng('default')
Y = randn(10,1);Фильтрация временных рядов Y использование D2:
Yf = filter(D2,Y); length(Yf)
ans = 8
Фильтрованная серия имеет два наблюдения меньше, чем исходная серия. Временные индексы для новой серии могут быть возвращены опционально:
Обратите внимание, что временные индексы заданы относительно времени 0. То есть исходный ряд соответствует временам 0,..., 9. Отфильтрованный ряд теряет наблюдения в первые два раза (время 0 и 1), получая ряд, соответствующий времени 2,..., 9.
Можно также фильтровать временные ряды, скажем Yс полиномом оператора задержки, скажем D2, используя этот краткий синтаксис:
Yf = D2(Y);