【发布时间】:2014-01-20 14:46:57
【问题描述】:
我正在尝试使用 Hyndman and Athanasopoulos's Forecasting Principles and Practice 进行预测,但在尝试使用自己的数据进行预测时遇到了一些烦人的问题(使用 forecast 包)。
我的问题是:
meanf生成的预测具有索引 1 而不是样本的结尾,因此绘图变得有点混乱(因此下面代码中的 x、y 内容)。在他们的教科书中,H&A 似乎没有发生这种情况……使用
snaive和zoo生成的预测,当我实际上将日期作为日期(而不是数字)时,似乎遇到了一些问题,因为一旦通过预测 (bikefit3),数据就有了六个 NA 后跟一个每周条目,而不是一周中的每一天一个条目。大多数次要 - 鉴于我在这里预测样本外,当我点击摘要时,我得到特定“训练样本”的预测错误。有没有办法确定这个时期是什么?我试图手动找出,但数字看起来很奇怪。
我的 R 代码(应该可以重现,因为我从 Dropbox 加载数据)是:
no_f <- 21
bike <-repmis::source_DropboxData("bike_hires.csv","8s4bpjft6zrt4jz",sep = ",",header = TRUE)
bike$date <- as.Date(bike$Day,format="%d/%m/%Y")
dat.xts <- xts(bike$Number.of.Bicycle.Hires,order.by=bike$date)
bike.z <- zoo(dat.xts,order.by=index(dat.xts),frequency=7)
bikefit1 <- meanf(bike.z,h=no_f)
bikefit2 <- naive(bike.z, h=no_f)
bikefit3 <- snaive(bike.z, h=no_f)
x <- bikefit1$mean
y <- seq(1251/7,(1251+no_f-1)/7,1/7)
plot(bike.z[1100:1251],xlim=range(1100/7,(1251+no_f-1)/7),ylim=range(bike.z[1100:1251]),type="l",col=1,main="Forecasts for daily bike hires",xlab="",ylab="")
par(new=T)
plot(y,x,xlim=range(1100/7,(1251+no_f-1)/7),ylim=range(bike.z[1100:1251]),type="l",col=4,xaxt="n",yaxt="n",xlab="",ylab="")
lines(bikefit2$mean,col=2)
lines(bikefit3$mean,col=3)
mtext("Day",side=1,line=3,font=2)
mtext("Number of Bike Hires",side=2,line=3,font=2)
legend("topright",lty=1,col=c(4,2,3), legend=c("Mean method","Naive method","Seasonal naive method"))
提前感谢您为我提供的任何帮助!
【问题讨论】:
标签: r forecasting