码迷,mamicode.com
首页 > 其他好文 > 详细

使用R进行时间序列分解

时间:2015-06-05 00:50:13      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:r   时间序列分析   

非季节性数据的时间序列分解

数据

http://robjhyndman.com/tsdldata/misc/kings.dat

分析

非季节性的数据包含两个组成成分,分别为随机噪声和趋势。为了能使用加性模型(Additive Model)描述非季节性数据的趋势成分,我们使用平滑法(SMA)来计算一个时间序列的移动平均。在使用SMA计算时间序列的移动平均值时,需设定跨度n。

R代码

library("TTR")
kings <- scan("kings.dat", skip = 3)
kings.ts <- ts(kings)
kings.ts.sma3 <- SMA(kings.ts, n=3)
kings.ts.sma8 <- SMA(kings.ts, n=8)

svg("kings.ts.sma.svg", width = 8, pointsize = 12)
par(mfrow=c(3,1))
plot.ts(kings.ts)
plot.ts(kings.ts.sma3)
plot.ts(kings.ts.sma8)
graphics.off()

结果

从上之下分别是原时间序列,跨度为3的平滑后的时间序列,以及跨度为8的平滑后的时间序列。从跨度为8的时间序列中可以看到其趋势是先下降后上升。

技术分享

季节性时间序列分解

数据

http://robjhyndman.com/tsdldata/data/nybirths.dat

分析

季节性时间序列,正如其名,在非季节性时间序列的基础上增加了季节性成分,因此,分析一个季节性时间序列,需分解出他的季节性成分,趋势成分以及随机噪声成分。

R代码

##seasonal time series
births <- scan("nybirths.dat")
births.ts <- ts(births, frequency=12, start=c(1946,1))
births.ts.com <- decompose(births.ts)
png("births.ts.decompose.png")
plot(births.ts.com)
graphics.off()

结果

技术分享

使用R进行时间序列分解

标签:r   时间序列分析   

原文地址:http://blog.csdn.net/hxianxian/article/details/46242013

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!