提问者:小点点

forecast包中的r:ts()函数中的时间序列预测


我目前正在处理一个样本数据,该样本数据要求我在R中对给定的数据集执行时间序列预测。所以我需要每天做预测。我收到以下错误消息。

中的错误-。默认(x,趋势):二进制运算符的非数字参数

我的数据格式

Items               Regions         vDate       QTY
Tractor TT35 4WD    Tiruchengode    2016-01-01  2
Tractor TT35 4WD    Tiruchengode    2016-01-02  7
Tractor TT35 4WD    Tiruchengode    2016-01-03  6
Tractor TT35 4WD    Tiruchengode    2016-01-04  0
Tractor TT35 4WD    Tiruchengode    2016-01-05  6
Tractor TT35 4WD    Tiruchengode    2016-01-06  6
Tractor TT35 4WD    Tiruchengode    2016-01-07  1
Tractor TT35 4WD    Tiruchengode    2016-01-08  6
Tractor TT35 4WD    Tiruchengode    2016-01-09  0
Tractor TT35 4WD    Tiruchengode    2016-01-10  4
Tractor TT35 4WD    Tiruchengode    2016-01-11  4
Tractor TT35 4WD    Tiruchengode    2016-01-12  0
Tractor TT35 4WD    Tiruchengode    2016-01-13  6
Tractor TT35 4WD    Tiruchengode    2016-01-14  7
Tractor TT35 4WD    Tiruchengode    2016-01-15  3

在项目栏中我有三种类型,在区域栏中有18个区域,每个区域我有三个项目,每个项目我有两年的数据(2016-01-01至2017-01-31),我需要预测下一年的数量栏(2018-01-31)

我正在使用下面的代码

   ts_temp = ts(dt_ts[Regions==i & Item==j,]$Data,frequency = 365,start = 
   c(2016,1,1))
   # plot(ts_temp)
   #tsss<-decompose(ts_temp)
   #plot(tsss)
    model_hw = HoltWinters(ts_temp) 

当我运行model_hw时,我得到了上述错误。

请提供任何建议,
提前谢谢


共1个答案

匿名用户

下面的脚本没有给我任何问题:

library(readr)
dt_ts <- read_csv("~/test.csv")
attach(dt_ts)

i = 'Tiruchengode'
j = 'Tractor TT35 4WD'

ts_temp = ts(dt_ts[Regions==i & Items==j,]$QTY,frequency = 365,start = c(2016,1,1))

model_hw = HoltWinters(ts_temp) 

该错误消息意味着HoltWinter()正试图执行二进制操作,如2 2,其内容不是数字。尝试验证您的数据,以确保QTY只包含数字:

class(dt_ts[Regions==i & Items==j,]$QTY)

应返回:

[1] "integer"