R 建立自己的预测功能

R 建立自己的预测功能,r,for-loop,R,For Loop,我有一个数据框,它由三列组成(PIT、CIT和VAT)。我的目的是通过预测包对这三个时间序列中的每一个进行预测。因此,我将数据帧转换为ts对象 现在我想使用Snave函数进行预测,它是Forecast软件包的一部分。因此我编写了以下代码行: SNAIVE_PIT<-snaive(TS_REVENUES[, 'PIT'],h=5) SNAIVE_CIT<-snaive(TS_REVENUES[, 'CIT'],h=5) SNAIVE_VAT<-snaive(TS_

我有一个数据框,它由三列组成(PIT、CIT和VAT)。我的目的是通过预测包对这三个时间序列中的每一个进行预测。因此,我将数据帧转换为ts对象

现在我想使用Snave函数进行预测,它是Forecast软件包的一部分。因此我编写了以下代码行:

  SNAIVE_PIT<-snaive(TS_REVENUES[, 'PIT'],h=5) 
  SNAIVE_CIT<-snaive(TS_REVENUES[, 'CIT'],h=5) 
  SNAIVE_VAT<-snaive(TS_REVENUES[, 'VAT'],h=5)

snave\u PIT如果我理解正确,那么您希望循环浏览数据帧中的每一列并从中进行预测。如果是这样,我认为下面的代码会有所帮助

library(forecast)

# Making data frame 
DATA_SET<-data.frame(
  PIT=seq(1, 48, by = 2),
  CIT=seq(1, 24, by = 1),
  VAT=seq(1, 94, by = 4)
)
View(DATA_SET)

for(i in 1:ncol(DATA_SET)){
  # Build a ts for this column
  timeseries <- ts(DATA_SET[,i], start=c(2016,1), frequency = 12)
  # Build a foreacst based on the ts
  forecast <- snaive(timeseries,h=5)

  # rename the forecast according to the original variable name
  colname <- colnames(DATA_SET)[i]
  forecastName <- paste("SNAIVE_",colname," <- forecast",sep="")
  eval(parse(text = forecastName))
}
库(预测)
#制作数据帧
数据集
library(forecast)

# Making data frame 
DATA_SET<-data.frame(
  PIT=seq(1, 48, by = 2),
  CIT=seq(1, 24, by = 1),
  VAT=seq(1, 94, by = 4)
)
View(DATA_SET)

for(i in 1:ncol(DATA_SET)){
  # Build a ts for this column
  timeseries <- ts(DATA_SET[,i], start=c(2016,1), frequency = 12)
  # Build a foreacst based on the ts
  forecast <- snaive(timeseries,h=5)

  # rename the forecast according to the original variable name
  colname <- colnames(DATA_SET)[i]
  forecastName <- paste("SNAIVE_",colname," <- forecast",sep="")
  eval(parse(text = forecastName))
}