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