使用R中的时间序列,我发现不幸的是,两个包似乎彼此不兼容。这些是预测和TSA。
第一个代码段显示预测正常运行。
require(forecast)
test<-ts(rnorm(100), frequency=12, start=c(2000,1))
mod<-arima(test, order=c(1,1,2))
mod2<-forecast.Arima(mod, h=12)
此MRE显示了我的问题:
require(forecast)
require(TSA)
test<-ts(rnorm(100), frequency=12, start=c(2000,1))
mod<-arima(test, order=c(1,1,2))
mod2<-forecast.Arima(mod, h=12)
这是错误:
Error in ts(x) : 'ts' object must have one or more observations
可以做些什么来使两者都工作(我似乎需要两者),或者我可以使用哪些其他包来解决这个问题?我优先考虑预测TSA的工作。
答案 0 :(得分:3)
看起来arima
来自TSA
屏蔽stats::arima
,这是与forecast.Arima
一起使用的屏蔽。所以要让你的代码段工作,
library(forecast)
library(TSA)
test<-ts(rnorm(100), frequency=12, start=c(2000,1))
mod<-stats::arima(test, order=c(1,1,2)) # Use arima from stats package
mod2<-forecast.Arima(mod, h=12)
确保在加载软件包时检查软件包之间的冲突!