0

这里是预测的新手。我有日期从 01-2018 到 08-2019 的数据。数据集以每周为间隔。我将数据集拆分为训练数据集和测试数据集,然后尝试使用accuracy函数检查模型的准确性,但在这里出现以下错误:

window.default(x, ...) 中的错误:“start”不能在“end”之后另外:警告消息:在 window.default(x,...) 中:“start”值未更改

任何帮助将不胜感激

数据集: 数据集

    library(forecast)
    tsCM=ts(df$value, start=c(2018,1,5),end=c(2019,8,2),frequency = 52 )
    traints=window(tsCM, start=c(2018,1), end=c(2018,12))
    testts=window(tsCM,start=c(2019,1),end=c(2019,8))

    mmean=meanf(traints, h=30)
    nnaive=naive(traints, h=30)
    seanaive=snaive(traints, h=30)

    accuracy(mmean, testts)

window.default(x, ...) 中的错误:“start”不能在“end”之后另外:警告消息:在 window.default(x,...) 中:“start”值未更改

4

1 回答 1

1

中的startandend参数ts()可以采用长度为 1 或 2,而不是 3 的数值向量。此处忽略第三个参数,因此您tsCMc(2018,1)2018 年的第 1 周或第 1 周开始。end参数类似地解释为c(2019,8),因此您的时间序列只有 60 个观察值长度。其余的观察被忽略。

traints对象包含 12 个观测值,您预测提前 30 步,即到 2018 年的第 42 周。因此,当您与 进行比较时testts,没有重叠的观测值。

于 2019-08-20T07:08:08.393 回答