使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化

使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化

发布:奇渥温·沙加 | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

使用filter函数进行线性过滤时间序列数据,来分析时间序列数据变化的趋势变化。Filter函数是一个过滤函数,具体使用方法为filter(时间序列向量X,filter=c(组成的线性模型系数),method=“过滤的样式”,sides=1或2 ...
坛友互助群


扫码加入各岗位、行业、专业交流群


使用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)#图中棕色线

> #可以看到移动平均模型的阶数越大,曲线抖动的程度越小,越能反映出数据的长期变化趋势。


扫码或添加微信号:坛友素质互助


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-4116352-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版