【发布时间】:2013-11-20 02:59:49
【问题描述】:
我正在尝试使用预测库中的 arima() 和 forecast.Arima() 函数来拟合带有 ARMA 错误的回归模型。 (即最接近我可以使用 arima() 函数拟合的 ARMAX 模型)
我的代码:
library(forecast)
data <-read.csv(filename,stringsAsFactors=FALSE)
data.ts<-ts(data$result,frequency=24,start=c(1,1),end=c(7,24))
input.ts<-ts(data$input,frequency=24,start=c(1,1),end=c(7,24))
data.fit <- arima(window(data.ts,start=c(1,1),end=c(5,24)),
order=c(2,0,3), seasonal =list(order = c(1, 0, 1), period = 24),
xreg=window(input.ts,start=c(1,1),end=c(5,24)))
data.forecast <-forecast.Arima(data.fit,
xreg=window(input.ts,start=c(6,1),end=c(7,24)))
但是,在 forecast.Arima() 函数中包含 xreg 因子时出现以下错误:
Error in if (ncol(xreg) != ncol(object$call$xreg))
stop("Number of regressors does not match fitted model") :
argument is of length zero
我不明白为什么会出现此错误。我已经在 forecast.Arima() 函数中包含了 xreg 的未来值,并且输入时间序列在 arima() 函数中完全相同,只是在不同的窗口中。
xreg 的类型应该是什么?我尝试将 xreg 时间序列对象强制转换为数据框和数字向量,但没有成功。
【问题讨论】:
-
使用
Arima(),而不是arima()。如果仍有问题,请提供可重现的示例。
标签: r