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

时间:2018-03-22 06:37:33

标签: r forecasting holtwinters

我目前正在处理需要我执行时间的示例数据   在给定数据集上的R系列预测。所以我需要每天预测   基础。我收到以下错误消息。

  

-.default中的错误(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),我需要预测下一个的QTY列   年(2018年1月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 个答案:

答案 0 :(得分:0)

以下脚本没有给我带来任何问题:

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) 

该错误消息表示HoltWinters()正在尝试执行二进制操作,如2 + 2,而不是数字。尝试验证您的数据以确保QTY仅包含数字:

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

应该返回:

[1] "integer"