全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
23163 5
2015-12-03

使用decompose函数进行时间序列的波动趋势分解

实际上很多时间序列数据的波动趋势都可以分为长期趋势,周期性趋势和随机变化这三个叠加或相乘来表示的。在R中可以使用decompose(数据,type=“波动趋势分解类型”)这个函数来对时间序列数据进行趋势分解,并查看其变化的情况,数据类型为时间序列数据,使用这个函数的时候要求数据中的周期必须大于2个周期,type中波动趋势分解类型可以为“additive”表示为长期趋势+周期趋势+随机变化或“multiplicative”表示为长期趋势*周期趋势*随机变化这两种,可以看例子中的情况。

> sales.ts1<-ts(sales1,frequency=12,start=c(2013,1)) #使用ts函数对数值向量进行时间序列转化

> sales.ts1

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2013  23  89  24  36   3  11   6   7  34  78  12  56

2014  13  44  14  23  89  24  36   3  11   6   7  34

2015  78  12  56  13  44  14  23  89  24  36   3  11

2016   6   7  34  78  12  56  13  44  14  23  89  24

2017  36   3  11   6   7  34  78  12  56  13  44  14

2018  23  89  24  36   3  11   6   7  34  78  12  56

2019  13  44  14                                    

> sol1<-decompose(sales.ts1,type="additive") #进行additive式趋势分解并绘图

> t(sol1)

> sol2<-decompose(sales.ts1,type="multiplicative")#进行multiplicative式分解并绘图

> plot(sol2)

>


附件列表
分解2.png

原图尺寸 27.3 KB

分解1

分解1

分解1.png

原图尺寸 26.61 KB

分解2

分解2

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-12-3 21:57:51
图中trend图表示时间序列的趋势,seasonal表示季节性变化趋势,季节变化与数据中的频率有关系,这里时间频率设置为12,即在数据时间序列转化中ts函数中设置的frequency=12。Random表示随机误差的情况。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-12-4 16:04:48
Before decomposing any time series data, check the existence of seasonality and trend. Otherwise, the scaled outcome may be misguiding.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-26 22:10:20
3Q very much!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-1 17:06:07
Cool! 讲得很清楚
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-4-9 21:08:50
谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群