arima.errors 在转换序列(R 预测包)上可能存在的错误

Possible bug with arima.errors on transformed series (R forecast package)

arima.errors() 似乎忽略了模型中可能包含的任何 Box-Cox 变换。这是一个简单的例子。

library(forecast)
set.seed(1)
xreg <- ts(4 + rnorm(150))
transformed <- 2 + 0.4 * xreg + arima.sim(list(ar=0.6, ma=c(-0.2, 0.3)), n=150, 
    n.start=50)
y <- InvBoxCox(transformed, lambda=0.5)
fit <- auto.arima(y, xreg=xreg, lambda=0.5, stepwise=F, approx=F)

特别是,这似乎应该产生一个 0 的时间序列:

InvBoxCox(BoxCox(y, lambda=0.5) - (coef(fit)['xreg'] * xreg + coef(fit)['intercept']),
    lambda=0.5) - arima.errors(fit)

但这不应该:

y - (coef(fit)['xreg'] * xreg + coef(fit)['intercept']) - arima.errors(fit)

我是不是遗漏了什么,或者这是一个错误?

这是一个错误,现已在 http://github.com/robjhyndman/forecast/ 的 github 版本上修复。

请注意,以下将产生一个 0 的时间序列:

BoxCox(y, lambda=0.5) - (coef(fit)['xreg'] * xreg + coef(fit)['intercept'])
 - arima.errors(fit)

也就是说,arima.errors是在转换后的比例,而不是原始比例。