tsCV(时间序列交叉验证)功能在R中不工作
我试图做一个时间序列交叉验证来测试一些预测方法的准确性。我有以下代码,它定义了一个函数func_1,用于使用ETS模型计算数据集的预测,然后使用时间序列交叉验证对其进行测试:tsCV(时间序列交叉验证)功能在R中不工作,r,time-series,cross-validation,forecasting,R,Time Series,Cross Validation,Forecasting,我试图做一个时间序列交叉验证来测试一些预测方法的准确性。我有以下代码,它定义了一个函数func_1,用于使用ETS模型计算数据集的预测,然后使用时间序列交叉验证对其进行测试: library(fpp2) library(fpp3) library(forecast) func_1 <- function(y, h){ fc <- forecast(object = ets(y), h=h) return(fc) } tsCV(y = visitors, forecastf
library(fpp2)
library(fpp3)
library(forecast)
func_1 <- function(y, h){
fc <- forecast(object = ets(y), h=h)
return(fc)
}
tsCV(y = visitors, forecastfunction = func_1, h = 1)
唯一的区别是naive是一个函数,它是包预测的一部分,不是我创建的。系列
访问者
包含240个观察值,因此大约有240个训练集。对于每一个模型,ets()
将在确定最佳模型之前估计15个模型。这就是3600个非线性优化,每个优化涉及多达17个参数。这需要一些时间。另一方面,naive
不需要任何优化,因此速度非常快
将其保留几分钟,然后使用函数func_1()
将返回结果
tsCV(y = visitors, forecastfunction = naive, h = 1)