分解时间序列,就是将一个时间序列拆分成不同的构成元件。一般序列(非季节性序列)包含一个趋势部分和一个不规则部分(也就是随机部分),而如果是一个季节性序列,除以上两个外,还有季节性部分。
在此,我们先讲——非季节性数据的分解。
一个非季节性时间序列包含一个趋势部分和一个不规则部分。 分解时间序列即为试图把时间序列拆分成这些成分,也就是说, 需要估计趋势的和不规则的这两个部分。
为了估计出一个非季节性时间序列的趋势部分, 使之能够用相加模型进行描述, 最常用的方法便是平滑法, 比如计算时间序列的简单移动平均。 这时,我们需要使用“TTR”程序包中的SMA()函数。
使用 SMA()函数时, 你需要通过参数“n” 指定来简单移动平均的跨度。 例如, 计算跨度为 5 的简单易懂平均, 我们在 SMA()函数中设定 n=5。
例如如上所述的,这个 42 位英国国王的去世年龄数据呈现出非季节性, 并且由于其随机变动在整个时间段内是大致不变的, 这个序列也可以被描述称为一个相加模型。 如图:
> king<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=)
Read items
> king
[]
[]
> kingts<-ts(king)
使用TTS程序包的SMA()函数进行简单移动平均。
> kingstime<-SMA(kingts,n=) > plot.ts(kingstime)
这个跨度为8的简单移动平均平滑数据的趋势部分看起来更加清晰了,我们可以发现这个时间序列前20为国王去世年龄从最初的
55 周岁下降到 38 周岁, 然后一直上升到第 40 届国王的 73 周岁。