R 使用自己的功能和预测包(TLSM)进行预测

R 使用自己的功能和预测包(TLSM)进行预测,r,lapply,forecast,R,Lapply,Forecast,我正在使用来自fpp2包的数据集和来自forecast包的tslm()函数的组合进行植树。为了得到更精确的投影,我将数据集分为训练集和测试集。这里的主要思想是使用训练集的线性回归进行估计,并将此模型应用于测试集 # CODE library(fpp2) # required for the data library(dplyr) library(forecast) MY_DATA<-uschange[,1:4]

我正在使用来自
fpp2
包的数据集和来自
forecast
包的
tslm()
函数的组合进行植树。为了得到更精确的投影,我将数据集分为
训练集
测试集
。这里的主要思想是使用
训练集
的线性回归进行估计,并将此模型应用于
测试集

   # CODE
      library(fpp2) # required for the data
      library(dplyr)
      library(forecast)
      
      MY_DATA<-uschange[,1:4]
      head(MY_DATA)
      tail(MY_DATA)
      

   # Training set
    Training_set = window(MY_DATA, start=1970, end=c(2010,4))

    # Test set
    Test_set = window(MY_DATA, start=2011, end=c(2016,3))

      # Built own function            
      FORECASTING_FUNCTION_TSLM <- function(Z, hrz = 16) {
        timeseries <- msts(Z, start = 1970, seasonal.periods = 4)
        forecast <- tslm(timeseries~trend+season,biasadj=TRUE)
      }
        
      # Whole set-MY_DATA 
      FORECASTING_LIST_TSLM <- lapply(X = MY_DATA, FORECASTING_FUNCTION_TSLM)
      
      # Training set
      FORECASTING_LIST_TSLM_Training_set<-lapply(Training_set, FORECASTING_FUNCTION_TSLM) 
    
      # Test_set
      FORECASTING_LIST_TSLM_Test_set <- lapply(1:length(FORECASTING_LIST_TSLM_Training_set),function(i) {tslm(Test_set[,i], model = FORECASTING_LIST_TSLM_Training_set[[i]])})#<-----Problem line

那么,有谁能帮我修复这行代码
预测列表\u TSLM\u测试集
,以便获得与前面示例类似的估计值(
整集-MY\u数据
训练集
),并获得与前面示例类似的预测值(带有
测试集的代码行)

训练集
未在代码中定义。
tslm
函数的第一个参数是
公式
<代码>测试集不在代码中,因此我们无法看到其中的内容,但根据错误消息,它不是公式。另外,我假设您希望使用您用训练集创建的模型来使用测试集预测新值
tslm
不做预测,但创建了一个模型。我已经放置了训练集和测试集。所以请检查是否可以。
Training\u set
未在代码中定义。
tslm
函数的第一个参数是
公式
<代码>测试集不在代码中,因此我们无法看到其中的内容,但根据错误消息,它不是公式。另外,我假设您希望使用您用训练集创建的模型来使用测试集预测新值
tslm
不做预测,但创建了一个模型。我已经设置了训练集和测试集。所以请检查是否可以。
 Error in formula.default(object, env = baseenv()) : invalid formula