我每天都在做时间序列的销售。我有数据集,每天都有数据。(格式01.11.2015-29.11.2015)。下面是示例:
dput
DAY STORE ART SALES
01.11.2015 1534 343533 62.5000
01.11.2015 25039 20490 686.4480
01.11.2015 1612 295206 185.0000
01.11.2015 1053 16406274 32.5000
01.11.2015 1612 49495 143.1196
01.11.2015 961 15309949 50.9000
如何对所有店铺和艺术品进行预测,如何将我的分析分成两个因素?
library('ggplot2')
library('forecast')
library('tseries')
mydat=read.csv("C:/Users/synthex/Downloads/sales.csv", sep=";",dec=",")
View(mydat)
str(mydat)
count_ts = ts(mydat[, c('SALES')])
View(count_ts)
mydat$clean_cnt = tsclean(count_ts)
mydat$cnt_ma = ma(mydat$clean_cnt, order=7) # using the clean count with no outliers
mydat$cnt_ma30 = ma(mydat$clean_cnt, order=30)
count_ma = ts(na.omit(mydat$cnt_ma), frequency=30)
decomp = stl(count_ma, s.window="periodic")
deseasonal_cnt <- seasadj(decomp)
plot(decomp)
adf.test(count_ma, alternative = "stationary")
auto.arima(deseasonal_cnt, seasonal=FALSE)
fit<-auto.arima(deseasonal_cnt, seasonal=FALSE)
tsdisplay(residuals(fit), lag.max=45, main='(1,1,0) Model Residuals')
fit2 = arima(deseasonal_cnt, order=c(1,1,7))
fcast <- forecast(fit2, h=1)
发布于 2017-11-02 02:44:20
D.Joe,
您没有正确指定start
参数。如果你在?ts
上查看,这就是文档中关于上述论点的内容。
启动:
第一次观察的时间。单个数字或两个整数的向量,用于指定自然时间单位和进入时间单位的样本(从1开始)的数量。见第二种形式的用法示例。
如果你想在特定的一天开始,这不是一种方法。您可以在这里查看如何管理此特定场景
starting a daily time series in R
无论如何,Holt Winters不是处理日常数据的最佳选择。你使用这种方法有什么特殊的原因吗?你可以在这里找到一些处理日常数据的方法。
发布于 2018-07-01 15:11:47
假设您的数据实际上是按商店的艺术汇总的,并且您希望通过单一方法找到所有商店的所有艺术类别的预测,这公平吗?如果是这种情况,我相信你需要的是R中的hts
包的功能。它将给所有的艺术和商店在同一时间预测,并提供绘图功能。您需要的是提供商店下艺术品的“分组矩阵”以及总销售额假设。如果不知道组结构,就不可能提供示例代码。
https://stackoverflow.com/questions/47055574
复制相似问题