R中ARIMA的循环

R中ARIMA的循环,r,analytics,time-series,R,Analytics,Time Series,我正在应用ARIMA模型来预测R中的时间序列。下面是代码 Higher.R2.18. <- auto.arima(Diiferent_set[,7],test="adf") Higher.R2.18. plot(forecast(Higher.R2.18.,h=22)) forecast(Higher.R2.18.,h=22) correlation6 <- cor(fitted(Higher.R2.18

我正在应用ARIMA模型来预测R中的时间序列。下面是代码

Higher.R2.18. <- auto.arima(Diiferent_set[,7],test="adf")            
Higher.R2.18.          
plot(forecast(Higher.R2.18.,h=22))         
forecast(Higher.R2.18.,h=22)         
correlation6 <- cor(fitted(Higher.R2.18.),Diiferent_set[,7])         
correlation6 

Higher.R2.18 您的示例无法复制,但这通常是一个非常简单的问题。第一步是编写一个函数,对每个timeseries执行任何操作。我相信您希望完成上述示例中的所有操作,因此像这样的函数应该可以:

runArima <- function(ts){
  Higher.R2.18. <- auto.arima(ts,test="adf")            
  p <- plot(forecast(Higher.R2.18.,h=22))         
  pred <- forecast(Higher.R2.18.,h=22)         
  correlation6 <- cor(fitted(Higher.R2.18.),ts)         
  return(list(arima=Higher.R2.18.,plot=p,forecast=pred,cor=correlation6))
}

runArima您的示例无法复制,但这通常是一个非常简单的问题。第一步是编写一个函数,对每个timeseries执行任何操作。我相信您希望完成上述示例中的所有操作,因此像这样的函数应该可以:

runArima <- function(ts){
  Higher.R2.18. <- auto.arima(ts,test="adf")            
  p <- plot(forecast(Higher.R2.18.,h=22))         
  pred <- forecast(Higher.R2.18.,h=22)         
  correlation6 <- cor(fitted(Higher.R2.18.),ts)         
  return(list(arima=Higher.R2.18.,plot=p,forecast=pred,cor=correlation6))
}

runArima您是如何存储您的100个时间序列的?在列表、矩阵或单独的对象中……它位于数据帧中。其中每列都是一个时间序列。您是如何存储100个时间序列的?在列表、矩阵或单独的对象中……它位于数据帧中。其中每列都是一个时间序列。如果我想做你做过的所有上述任务,比如信纸测试、构建ARIMA模型、预测,每30行时间序列,我该怎么做?我有多个时间序列数据,单个时间序列有30年的数据,我想将30年的时间序列复制到4,即4*30=120个观测值。非常感谢您的帮助!如果我想做你做过的所有上述任务,比如信纸测试,建立ARIMA模型,预测,每30行时间序列,我该怎么做?我有多个时间序列数据,单个时间序列有30年的数据,我想将30年的时间序列复制到4,即4*30=120个观测值。非常感谢您的帮助!
arima.list <- vector(length(<list of timeseries>),"list")
i <- 1
for(ts in <list of timeseries>){
  arima.list[[i]] <- runArima(ts)
  i <- i + 1
}
> library(forecast)
> #make trivial list of time series since i don't have one
> ts.list <- lapply(1:5,function(x) WWWusage)
> #run your function across list of time series
> arima.list <- lapply(ts.list,runArima)
> #look at some results
> arima.list[[1]]$arima
Series: ts 
ARIMA(2,2,0)                    

Coefficients:
         ar1      ar2
      0.2579  -0.4407
s.e.  0.0915   0.0906

sigma^2 estimated as 10.13:  log likelihood=-252.73
AIC=511.46   AICc=511.72   BIC=519.22
> arima.list[[1]]$cor
[1] 0.9972077