ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:35.65KB ,
资源ID:9792840      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9792840.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(R语言常用上机命令分功能整理时间序列分析为主.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

R语言常用上机命令分功能整理时间序列分析为主.docx

1、R语言常用上机命令分功能整理时间序列分析为主R语言常用上机命令分功能整理时间序列分析为主第一讲应用实例 R的基本界面是一个交互式命令窗口,命令提示符是一个大于号,命令的结果马上显示在命令下面。 S命令主要有两种形式:表达式或赋值运算(用 x11() 可以打开一个作图窗口。然后,输入以下语句: x1 = 0:100 x2 = x1*2*pi/100 y = sin(x2) plot(x2,y,type=l) 这些语句可以绘制正弦曲线图。其中,“=”是赋值运算符。0:100表示一个从0到100 的等差数列向量。第二个语句可以看出,我们可以对向量直接进行四则运算,计算得到的x2 是向量x1的所有元素

2、乘以常数2*pi/100的结果。从第三个语句可看到函数可以以向量为输入,并可以输出一个向量,结果向量y的每一个分量是自变量x2的每一个分量的正弦函数值。plot(x2,y, type=l,main=画图练习,sub=好好练, xlab=x轴,ylab=y轴)有关作图命令plot的详细介绍可以在R中输入help(plot)数学函数abs,sqrt:绝对值,平方根 log, log10, log2 , exp:对数与指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数 sinh,cosh,tanh,asinh,acosh,atanh:双曲函数 简单统计量sum, m

3、ean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。下面我们看一看S的统计功能: marks mean(marks) sd(marks) min(marks) max(marks) 第一个语句输入若干数据到一个向量,函c()用来把数据组合为一个向量。后面用了几个函数来计算数据的均值、标准差、最小值、最大值。可以把若干行命令保存在一个文本文件中,然后用source函数来运行整个文件: source(C:/l.R) 注意字符串中的

4、反斜杠。例:计算6, 4, 7, 8,10的均值和标准差,把若干行命令保存在一个文本文件(比如C:1.R)中,然后用source函数来运行整个文件。a- c(10, 6, 4, 7, 8) b-mean(a) c-sd(a) source(C:/1.R)时间序列数据的输入使用函数tsts(1:10, frequency = 4, start = c(1959, 2) print( ts(1:10, frequency = 7, start = c(12, 2), calendar = TRUE)a t,如不加入这个参数表示所求p值为PT =t。乘2表示p值是双侧的(课本上的p值由sas算出,是

5、双侧的)均值的t统计量值和p值同理。在时间序列中对参数显著性的要求与回归模型不同,我们更多的是考察模型整体的好坏,而不是参数。所以,R中的arima拟合结果中没有给出参数的t统计量值和p值,如果题目没有特别要求,一般不需要手动计算。第三点:修正第三讲中的错误:例2.5中,我们用下面的语句对拟合arima模型之后的残差进行了LB检验:a=arima(prop, order = c(1,0,0),method=ML)r=a$residualsa=arima(prop, order = c(1,0,0),method=ML)r=a$residuals#用r来保存残差Box.test(r,type=L

6、jung-Box,lag=6)#对残差进行纯随机性检验最后一句不完整,需要加上参数fitdf=1,修改为Box.test(r,type=Ljung-Box,lag=6,fitdf=1)fitdf表示p+q,number of degrees of freedom to be subtracted if x is a series of residuals,当检验的序列是残差到时候,需要加上命令fitdf,表示减去的自由度。运行Box.test(r,type=Ljung-Box,lag=6,fitdf=1)后,显示的结果:Box.test(r,type=Ljung-Box,lag=6,fitdf

7、=1) Box-Ljung testdata: r X-squared = 5.8661, df = 5, p-value = 0.3195“df = 5”表示自由度为5,由于参数lag=6,所以是滞后6期的检验。第四讲# example4_1 拟合线性模型x1=c(12.79,14.02,12.92,18.27,21.22,18.81,25.73,26.27,26.75,28.73,31.71,33.95)a=as.ts(x1)is.ts(a)ts.plot(a)t=1:12tlm1=lm(at)summary(lm1) # 返回拟合参数的统计量coef(lm1) #返回被估计的系数fitt

8、ed(lm1) #返回模拟值residuals(lm1) #返回残差值fit1=as.ts(fitted(lm1)ts.plot(a);lines(fit1,col=red) #拟合图 #eg1cs=ts(scan(eg1.txt,sep=,)csts.plot(cs)t=1:40lm2=lm(cst)summary(lm2) # 返回拟合参数的统计量coef(lm2) #返回被估计的系数fit2=as.ts(fitted(lm2) #返回模拟值residuals(lm2) #返回残差值ts.plot(cs);lines(fit2,col=red) #拟合图 #example4_2 拟合非线性

9、模型t=1:14x2=c(1.85,7.48,14.29,23.02,37.42,74.27,140.72,265.81,528.23,1040.27,2064.25,4113.73,8212.21,16405.95)x2plot(t,x2)m1=nls(x2a*t+bt,start=list(a=0.1,b=1.1),trace=T)summary(m1) # 返回拟合参数的统计量coef(m1) #返回被估计的系数fitted(m1) #返回模拟值residuals(m1) #返回残差值plot(t,x2);lines(t,fitted(m1) #拟合图#读取excel中读取文件,逗号分隔

10、符 a=read.csv(example4_2.csv,header=TRUE)t=a$tx=a$xxts.plot(x)m2=nls(xa*t+bt,start=list(a=0.1,b=1.1),trace=T)summary(m2) # 返回拟合参数的统计量coef(m2) #返回被估计的系数fitted(m2) #返回模拟值 residuals(m2) #返回残差值plot(t,x);lines(t,fitted(m2) #拟合图#eg2I-scan(eg2.txt)Ix=ts(data=I,start=c(1991,1),f=12) #化为时间序列 xplot.ts(x)t=1:13

11、0t2=t2m3=lm(xt+t2)coef(m3) #返回被估计的系数 summary(m3) # 返回拟合参数的统计量#去不显著的自变量 ,再次模拟 m4=lm(xt2) coef(m4) #返回被估计的系数summary(m4) # 返回拟合参数的统计量m2=fitted(m4) #返回模拟值y=ts(data=m2,start=c(1991,1),f=12)yts.plot(x);lines(y)#平滑法 #简单移动平均法x=c(5,5.4,5.8,6.2)xy=filter(x,rep(1/4,4),sides=1) y#指数平滑for(i in 1:3) x1=x1 xi+1=0.

12、25*xi+1+0.75*xi #HoltWinters Filtera=ts(read.csv(holt.csv,header=F),start=c(1978,1),f=1)am=HoltWinters(a,alpha=0.15,beta=0.1,gamma=FALSE,l.start=51259,b.start=4325)mfitted(m)plot(m)plot(fitted(m) #综合cs=ts(read.csv(eg3.csv,header=F),start=c(1993,1),f=12) #读取数据 csts.plot(cs) #绘制时序图 cs.sea1=rep(0,12)cs

13、.sea1for(i in 1:12) for(j in 1:8) cs.sea1i=cs.sea1i+csi+12*(j-1) cs.sea=(cs.sea1/8)/(mean(cs)cs.seacs.sea2=rep(cs.sea,8)cs.sea2x=cs/cs.sea2xplot(x)t=1:96m1=lm(xt)coef(m1)summary(m1) m=ts(fitted(m1),start=c(1993,1),f=12)ts.plot(x,type=p);lines(m,col=red)r=residuals(m1)Box.test(r) #白噪声检验第五讲#回顾#例5.1sha

14、=ts(scan(sha.csv),start=1964,freq=1)ts.plot(sha)diff(sha)par(mfrow=c(2,1)ts.plot(diff(sha)acf(diff(sha)#例5.2car=ts(read.csv(car.csv,header=F),start=1950,freq=1)carpar(mfrow=c(3,1)ts.plot(car)ts.plot(diff(car)ts.plot(diff(car,differences=2)#例5.3milk=ts(scan(milk.txt),start=c(1962,1),freq=12)milkpar(m

15、frow=c(3,1)ts.plot(milk)ts.plot(diff(milk)dm1=diff(diff(milk),lag=12)ts.plot(dm1)acf(dm1)#例5.5x=ts(cumsum(rnorm(1000,0,100)ts.plot(x)#拟合ARIMA模型#5.8.1a=ts(scan(581.txt)par(mfrow=c(2,2)ts.plot(a)da=diff(a)ts.plot(da)acf(da,20)pacf(da,20)Box.test(da,6)fit1=arima(a,c(1,1,0),method=ML)predict(fit1,5)#inc

16、om=ts(read.csv(incom.csv,header=F),start=1952,freq=1)incomts.plot(incom)dincom=diff(incom)ts.plot(dincom)acf(dincom,lag=18) #自相关图Box.test(dincom,type=Ljung-Box,lag=6) #白噪声检验Box.test(dincom,type=Ljung-Box,lag=12)Box.test(dincom,type=Ljung-Box,lag=18)pacf(dincom,lag=18)fit1=arima(dincom,order=c(0,0,1)

17、,method=CSS)fit2=arima(incom,order=c(0,1,1),xreg=1:length(incom),method=CSS) #见http:/www.stat.pitt.edu/stoffer/tsa2/Rissues.htmBox.test(fit2$resid,lag=6,type=Ljung-Box,fitdf=1)fore=predict(fit2,10,newxreg=(length(incom)+1):(length(incom)+10)#疏系数模型#例5.8w=ts(read.csv(w.csv),start=1917,freq=1)w=w,1par(

18、mfrow=c(2,2)ts.plot(w)ts.plot(diff(w)acf(diff(w),lag=18)pacf(diff(w),lag=18)dw=diff(w)fit3=arima(dw,order=c(4,0,0),fixed=c(NA,0,0,NA,0),method=CSS)Box.test(fit3$resid,lag=6,type=Ljung-Box,fitdf=2)Box.test(fit3$resid,lag=12,type=Ljung-Box,fitdf=2)fit4=armaFit(arima(4,0,0),fixed=c(NA,0,0,NA),include.mean=F,data=dw,method=CSS)summary(fit4)#例 5.9ue=ts(scan(unemployment.txt),start=19

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1