应用时间序列分析第一次作业.docx
- 文档编号:323934
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:12
- 大小:233.82KB
应用时间序列分析第一次作业.docx
《应用时间序列分析第一次作业.docx》由会员分享,可在线阅读,更多相关《应用时间序列分析第一次作业.docx(12页珍藏版)》请在冰豆网上搜索。
应用时间序列分析第一次作业
应用时间序列分析第一次作业
P13
1.2附录B中的B1,B2分别是地区1985~2000年的月平均气温和降水量数据,其中缺少1989年的数据,B2还缺少1995年1月数据。
(1)用简单方法补齐1989年的数据和B2中1995年1月的数据,给出季节项的周期;
(2)对1990~2000年的两种数据个给出一种计算趋势项、季节项和随机项的公式;
(3)利用
(2)的公式对所述的数据进行时间序列的分解计算,用数据图列出结果;
(4)用
(2)中的结果补充1989年的数据
解:
(1)对于B1:
使用分段趋势法有:
(将趋势项定为年平均值)
趋势项:
B1减去趋势项剩下的部分为季节项和随机项。
剩下的部分对每月取平均作为季节项,则有:
季节项:
余下的部分则为随机项:
对于B2:
同理:
(4)
对于B1:
1989年的数据为当年的趋势项加季节项
对于B2:
989年的数据为当月的趋势项加季节项
1.3附录B中的B6是1973~1978年美国在意外事故中的死亡人数。
利用至少两种方法对该时间序列进行分解,要求如下:
(1)画出数据图,给出数据的周期T;
数据图如下:
使用R中decompose函数进行时序分解如下:
可以看出趋势项大致为二次曲线,因此可以考虑采用二次曲线来拟合趋势项。
(2)给出趋势项、季节项和随机项的计算公式;
方法一:
二次曲线
认为趋势项满足二次线性方程,由最小二乘公式计算出趋势项如图:
B6减去趋势项剩下的部分为季节项和随机项。
剩下的部分对每月取平均作为季节项,剩下的部分即为随机项。
方法二:
回归方法(多元)
认为趋势项满足多元线性方程,由最小二乘公式,计算出,再计算得出趋势项、季节项和随机项:
(3)画出趋势项、季节项和随机项的数据图;
方法一:
趋势项:
季节项:
随机项:
方法二:
趋势项、季节项:
随机项:
(4)对1979年的意外死亡人数做出预测。
方法一:
预测:
1979年的数据为当月的趋势项加季节项:
预测图:
方法二:
预测:
1979年的数据为回归方程结果:
预测图:
程序代码:
###########
#B1
B1=matrix(c(-4.7,-3.7,-3.6,-2.9,-4.9,-2.3,-1.1,-3.7,-1.6,-0.7,-2.2,-3.8,-3.9,-1.6,-6.4,-1.9,-1.8,0.1,-1.4,-0.6,0.1,1.8,1.6,0.8,2.1,-0.4,1.3,2.4,2.1,-1.5,3.4,6.9,4.1,4.4,7.6,4.4,6.7,8.1,5.6,7.7,6.2,8.7,7.6,4.7,8.0,14.8,15.0,13.5,15.0,13.7,13.9,15.5,14.0,17.3,14.7,14.3,14.5,15.0,14.4,14.6,19.5,21.3,19.9,20.1,19.6,19.9,20.5,21.5,21.0,19.8,21.6,20.0,19.9,19.3,20.4,24.2,25.3,23.3,24.9,24.8,24.1,23.5,25.4,26.8,24.3,25.4,24.6,23.6,25.3,26.7,25.5,25.1,26.6,25.8,25.6,25.9,26.8,25.2,27.7,25.9,25.5,28.2,26.5,28.0,29.6,25.0,24.5,24.8,24.4,25.4,27.1,24.6,25.2,26.5,25.4,23.9,26.6,25.1,25.5,25.7,18.6,19.8,21.0,21.2,20.2,20.4,20.5,21.3,21.1,19.0,20.7,18.6,22.2,20.9,21.8,13.8,11.4,13.7,14.1,15.3,13.8,12.2,13.9,14.1,14.5,12.8,14.0,14.8,12.9,12.6,3.8,3.4,3.9,6.9,6.4,4.6,3.4,3.7,6.4,7.7,4.2,5.4,4.0,5.9,3.0,-3.6,-1.7,-0.3,-0.2,-0.8,-1.8,-0.3,-0.8,-1.4,-0.4,0.9,-1.5,0.1,-0.7,-0.6),ncol=12)
B1.mean=apply(B1,2,mean)
B1=rbind(B1[1:
4,],B1.mean,B1[5:
15,],deparse.level=0)
B1.trend=apply(B1,1,mean)#trend
plot(rep(c(t(B1.trend)),rep(12,16)),type="l",ylab="trend")
B1.temp=B1-B1.trend
B1.season=apply(B1.temp,2,mean)
B1.season=B1.season-sum(B1.season)/12#seasonal
plot(rep(c(t(B1.season)),16),type="l",ylab="seasonal")
B1.rand=t(t(B1.temp)-B1.season)#random
plot(c(t(B1.rand)),type="h",ylab="random")
#transformmatrixintotimeseries
B1=c(t(B1))
B1.ts=ts(data=B1,start=1985,frequency=12)
plot(B1.ts)
#usedecomposefunction
Decom.B1=decompose(B1.ts)
plot(Decom.B1)
###########
#B2
B2=c(1.5,7.5,7.8,13.6,24.5,32.0,289.5,297.7,38.4,3.8,4.6,0.1,0.0,6.0,17.0,1.0,5.0,203.0,163.0,143.0,114.0,4.0,6.0,4.0,4.3,2.4,13.0,41.8,64.6,91.2,130.9,246.5,46.2,4.1,35.4,3.5,0.9,1.3,8.9,8.2,37.4,61.8,278.7,204.0,48.8,22.8,0.0,0.5,4.7,21.6,40.5,59.7,119.6,4.0,223.0,157.0,63.1,0.3,3.6,0.2,0.3,0.8,25.1,17.1,214.6,236.3,198.0,124.7,72.0,12.2,1.0,4.7,0.7,0.0,3.4,10.5,52.8,69.4,153.9,141.4,54.5,38.1,16.7,0.1,3.7,1.5,0.3,16.9,8.6,39.2,206.4,158.5,18.3,9.9,43.4,0.0,0.0,5.0,0.0,1.9,66.0,23.6,459.2,214.2,15.2,10.3,12.7,5.1,NA,1.7,6.6,5.3,45.6,68.9,195.6,119.9,116.3,9.6,0.2,2.8,0.2,0.0,11.0,6.2,1.8,55.1,307.4,250.0,32.9,30.8,2.6,2.9,4.9,0.0,10.6,17.4,41.5,35.5,139.8,83.2,44.1,43.0,2.1,8.8,1.3,26.3,4.3,54.7,61.5,142.9,247.9,114.4,4.7,61.8,11.3,0.6,0.0,0.0,5.2,33.6,32.4,23.8,62.7,63.5,44.5,3.9,9.5,0.7,11.9,0.0,8.8,18.3,37.7,19.0,61.5,150.5,18.4,35.2,9.7,0.1)
B2=matrix(B2,ncol=12,byrow=TRUE)
#fillthemissingvalue
B2.mean=apply(B2,2,mean,na.rm=TRUE)
B2=rbind(B2[1:
4,],B2.mean,B2[5:
15,])
B2=c(t(B2))
B2[is.na(B2)]=B2.mean[1]
#transformmatrixintotimeseries
B2.ts=ts(data=B2,start=1985,frequency=12)
plot(B2.ts)
#usedecomposefunction
Decom.B2=decompose(B2.ts)
plot(Decom.B2)
#least-squaresfitting
Y=matrix(c(rep(1,192),1:
192),ncol=192,byrow=TRUE)
Result=solve(Y%*%t(Y))%*%Y%*%B2
B2.trend=c(t(Y)%*%Result)#trend
plot(B2.trend,type="l",ylab="trend")
B2.temp=B2-B2.trend
B2.temp=matrix(B2.temp,ncol=12,byrow=TRUE)
B2.season=apply(B2.temp,2,mean)
B2.season=B2.season-sum(B2.season)/12#seasonal
plot(rep(c(t(B2.season)),16),type="l",ylab="seasonal")
B2.rand=t(t(B2.temp)-B2.season)#random
plot(c(t(B2.rand)),type="h",ylab="random")
###########
#(4)
#B1
B1.1989=B1.trend[5]+B1.season
#B2
B2.1989=B2.trend[(4*12+1):
(4*12+12)]+B2.season
#################
#Question1.3
B6=c(9007,8106,8928,9137,10017,10826,11317,10744,9713,9938,9161,8927,7750,6981,8038,8422,8714,9512,10120,9823,8743,9192,8710,8680,8162,7306,8124,7870,9387,9556,10093,9620,8285,8433,8160,8034,7717,7461,7776,7925,8634,8945,10078,9179,8037,8488,7874,8647,7792,6957,7726,8106,8890,9299,10625,9302,8314,8850,8265,8796,7836,6892,7791,8129,9115,9434,10484,9827,9110,9070,8633,9240)
B6=matrix(B6,ncol=12,byrow=TRUE)
B6.mean=apply(B6,2,mean)
B6=c(t(B6))
#transformmatrixintotimeseries
B6.ts=ts(data=B6,start=1973,frequency=12)
plot(B6.ts)
#usedecomposefunction
Decom.B6=decompose(B6.ts)
plot(Decom.B6)
###########
#least-squaresfitting(quadratic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 时间 序列 分析 第一次 作业