У меня есть какая-то случайная модель, которая потенциально имеет инновационный выброс, подходящий для ARIMAX:
Call:
arimax(x = Y, order = c(p, d, q), seasonal = list(order = c(P, D, Q), period = freq),
method = "ML", io = list(io1 = IO[[1]]), xtransf = xTrf, transfer = TRF)
Coefficients:
ma1 IO.IO[[1]] AO-32-MA0
-0.0922 35.1081 -35.5007
s.e. 0.1832 6.8642 4.2032
sigma^2 estimated as 46.5: log likelihood = -123.54, aic = 253.07
для аддитивного выброса, я могу создать регрессор, например:
stats::filter(int_var, filter = 0, method = "rec", sides = 1) * coef(mdl$mdl)["AO-32-MA0"]
Это выводит:
Time Series:
Start = 1
End = 50
Frequency = 1
[1] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
[11] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
[21] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
[31] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
[41] 0.00000 0.00000 -35.50073 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
Это с int_var
, являющимся вектором нулей с 1 в положении 43.
Если, с другой стороны, я хочу соответствовать переходному изменению , Я бы написал:
stats::filter(int_var, filter = <AR coefficient>, method = "rec", sides = 1) * <MA coefficient>
Как можно создать инновационный выброс с этой функцией?