2014-12-04 75 views
1

我有一个样本数据预测值来了相同中的R

 
Sno  period  year_quarter country   city  sales_revenue 
1  1/1/2009  2009-Q1  Argentina  Buenos Aires  3008 
2  1/4/2009  2009-Q2  Argentina  Buenos Aires  3244 
3  1/7/2009  2009-Q3  Argentina  Buenos Aires  8000 
4  1/10/2009  2009-Q4  Argentina  Buenos Aires  8719 
5  1/1/2010  2010-Q1  Argentina  Buenos Aires  3008 
6  1/4/2010  2010-Q2  Argentina  Buenos Aires  3244 
7  1/7/2010  2010-Q3  Argentina  Buenos Aires  78 
8  1/10/2010  2010-Q4  Argentina  Buenos Aires  7379 
9  1/1/2011  2011-Q1  Argentina  Buenos Aires  3735 
10  1/4/2011  2011-Q2  Argentina  Buenos Aires  7339 
11  1/7/2011  2011-Q3  Argentina  Buenos Aires  17240 
12  1/10/2011  2011-Q4  Argentina  Buenos Aires  20465 
13  1/1/2012  2012-Q1  Argentina  Buenos Aires  13134 
14  1/4/2012  2012-Q2  Argentina  Buenos Aires  15039 


我预测三季度即2012 Q3 2012 Q4和2013 Q1与ETS(A,N,N)的帮助。代码的预测是如下

retail_data.xts<-xts(retail_data$sales_revenue, retail_data$period); 
retail_data.ts <- as.ts(retail_data.xts); 
retail_data.ets <- ets(retail_data.ts,model="ANN"); 
retail_data.fore <- forecast(retail_data.ets, h=4); 
plot(retail_data.fore); 

计算的结果是

 
Point Forecast Lo 80 Hi 80  Lo 95 Hi 95 
15  14905.37 8925.968 20884.78 5760.6608 24050.09 
16  14905.37 7202.071 22608.68 3124.1881 26686.56 
17  14905.37 5798.868 24011.88 978.1739 28832.58 
18  14905.37 4584.713 25226.04 -878.7150 30689.46 

所有的预测值是在S AME。
是由于小数据集或我的方法不好?
需要建议。

回答

1

通过使用model = "ANN"您正在拟合具有附加误差(A)的简单指数平滑模型。有关可能的模型,请参见help(ets)或将模型参数留给自动模型选择。你的模型没有趋势,也没有季节性(NN)。

有关可能模型的数学详细信息,请参阅ets的帮助页上所述的A state space framework for automatic forecasting using exponential smoothing methods。如第441和442页所述,系列级l_t是原始时间系列Y_t的线性函数。在没有趋势和季节性的模型(例如ANN)中,预测F_ {t + h}不依赖于h,F_ {t + h} = l_t。这就是为什么上述例子中的预测对于所有视界都是相同的,只有置信区间随着h增加而增大。

我想在哪里讨论哪种模型是合适的,但我认为在短时间序列中,使用指数平滑的方法是合理的。

0

此外,我发现,如果你有时间序列数值较小,那么你会得到相同的预测。我想这是因为这个模型无法从可用的时间序列中推导出季节性或趋势分量。但是当我包含更多的过去数据时,我得到了更好的预测。