《R语言综合实验报告(共9页).docx》由会员分享,可在线阅读,更多相关《R语言综合实验报告(共9页).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 学号:2013310200629姓名:王丹学院:理学院专业:信息与计算科学成绩: 日期: 年 月 日 基于工业机器人能否准确完成操作的时间序列分析摘要:时间序列分析是预测领域研究的重要工具之一,它描述历史数据随时间变化的规律,并用于预测数据。本文首先介绍了一些常用的时间序列模型,包括建模前对数据的预处理、模型的识别以及模型的预测等。通过多种方法分析所得到的数据,实现准确建模,可以得出正确的结论。关键词:自回归(AR)模型,滑动平均(MA)模型,自回归滑动平均(ARMA)模型,ARMA最优子集 一、问题提出,问题分析随着社会日新月异的发展,不断创新的科技为我们的生活带
2、来了越来越多的便利。机器人也逐渐走向了我们的生活,工厂里使用机器人去工作也可以大大减少生产成本,但为了保证产品质量,工厂使用的机器人应该多次测试,确保动作准确无误。 现有一批数据,包含了来自工业机器人的时间序列(机器人需要完成一系列的动作,与目标终点的距离以英寸为单位被记录下来,重复324次得到该时间序列),对于这些离散的数据,我们期望从中发掘一些信息,以便对机器人做更好的改进或者确定机器人是否可以投入使用。但我们从中并不能看出什么,需要借助工具做一些处理,对数据进行分析。 时间序列分析是通过直观的数据比较或作图观测,去寻找序列中包含的变化规律,这种分析方法称为描述性时序分析。在物理、天文、海
3、洋学等科学领域,这种描述性时序分析方法经常能够使人们发现一些意想不到的规律,操作起来十分简单而且直观有效,因此从史前到现在一直被人们广泛使用,它也是我们进行统计时序分析的第一步。 我们将利用自回归(AR)模型、滑动平均(MA)模型以及自回归滑动平均(ARMA)模型去解决遇到的问题。 二、数据描述和初步分析下面是我们接收到的数据,数据来源:0.0011 0.0011 0.0024 0.0000 -0.0018 0.0055 0.0055 -0.0015 0.0047 -0.0001 0.0031 0.0031 0.0052 0.0034 0.0027 0.0041 0.0041 0.0034 0
4、.0067 0.0028 0.0083 0.0083 0.0030 0.0032 0.0035 0.0041 0.0041 0.0053 0.0026 0.0074 0.0011 0.0011 -0.0001 0.0008 0.0004 0.0000 0.0000 -0.0009 0.0038 0.0054 0.0002 0.0002 0.0036 -0.0004 0.0017 0.0000 0.0000 0.0047 0.0021 0.0080 0.0029 0.0029 0.0042 0.0052 0.0056 0.0055 0.0055 0.0010 0.0043 0.0006 0.00
5、13 0.0013 0.0008 0.0023 0.0043 0.0013 0.0013 0.0045 0.0037 0.0015 0.0013 0.0013 0.0029 0.0039 -0.0018 0.0016 0.0016 -0.0003 0.0000 0.0009 0.0017 0.0017 0.0030 -0.0001 0.0070 -0.0008 -0.0008 0.0009 0.0025 0.0031 0.0002 0.0002 0.0022 0.0020 0.0003 0.0033 0.0033 0.0044 -0.0010 0.0048 0.0019 0.0019 0.00
6、31 0.0020 0.0017 0.0014 0.0014 0.0039 0.0052 0.0020 0.0012 0.0012 0.0031 0.0022 0.0040 0.0038 0.0038 0.0007 0.0016 0.0024 0.0003 0.0003 0.0057 0.0006 0.0009 0.0040 0.0040 0.0035 0.0032 0.0068 0.0028 0.0028 0.0048 0.0035 0.0042 -0.0020 -0.0020 0.0023 -0.0011 0.0062 -0.0021 -0.0021 0.0000 -0.0019 -0.0
7、005 0.0048 0.0048 0.0027 0.0009 -0.0002 0.0079 0.0079 0.0017 0.0034 0.0030 0.0025 0.0025 0.0004 0.0031 0.0057 -0.0003 -0.0003 0.0006 0.0018 0.0022 0.0042 0.0042 0.0055 -0.0005 -0.0053 0.0028 0.0028 0.0005 0.0036 0.0017 -0.0043 -0.0043 0.0066 -0.0016 0.0055 -0.0011 -0.0011 -0.0049 0.0047 0.0056 0.005
8、7 0.0057 -0.0002 0.0056 0.0037 0.0012 0.0012 0.0018 -0.0025 -0.0011 0.0027 0.0027 0.0039 0.0058 0.0003 0.0040 0.0040 0.0042 0.0000 0.0056 -0.0029 -0.0029 -0.0026 0.0016 0.0019 0.0015 0.0015 0.0007 0.0007 -0.0044 -0.0030 -0.0030 0.0013 0.0029 -0.0010 0.0009 0.0009 -0.0016 0.0000 0.0000 0.0014 0.0014
9、-0.0003 0.0009 -0.0068 0.0003 0.0003 -0.0012 0.0037 -0.0019 0.0023 0.0023 -0.0033 -0.0002 -0.0010 0.0021 0.0021 0.0026 -0.0002 0.0011 0.0028 0.0028 -0.0004 0.0026 -0.0015 0.0002 0.0002 0.0018 -0.0005 0.0004 -0.0008 -0.0008 0.0018 0.0019 0.0029 -0.0022 -0.0022 0.0010 -0.00330.0020 0.0000 0.0000 0.000
10、3 0.0007 -0.0009 -0.0035 -0.0035 0.0010 0.0007 0.0028 -0.0008 -0.0008 -0.0034 -0.0010 -0.0018 -0.0021 -0.0021 -0.0006 -0.0018 -0.0046 -0.0017 -0.0017 -0.0001 -0.0029 0.0020 -0.0049 -0.0049 -0.0021 -0.0027 -0.0018 -0.0015 -0.0015 0.0051 -0.0002 0.0000 -0.0006 -0.0006 -0.0012 0.0012 0.0000 0.0021 0.00
11、21 -0.0001 0.0022 0.0055 -0.0010 -0.0010 0.0048 0.0006 0.0026 0.0004 0.0004 0.0000 0.0000 0.0008 0.0044 0.0044 0.0002 0.0036这一群数目庞大的数据,以我们直观的判断,它们错综复杂,且毫无规律可言,根本不能从中得到有用的消息。三、模型建立1.数据的平稳性检验设Yt为工业机器人动作的数据序列,首先我们利用单位根检验方法来检验该时间序列的平稳性。2ARMA模型的ACF和PACF分析:画出样本的和:AR/MA 0 1 2 3 4 5 6 7 8 9 10 11 12 130 x x
12、 x x x x x x x o x x x x 1 x o o o o o o o o o o o o o 2 x x o o o o o o o o o o o o 3 x x o o o o o o o o o o o o 4 x x x x o o o o o o o o x o 5 x x x o o o o o o o o o x o 6 x o o o o x o o o o o o o o 7 x o o x o x x o o o o o o o3上图表示该模型可能是ARMA(1,1)模型,用最优子集ARMA法为这些数据设定模型:因为具有的值越小,阴影颜色越深的子集模型越好,
13、经过分析,最上面一行包括观测时间序列阶滞后、误差过程的阶和阶滞后是最好的模型。我们建议用来建模。从上述序列图可以看出,序列不是很平稳,由于对数据序列建立AR模型,需要序列是平稳的,所以我们要对原序列Yt进行平稳化处理。4、平稳化处理取对数后的时间序列图:对数差分后的时间序列图:从图可以看到经过二阶对数差分后原序列达到平稳。 AR(1)序列的时间序列图:散点图: 从散点图分析:时间序列不管是一阶滞后,二阶滞后还是三阶滞后都呈现出很强的自相关性。由此可见,AR(1)模型是合理的模型。四、主要的结论或发现经过对多个时间序列图的分析,我们发现数据主要集中在(-0.002,0.002)的范围内,工业机器
14、人每次操作与目标终点的距离很近,大部分在+0.0002之间,偏差不是太大,应该可以投入使用。五、模型评价下图列出了该序列模型及其前置100个数据的预测:从图中我们看出,预测值接近我们估计量所在的水平线,我们得出结论,AR(1)的建立是合理的。附录以下是我使用的代码:win.graph(width=3.25,height=3,pointsize=8)plot(robot,ylab=expression(yt),type=o)win.graph(width=3.25,height=3,pointsize=8)plot(y=robot,x=zlag(robot),ylab=expression(yt
15、),xlab=expression(yt-1),type=p) win.graph(width=3.25,height=3,pointsize=8)plot(y=robot,x=zlag(robot),ylab=expression(yt),xlab=expression(yt-2),type=p)win.graph(width=3.25,height=3,pointsize=8)plot(y=robot,x=zlag(robot),ylab=expression(yt),xlab=expression(yt-3),type=p)data(robot); plot(robot,type=o,y
16、lab=Robot End Position)plot(log(robot),type=l,ylab=Robot End Position)plot(diff(log(robot),type=l,ylab=Robot End Position)plot(diff(log(robot),difference=2),type=l,ylab=Robot End Position)plot(robot,ylab=expression(yt),type=o)plot(y=robot,x=zlag(robot),ylab=expression(yt),xlab=expression(yt-1),type=
17、p)plot(y=robot,x=zlag(robot),ylab=expression(yt),xlab=expression(yt-2),type=p)plot(y=robot,x=zlag(robot),ylab=expression(yt),xlab=expression(yt-3),type=p)win.graph(width=3.25,height=3,pointsize=8);acf(robot)win.graph(width=3.25,height=3,pointsize=8);pacf(robot)eacf(robot)plot(armasubsets(y=robot,nar=14,nma=14,y.name=Robot,ar.method=ols)m1.robot=arima(robot,order=c(1,0,0)plot(m1.robot,n.ahead=25,type=b,xlab=x,ylab=y)plot(m1.robot,n.ahead=5,type=b,xlab=x,ylab=y)plot(m1.robot,n.ahead=100,type=b,xlab=x,ylab=y)abline(h=coef(m1.robot)names(coef(m1.robot)=intercept)专心-专注-专业
限制150内