R学习日记——分解时间序列(非季节性数据)
2015-03-20 21:33
281 查看
分解时间序列,就是将一个时间序列拆分成不同的构成元件。一般序列(非季节性序列)包含一个趋势部分和一个不规则部分(也就是随机部分),而如果是一个季节性序列,除以上两个外,还有季节性部分。
在此,我们先讲——非季节性数据的分解。
一个非季节性时间序列包含一个趋势部分和一个不规则部分。 分解时间序列即为试图把时间序列拆分成这些成分,也就是说, 需要估计趋势的和不规则的这两个部分。
为了估计出一个非季节性时间序列的趋势部分, 使之能够用相加模型进行描述, 最常用的方法便是平滑法, 比如计算时间序列的简单移动平均。 这时,我们需要使用“TTR”程序包中的SMA()函数。
使用 SMA()函数时, 你需要通过参数“n” 指定来简单移动平均的跨度。 例如, 计算跨度为 5 的简单易懂平均, 我们在 SMA()函数中设定 n=5。
例如如上所述的,这个 42 位英国国王的去世年龄数据呈现出非季节性, 并且由于其随机变动在整个时间段内是大致不变的, 这个序列也可以被描述称为一个相加模型。 如图:
使用TTS程序包的SMA()函数进行简单移动平均。
这个跨度为8的简单移动平均平滑数据的趋势部分看起来更加清晰了,我们可以发现这个时间序列前20为国王去世年龄从最初的
55 周岁下降到 38 周岁, 然后一直上升到第 40 届国王的 73 周岁。
在此,我们先讲——非季节性数据的分解。
一个非季节性时间序列包含一个趋势部分和一个不规则部分。 分解时间序列即为试图把时间序列拆分成这些成分,也就是说, 需要估计趋势的和不规则的这两个部分。
为了估计出一个非季节性时间序列的趋势部分, 使之能够用相加模型进行描述, 最常用的方法便是平滑法, 比如计算时间序列的简单移动平均。 这时,我们需要使用“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学习日记——分解时间序列(季节性数据)
- 预测和分解时间序列数据(小时)Forecast and STL hourly time series data
- 时间序列数据分析
- 【原创】分布式大数据时间序列数据库设计概述
- 利用Python进行数据分析--时间序列
- R语言与数据分析之八:时间序列--霍尔特指数平滑法
- R语言与数据分析之七:时间序列简单指数平滑
- 傅里叶变换和小波变换处理时间序列数据,他们常常包含周期模式
- Twitter开源云环境时间序列数据断层检测工具BreakoutDetection
- 时间序列数据挖掘
- 了解向量、因子、矩阵、数组、列表和数据框、时间序列(R语言)
- 时间序列数据处理的角逐:MongoDB vs. Cassandra
- logistic regression的一些问题,不平衡数据,时间序列,求解惑
- 时间序列数据挖掘综述
- R并行做大数据时间序列分析与bootstrap
- DWT小波变换及其在时间序列数据预测中的应用
- R工具:连接数据库,查数据,画时间序列图,加点、文本
- 时间序列数据处理的角逐:MongoDB vs. Cassandra
- 时间序列数据挖掘综述
- 用R分析时间序列(time series)数据