2016-09-24 51 views
-1

我想一个没有指导如何绘制日常数据,并使用预测的R.时间系列R与重复项目每日预测

有此数据为周日和周六低廉的购买。而且某些周日没有购买任何东西。所以它是分析的障碍。 我有大约300行与各种项目名称,其中的项目在列内复制,但日期不同。 例如,我星期一,星期三和星期天每周只买3次肥皂3次。 这是示例数据表:

Example Data

我的麻烦,到目前为止是我花了很长的时间使用其他统计软件手动进行预测,所以我尽量从一开始就学习R和怎么看呢可以节省时间。上面的表格已投入R,所述date也已经从factor通过使用as.Date(data$Date)

一般我使用指数平滑法的功能,自购转换成date类仍然很低,有时缺货,所以不从历史数据中可以看出很多模式。这项分析的结果是,我可以提供每天购买物品的预测,以便指示我们何时需要物品。

+0

请参阅[mcve]关于如何在SO上提出问题时提供可重现的示例。 –

回答

1

首先请考虑添加一个可重现的例子,以获得更实质性的答案。使用标签R查看最有帮助的问题。

编辑:我觉得这是在创建TS之前想要的东西:

data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum) 

如果您的数据还没有阶级的“TS”你可以创建一个ts()命令的时间序列对象。从?ts页:

ts(data = NA, start = 1, end = numeric(), frequency = 1, 
    deltat = 1, ts.eps = getOption("ts.eps"), class = , names =) 
as.ts(x, ...) 

一般来说,你可以使用HoltWinters功能指数平滑,像这样:

data.hw <- HotlWinters(data) 
data.predict <- predict(data.hw, n.ahead = x) # for x = units of time ahead you would like to predict 

?HoltWinters详情参见在功能聚合

重复的例子:

data <- data.frame(date = c(1, 2, 1, 2, 1, 1), item = c('b','b','a','a', 'a', 'a'), purchase = c(5,15, 23, 7, 12, 11)) 

data.agg <- aggregate(data$purchase, by = list(data$date, data$item), FUN = sum) 

HoltWinters的可重复使用示例:

library(AER) 
data("UKNonDurables") 

nd <- window((log(UKNonDurables)), end = c(1970, 4)) 
tsp(nd) 
hw <- HoltWinters(nd) 
pred <- predict(hw, n.ahead = 35) 
pred 

plot(hw, pred, ylim = range(log(UKNonDurables))) 
lines(log(UKNonDurables)) 
+0

这是有用的,但是项目是重复的,我需要绘制它独特的方式没有重复的变量,以便它只有1个项目与每天购买绘制。 @ daniel-winkler – user3292755

+0

只是为了澄清:无论每件商品或每天每件商品的总购买数量是多少,您是否希望每天的购买总数? –

+0

该项目对分析也很重要,所以我希望看到每件商品每天的购买次数@daniel – user3292755