我为时间序列模型创建了一个模型列表,其中还包括facebook先知。
但是,关于先知的独特之处在于,它不包含(预测变量的)TimeSeries列,而是一个包含日期序列和预测变量作为两个单独列的数据框。
我想在我的代码中包含一个函数,以区分先知和其他时间序列,并为facebook先知创建单独的输入。
先知输入: DateSeries预测值
正常时间序列模型输入: 预测值的时间序列
history <- data.frame(ds = seq(as.Date('2015-01-01'), as.Date('2016-01-01'), by = 'd'),
y = sin(1:366/200) + rnorm(366)/10)
ts_model<- function(x) {
list(HoltWinters(x,gamma=TRUE, beta=FALSE, seasonal = c('multiplicative')),
HoltWinters(x,gamma=TRUE, beta=FALSE, seasonal = c('additive')),
auto.arima(x, seasonal=TRUE),
prophet(x,growth="linear",seasonality.mode = "multiplicative"),
prophet(x,growth="linear",seasonality.mode = "additive")
)
}
ts_model(history)
Error in attr(data, "tsp") <- c(start, end, frequency) :
object is not a matrix
当我尝试拟合模型时,该功能将无法运行。