2016-10-02 56 views
1

我有下列数据的CSV文件:使用ETS为时间序列分析转换数据()

Year 1000 Barrels/Day 
1/15/2000 239 
2/15/2000 267 
3/15/2000 162 
4/15/2000 264 
5/15/2000 170 
6/15/2000 210 
7/15/2000 264 
8/15/2000 405 
9/15/2000 352 
10/15/2000 337 

我跑下面的代码为它的转换以用于处理时间序列格式。

library(xts) 
library(forecast) 
df<- read.csv("US-OIL.csv") 
stocks <- xts(df[,-1], order.by=as.Date(df[,1], "%m/%d/%Y")) 
ets(stocks) 

但是当我运行的最后一行,获得带有ETS(A,N,N)模型的输出。 我不知道为什么会发生这种情况,因为当我运行ets()预加载的数据集elecequiplibrary(fpp)我得到一个输出ETS(M,Ad,M) 不知道为什么这种差异。请在这个问题上提出你的意见。

回答

0

您让ets根据AIC,AICcm或BIC自动选择模型。 elecquip数据集的数据不同,因此模型也不同。

见幻灯片24:

http://robjhyndman.com/talks/RevolutionR/6-ETS.pdf

+0

这是否意味着我的数据集没有任何季节性趋势?你可以推荐一个'ets()'的替代品,它可以用来根据这些数据预测下5个时期。谢谢 – arsm4

+0

我的建议是,您可以通过预测包作者阅读这本令人敬畏的书:https://www.otexts.org/fpp。我认为你需要更多的数据来做出预测,因为你甚至没有一整年的时间,我不知道你如何估计季节性(http://robjhyndman.com/hyndsight/short-time-series/ )。我会预测未来5个时期的平均值(267)。 – AidanGawronski

+0

以上是我所附的数据样本。实际数据由172行(2000年至2014年)组成。当我尝试运行'HoltWinters(股票)'时,我得到以下错误:分解中的错误(ts(x [1L:wind],start = start(x),频率= f),季节性): time series has没有或少于2个时期'。任何意见?? – arsm4