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

R学习日记——分解时间序列(非季节性数据)

时间:2015-03-20 23:31:38      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

分解时间序列,就是将一个时间序列拆分成不同的构成元件。一般序列(非季节性序列)包含一个趋势部分和一个不规则部分(也就是随机部分),而如果是一个季节性序列,除以上两个外,还有季节性部分。

 
在此,我们先讲——非季节性数据的分解。
 

 一个非季节性时间序列包含一个趋势部分和一个不规则部分。 分解时间序列即为试图把时间序列拆分成这些成分,也就是说, 需要估计趋势的和不规则的这两个部分。

为了估计出一个非季节性时间序列的趋势部分, 使之能够用相加模型进行描述, 最常用的方法便是平滑法, 比如计算时间序列的简单移动平均。 这时,我们需要使用“TTR”程序包中的SMA()函数。

使用 SMA()函数时, 你需要通过参数“n” 指定来简单移动平均的跨度。 例如, 计算跨度为 5 的简单易懂平均, 我们在 SMA()函数中设定 n=5。  

例如如上所述的,这个 42 位英国国王的去世年龄数据呈现出非季节性, 并且由于其随机变动在整个时间段内是大致不变的, 这个序列也可以被描述称为一个相加模型。 如图:

> king<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)

Read 42 items

> king

 [1] 60 43 67 50 56 42 50 65 68 43 65 34 47 34 49 41 13 35 53 56 16 43 69 59

 

[25] 48 59 86 55 68 51 33 49 67 77 81 67 71 81 68 70 77 56

> kingts<-ts(king)

技术分享

使用TTS程序包的SMA()函数进行简单移动平均。

> kingstime<-SMA(kingts,n=8)

 

> plot.ts(kingstime)

技术分享 这个跨度为8的简单移动平均平滑数据的趋势部分看起来更加清晰了,我们可以发现这个时间序列前20为国王去世年龄从最初的 55 周岁下降到 38 周岁, 然后一直上升到第 40 届国王的 73 周岁。

R学习日记——分解时间序列(非季节性数据)

标签:

原文地址:http://www.cnblogs.com/giserliu/p/4354646.html

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