关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
经管之家新媒体交易平台
提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】
期刊
- 期刊库 | 马上cssci就要更新 ...
- 期刊库 | 【独家发布】《财 ...
- 期刊库 | 【独家发布】“我 ...
- 期刊库 | 【独家发布】“我 ...
- 期刊库 | 【独家发布】国家 ...
- 期刊库 | 请问Management S ...
- 期刊库 | 英文期刊库
- 核心期刊 | 歧路彷徨:核心期 ...
TOP热门关键词
坛友互助群![]() |
扫码加入各岗位、行业、专业交流群![]() |
使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化。Filter函数是一个过滤函数,具体使用方法为filter(时间序列向量X,filter=c(组成的线性模型系数),method=“过滤的样式”,sides=1或2)。其中第一个参数X是时间序列向量数据,如果是数值向量,可以用ts函数进行时间序列转化,第二个参数filter表示组成的模型中各项的系数情况,第三个参数method可以选择为“recursive递归方法”或是“convolution卷积方法”,当选择recursive递归方法时,不用添加sides参数,选择使用convolution卷积方法时,sides=1表示单边卷积,sides=2表示双边卷积。
> sales<-read.csv("citysales.csv")#读取文件
> sales
City ProductA ProductB ProductC
1 Seattle 23 11 12
2London 89 6 56
3 Tokyo 24 7 13
4Berlin 36 34 44
5Mumbai 3 78 14
> sales1<-c(sales$ProductA,sales$ProductB,sales$ProductC) #把数据框变成数值向量
> sales1
[1] 23 89 24 363 1167 34 78 12 56 13 44 14
> var(sales1)
[1] 704.1429
> sd(sales1)
[1] 26.53569
> filter(sales1,filter=c(1:4),method="recursive")#对数值向量进行递归处理
Time Series:
Start = 1
End = 15
Frequency = 1
[1] 23 112 182 511 1306 3333 8212 20847
[9] 52528 132268 332725 83828921106685314537 13381654
>filter(sales1,filter=c(0.2,0.4,0.2,0.4),method="convolution",sides=2)#对数值向量进行双边卷积处理
Time Series:
Start = 1
End = 15
Frequency = 1
[1] NA 43.8 55.4 20.2 20.67.2 15.2 33.0 43.2 45.2 58.6 30.0 45.4 NA
[15] NA
> sales1
[1] 23 89 24 363 1167 34 78 12 56 13 44 14
> rep(sales1,5) #将数值变量进行重复和循环
[1] 23 89 24 363 1167 34 78 12 56 13 44 14 23 89 24 363 1167 34
[25] 78 12 56 13 44 14 23 89 24 363 1167 34 78 12 56 13 44 14 23 89 24
[49] 363 1167 34 78 12 56 13 44 14 23 89 24 363 1167 34 78 12 56
[73] 13 44 14
> sales.ts<-ts(rep(sales1,5),frequency=12,start=c(2012,1))#使用ts函数把数值向量转化为时间序列向量
> sales.ts
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
201223892436 311 6 734781256
201313441423892436 311 6 734
201478125613441423892436 311
2015 6 734781256134414238924
201636 311 6 734781256134414
201723892436 311 6 734781256
2018134414
> plot(sales.ts,col="red",pch=16,type="b") #换出图,图中的红色线和点部分,即原始数据所呈现出来的数据变化趋势
> sales.filter1<-filter(sales.ts,c(0,rep(1/3,3)),"convolution",sides=1)#系数为0,1/3,1/3,1/3的单边卷积处理,其中有四个系数,表示移动平均的阶数为4
> lines(sales.filter1,col="blue",lwd=1.2,pch=16)#图中的蓝色线
> sales.filter2<-filter(sales.ts,c(0,rep(1/6,6)),"convolution",sides=1)#进行阶数为6,系数为0,1/6.1/6,1/6,1/6,1/6,1/6单边卷积处理。
> lines(sales.filter2,col="green",pch=16,lwd=1.3)#图中绿色线
> sales.filter3<-filter(sales.ts,filter=c(0,rep(1/10,10)),method="convolution",sides=1)#同理,阶数为10进行单边卷积处理
> lines(sales.filter3,col="brown",pch=16,lwd=1.4)#图中棕色线
> #可以看到移动平均模型的阶数越大,曲线抖动的程度越小,越能反映出数据的长期变化趋势。
![](https://bbs-cdn.datacourse.cn/2020/assoQRcodeNew2022.png)
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
![](static/2016/reg/jgewm.png)
您可能感兴趣的文章
本站推荐的文章
人气文章
本文标题:使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化
本文链接网址:https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_4116352_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。