用R语言做时间序列分析.docx
《用R语言做时间序列分析.docx》由会员分享,可在线阅读,更多相关《用R语言做时间序列分析.docx(18页珍藏版)》请在第一文库网上搜索。
1、gCM用R语言做时间序列分析时间序列(time series )是一系列有序的数据。通常是等时间间隔的采样数据。如果不是等间隔,则一般会标注每个数据点的时间刻度。下面以time series普遍使用的数据airline passenger为例。这是八一年的每月乘客数量,单位是千人次。ooco200220042006200820102012Time如果想尝试其他的数据集,可以访问这里:可以很明显的看出,airli ne passe nger的数据是很有规律的。time series data mining主要包括decompose(分析数据的各个成分,例如趋势,周期性)prediction(预测
2、未来的值),classificatio n(对有序数据序列的feature提取与分类),clusteri ng(相似数列聚类)等。这篇文章主要讨论 prediction ( forecast,预测)问题。即已知历史的数据,如何准确预测未来的数据。先从简单的方法说起。给定一个时间序列,要预测下一个的值是多少,最简单的思路是什么呢? exponential smoothing(1) mean (平均值):未来值是历史值的平均。(指数衰减):当去平均值得时候,每个历史点的权值可以不一样。最自然的就是越近的点赋予越大的权重。=aX + C/X2 + a3Xs + .或者,更方便的写法,用变量头上加个尖
3、角表示估计值X= aX + (1 - )及(3) snaive :假设已知数据的周期,那么就用前一个周期对应的时刻作为下一个周期对应时刻的预测值(4) drift :飘移,即用最后一个点的值加上数据的平均趋势Xt+h 11 =禺+占2心-斗-JL= Xt+占(良-如Tt = 介绍完最简单的算法,下面开始介绍两个time series 里面最火的两个强大的算法:Holt-Winters 和ARIMA。上面简答的算法都是这两个算法的某种特例。(5) Holt-Winters : 三阶指数平滑Holt-Winters的思想是把数据分解成三个成分:平均水平( level),趋势(trend ),周期性
4、(seasonality )。R里面一个简单的函数stl就可以把原始数据进行分解:022009EPpu上WElu一阶Holt Winters假设数据是stationary的(静态分布),即是普通的指数平滑。二阶算法假设数据有一个趋势,这个趋势可以是加性的(addtive,线性趋势),也可以是乘性的(multiplicative,非线性趋势),只是公式里面一个小小的不同而已。三阶算法在二阶的假设基础上,多了一个周期性的成分。同样这个周期性成分可以是additive和multiplicative的。举个例子,如果每个二月的人数都比往年增加1000人,这就是additive ;如果每个二月的人数都比
5、往年增加120%,那么就是multiplicative。Holt-Winters Exponential smoothing数)tq=CtZf + ( Q)S At) Double exponential smoothing51 = Ti龄= art + (1 -+ bi)52 = J 1 一工 0 /3(5f 5(_1) + (1 Ftm - St + mbtTriple exponential smoothing死=7。唯上 ft + (1 n)(的i + 如-)L-#(th. - 5(J) + (1 -如-iQ 7 h (1-7) Q-l斤 + m =临 + 77也)G1+l+gi) T
6、Tind JR里面有Holt-Winters的实现,现在就可以用它来试试效果了。我用前十年的数据去预测最后一年的数据。性能衡量采用的是RMSE。当然也可以采用别的metrics :rt=LMAE 二广 1 工 Yt - aftlt=iMSE=人(yM RMSE 二、t=lrpMARE = 100n-1 工 IM ftl/lytlt二i预测结果如下:Forecasts from Holt-Winters multiplieath/e method结果还是很不错的。(6) ARIMA : AutoRegressive Integrated Moving AverageARIMA是两个算法的结合:A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 时间 序列 分析
![提示](https://www.001doc.com/images/bang_tan.gif)