大家好!我现在有点疑问。我通过for循环和auto.arima使用ARIMA模型(代码如下),进行预测。reg 和 newreg 的部分老是报错,求问怎么搞。感谢您的热心回答!!!首先,报错“xreg should be a numeric matrix or vector”,我改成matrix后,报错“xreg is rank deficient”。尝试as.vector的话,还是报错“xreg should be a numeric matrix or vector”
- library(forecast)
- pr_arimax=matrix(ncol=1,nrow=18,0)
- for(i in 0: 17){
- y_arimax<-HK_data [c((1+i):(26+i)),2]
- x1<-as.vector(HK_data[c((1+i):(26+i)),-c(1,2)])
- fit_arimax<-auto.arima(y_arimax,xreg=x1)
- x2<-matrix(HK_data[(27+i),-c(1,2)])
- temp=forecast(fit_arimax,xreg =x2)$mean
- temp=as.data.frame(temp)
- pr_arimax[i+1,]=temp[1,]
- }
- mape_arimax=mean(abs((pr_arimax-y)/y))
- rmse_arimax=rmse(as.data.frame(y),as.data.frame(pr_arimax))
复制代码