Я работаю над временными рядами и хочу проверить значимость всех запаздывающих различий (и, по сути, делаю тест на переполнение от руки), но это не важно.Я могу сделать это, но это действительно механично, и должен быть способ сделать это более элегантно.Или, по крайней мере, более эффективно.Любые идеи?
y <- log.real.gdp.ts
delta.y.t <- diff(y,differences=1)
lag.y <- lag(y, -1)
L1Dy <- lag(delta.y.t, k=-1)
L2Dy <- lag(delta.y.t, k=-2)
L3Dy <- lag(delta.y.t, k=-3)
L4Dy <- lag(delta.y.t, k=-4)
L5Dy <- lag(delta.y.t, k=-5)
L6Dy <- lag(delta.y.t, k=-6)
L7Dy <- lag(delta.y.t, k=-7)
L8Dy <- lag(delta.y.t, k=-8)
L9Dy <- lag(delta.y.t, k=-9)
L10Dy <- lag(delta.y.t, k=-10)
L11Dy <- lag(delta.y.t, k=-11)
L12Dy <- lag(delta.y.t, k=-12)
d = ts.union(delta.y.t, lag.y, L1Dy, L2Dy, L3Dy, L4Dy, L5Dy, L6Dy, L7Dy, L8Dy, L9Dy, L10Dy, L11Dy, L12Dy) ## takes care of NA's
lm.model.III <- lm(delta.y.t~ lag.y + time(lag.y) + L1Dy + L2Dy + L3Dy + L4Dy + L5Dy + L6Dy + L7Dy + L8Dy + L9Dy + L10Dy + L11Dy + L12Dy, data=d)
Мне бы очень хотелось какой-то цикл, где я могу генерировать запаздывающие различия 1: n, а затем какой-нибудь способ вставить все n в мою линейную модель, например
lm.model.III <- lm(delta.y.t ~ lag.y + time(lag.y) + lagged.diffs.mts)