版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、r语言:时间序列 ARMA基础学习26二月,2013, oldleell, R 语言与数据挖掘,时间序列分析,C 4 1111 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11I 1 I TT “ “ 7T “ “ 7T7T “ “ 7T “ “ 7T7T7T7T7T7T7T7T7T7T7T7T7T7T “ “ “ 7T7T7T “ “ b7T “ “ 7T /K A 7T “ “ 7T7T “ “ 7T “ “ 7T “ “ 7T7T “ “ 7T7T7T7
2、T7T7T7T7T7TTr7TTr, “ “ “ w I Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf / |、口 Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff02 #白噪音:其均值=0,并且独立分布的(同时间无关)03 #稳定时间序列:任意j-i时间段的序列:其均值相等04 #自相关系数a
3、cf图:研究yt同yt-l序列之间的相关性05 #在纯的ma(q)序列下,acf图形表现为q+1以后的自相关系数约为0 (虚线内)06#偏相关系数pacf图:在yt同yt-l之间的序列固定的情况下,研究研究 yt同yt-l序列之间的相关性07 #在纯的ar(p)序列下,pacf图形表现为p+1以后的偏相关系数约为0 (虚线内)08#扩展相关系数图eacf :如果yt不是纯的ar或ma而是arma (混合体),无法通过acf确定q,也不能通过pacf确认p,需要09通过eacf确认p和q4 C I I 1“TT“7T7T “ “ 7T “ “ 7T7TTr7T7TTrmTTrmTTrmT7TTr
4、mTTrmT “ “ 7T7T “ “T>“7T7T “ “ , r “ 7T7TTr7T7TTrmTTrmTTrmT “ rr “ “'7T “ “ TT “ “I KJ ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
5、 ff ff ff ff ff ff ff ff ff ff ff114 C """""""""""""""""""""""""""""""""""""""""""&qu
6、ot;"""I > 7T “ “ 7T “ “ 7T7T “ “ 7T “ “ 7T7T7T7T7T7T7T7T7T7T7T7T7T “ 7T7T 打 “ “ b7T “ “ 7T “ “ 7T “ “ “I J Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf13 #模拟产生 ma ar arma 序列#4 X >> >> >
7、> I ZL TT “ “ 7T “ “ 7T7T “ “ 7T “ “ 7T7T7T7T7T7T7T7T7T7T7T7T7T “ 7T7T 打 “ “ b7T “ “ 7T “ “ 7T “ “ “I T Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf1516 # MA时间序列的模拟试验:产生一个 ma时间序列17 y.ma<-function(a1,a2,a3=0,a4=0,
8、num=200,pic=TRUE)#MA 滑动平均时间序列的模拟(也可以使用 filter 函数)18 e<-rnorm(num,0,1)# 模拟白噪声,均值=019 result<-020 result1<-e121 result2<-e2-a1*e122 result3<-e3-a1*e2-a2*e123 result4<-e4-a1*e3-a2*e2-a3*e124 for(t in 5:num) resultt<-et-a1*et-1-a2*et-2-a3*et-3-a4*et-4 #构造一个 ma型时间序歹U25 if(pic=TRUE)#
9、画图形26 dev.new()27 ts.plot(result,main=paste("y.mat=et-",a1,"*et-1-",a2,"*et-2-",a3,"*et-3-",a4,"*et-4的28时间序列散点图")29 dev.new()30 lag.plot(result, 9, do.lines=FALSE)31 dev.new()32 par(mfrow=c(2,1)33 acf(result, 30,main=paste("y.ma 自相关34 图,y.mat=et
10、-",a1,"*et-1-",a2,"*et-2-",a3,"*et-3-",a4,"*et-4")35 pacf(result, 30,main=paste("y.ma 偏自相关36 图,y.mat=et-",a1,"*et-1-",a2,"*et-2-",a3,"*et-3-",a4,"*et-4")resulty.ma<-y.ma(0.92,0.65)结果一:绘制散点图2y.ma(t=et- 0
11、.92 ”t1】。侦S *et-2- 0 *et-3- Q *eb4的时间序列散点圈寸O501C0心Timo结果二:绘制出 yt同yt-1(延退1)、yt-2(延退2).yt-9(延退9)的2维散点图,用以观察 yt同 yt-i的相关性(i=1 -9)n 口 a CF O5叫9结果三:绘制自相关和偏自相关图(在虚线外的表示有相关性)y.ma A 相关图0.92 怔口-1卜 0.65 *et-21- 0 *et-3- 0 *et4偏自相关阁,y*nt=eq-O.92 *ep-11- 0.650 *et-3- 0 *et4Lag可以看到:1) 在纯的ma(q)序列下,acf图形表现为q+1以后的自
12、相关系数约为0 (虚线内)2) 在纯的 ma(q)序列下,pacf则不规则的会大于 1/-1可以通过acf图确定q的数值?01# AR时间序列的模拟试验:产生一个 ar时间序列02y.ar<-function(b1,b2,b3=0,b4=0,num=200,pic=TRUE)#AR自回归型时间序列的模拟(也可以使用 filter 函数)03e<-rnorm(num,0,1)# 模拟白噪声,均值=004result<-005result1<-e106result2<-e2+b1*result107result3<-e3+b1*result2+b2*result
13、108result4<-e4+b1*result3+b2*result2+b3*result109for(t in 5:num) resultt<-et+b1*resultt-1+b2*resultt-2+b3*resultt-3+b4*resultt-4#构造一个 ar 型时间序歹U10 if(pic=TRUE)# 画图形11 dev.new()12 ts.plot(result,main=paste("y.art=et+",b1,"*y.art-1+",b2,"*y.art-2+",b3,"*y.art-3+
14、",b4,"*y.art-413的时间序列散点图")14 dev.new()15 lag.plot(result, 9, do.lines=FALSE)16 dev.new()17 par(mfrow=c(2,1)18 acf(result, 30,main=paste("y.ar 自相关19图,y.art=et+",b1,"*y.art-1+",b2,"*y.art-2+",b3,"*y.art-3+",b4,"*y.art-4")20 pacf(result,
15、30,main=paste("y.ar 偏自相关21 图,y.art=et+",b1,"*y.art-1+",b2,"*y.art-2+",b3,"*y.art-3+",b4,"*y.art-4")22 resulty.ar<-y.ar(0.92,-0.65)结果一:绘制散点图y.arp=et+ 0.92 *y.art-1)+ -0.65 *y.art-zp- 0 *%art3J+ 0 *y+arttl的时间序列散点图:01Q0T me150200结果二:绘制出 yt同yt-1(延退1)、
16、yt-2(延退2).yt-9(延退9)的2维散点图,用以观察yt同 yt-i的相关性(i=1 -9)qnillp沸ay.ar 目相关 fel,y.ar1=e|l+ 0.92+ -0.65 y.arp-2 0 *y.art-3+。*y.ar(ty.ar# 自招 关图用rq=et+ 0.92 *yrt-1+ 41.65 *y.arl"2l+ 0 Var(t-31+ 0 *y.art-41oq豆t力.rLLug01# ARMA时间序列的模拟试验:产生一个 arma时间序列02library(TSA)03y.arma<-function(a1,a2,a3=0,a4=0,b1,b2,b3
17、=0,b4=0,num=200,pic=TRUE)0405060708091011121314151617181920y.arma(a1=0.92,a2=0.65,b1=0.92,b2=-0.65,num=100)的时间序列散点图")的自相关图") 的偏自相关图")p和q的数值") 加载:library(TSA)1)在纯的ar(q)序列下,pacf图形表现为q+1以后的自相关系数约为0 (虚线内)2)在纯的ar(q)序列下,acf则不规则的会大于 1/-1 可以通过pacf图确定p的数值result<-y.ma(a1=a1,a2=a2,a3=a3,
18、a4=a4,pic=F,num=num)+y.ar(b1=b1,b2=b2,b3=b3,b4=b4,pic=F,num=num)# 产生自回归滑动平均时间序 exp.str<-paste("y.armat=et-",a1,"*et-1-",a2,"*et-2-",a3,"*et-3-",a4,"*et-4+",b1,"*y.armat-1+",b2,"*y.arma if(pic=TRUE) # 画图形 dev.new() ts.plot(result,mai
19、n=paste(exp.str," dev.new() lag.plot(result, 9, do.lines=FALSE) dev.new() par(mfrow=c(2,1) acf(result, 30,main=paste(exp.str," pacf(result, 30,main=paste(exp.str,"print(paste(exp.str,"的扩展相关图。用丁确认eacf(result)# 观察eacf图,确定p和q,#需要 result结果一:绘制散点图y.armatl=etj 0.92 ,et-1J- 0.65 'et
20、-2J- 0 *et-3b o *et4+ 0,92 *y.armat-1+ -0-65 >.»31-2+ 0 "y armaCt 3+ 0 VarmatJ 的时间序列散点I结果二:绘制出 yt同yt-1(延退1)、yt-2(延退2).yt-9(延退9)的2维散点图,用以观察 yt同 yt-i的相关性(i=1 -9)o1C1(V-101 :结果三:绘制自相关和偏自相关图(在虚线外的表示有相关性)y.armat=eg- 0.920,654ep-2-o *et-3-0.92 "y.armap-lb -0.65 'y.armap-2J+ 0 *y.arma
21、t-J+ o Ay.armat4的 Fl 相关图Lagy.annat=et- 0.92 *1-1- 0.65 *et-2j- D *e!-3- 0 *et-4+ 0.92 *y.amiat-1+ -0.65 "y.armat-2)+0 *y.amat-3+ 0 fcy.armat-4的偏自 相关图1)在arma(q)序列下,acf和pacf图形全市不规则的所以在arma下acf和pacf并不能用于确定 p和q,此时用eacf来大致确定AR/MA0 1 2 3 4 5 6 7 8 9 10 11 12 130 o o x x o o o o o o oxoo1 x o o o o o
22、o o o o oxoo2 x o o o o o o o o o oxoo3 x o o o o o o o o o oooo4 x o o o o o o o o o oooo5 x o o o o o o o o o oooo6 o o o o o o o o o o oooo7 x o o o o o o o o o oooo如何使用该改图,我会以后补充(基本就是查看0的倒三角)以上介绍了 arma的一般p和q情况,下面来阐述分析一个 arma的一般过程?11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
23、11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11I II I“ TT “ “ TTTT7TTTTT “ “ TTTT7TTTTnTTTTTTnTTTTnTTT “ “ 7T7T7TTT7T “ “ “ “ TTTT “ “ TT “ “ TTTT7TTTTT “ TT7T , “ “ “UU ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff f
24、f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff1 # 使用差分log对不稳定序列进行“稳定化”并计算 d#"""""""""""""""""""""""""
25、;""""""""""""""""""""""""""""""""""""1 II I TT “ “ TT “ “ TTTT7TTTTT “ “ TTTT7TTTTnTTTTTTnTTTTnTTT “ “ 7T7T7TTT7T “ “ “
26、“ TTTT “ “ TT “ “ TTTT7TTTTT “ TT7T , “ “ “ UU ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff2 #取差分,使其稳定化:00 #代码:3 # diff(data)#1阶差分,d=100 # diff(data,2)#2 阶差分,d=24
27、 #取log再差点,使其稳定化:00 #代码:5 # diff(log(data)#1 阶差分,d=100 # diff(log(data),2)#2 阶差分,d=26 #此处不做代码的实验,各位可以自己尝试00 7 00 8 00 9 01 0 01 1 01 2 01 3 01 4 01 5 01 6 01 7 01 8 01 9""""""""""""""""""""""
28、""""""""""""""""""""""""” n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n# 通过acf图pacf图eacf来计算p q#""""""&
29、quot;"""""""""""""""""""""""""""""""""""""""” n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
30、 n n n n n n n n n n n n n n n n n# stepl 通过acf和pacf确定序歹U的类型:# acff# MA(q)lag>=q+1的自相关系数全部约小于0# AR(p)逐步将接近0约小于0# ARMA(p.q) 逐步将接近0# step2序歹U的类型确定后:求 p q# 如果是MA(q)类型的,看acf图,看前几个不为0# 如果是AR(p)类型的,看pacf图,看前几个不为0# 如果是ARMA(p,q)类型的,看eacf图,看x三角形的顶端#代码:data是向量数据library (TSA)plot.cf<-function(data)dev.ne
31、w()ts.plot(data,main="时间序歹U散点图")dev.new()lag.plot(data, 9, do.lines=FALSE)dev.new()par(mfrow=c(2,1)acf(data, 30,main=" 自相关图")pacf(data, 30,main=" 偏自相关图")pac逐步将接近0|lag>=p+1的自相关系数全部I逐步将接近0020021022023024025026027028029030031032eacf(data)data<-y.arma(a1=0.92,a2=0.65,
32、b1=0.92,b2=-0.65,num=100,pic=F)plot.cf(data)ff ffff ff ffff ff ffff ff ff ffff ff ffff ff ffff ff ff ffff ff ffff ff ffff ff ff ffff ff ffff ff ffff ff ff ffff ff ffff ff 7T“ "TrTrmTTr”,TTTTTTTTTTTTTTTTTTTTTTTTTT,“ “ ”7T“ “,亍“ “TFTF“ “ TT “ “ ” ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
33、 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff#产生 ariam 模型#ff ffff ff ffff ff ffff ffff ffff ff ffff ff ffff ffff ffff ff ffff ff ffff ffff ffff ff ffff ff ffff ffff ffff ff ffff ff7T“"TrTrmTTr”,TTTTTTTTTTTTTTTTTTTTTTTTTT,“ ”7T“ “,亍“ “TFTF“ “ TT “ “ ”
34、ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff# p AR的参数# q MA的参数# d移动取差的阶数# arima(data.ts,order=c(p,d,q)#产生模型。arima只处理时间序歹U,不处理向量等p=2;d=0;q=2data<-y.arma(a1=0.92,a2=0.65,b1=0.92,b2=-0.65,num=100,pic=F)da
35、ta.ts<-ts(data,freq=1,star=1)#把向量化为时间序歹Usol<-arima(data.ts,order=c(p,d,q)#产生模型。arima只处理时间序歹U,不处理向量等dev.new()plot(sol,n.ahead=30)# 预测 30 个点TT it iiTT it iiTT it ff 7TTF f f iiTT n n 7TTF7T7T7T ffff TF f f f f f f 7T7T f f ffff f f f f 7TTT7T7TTT 11 11 11 n TTTT n n ff ff ff ff ff ff ff ff ff ff
36、 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff#检验预测模型的性能#TT ii iiTT ii iiTT ii ff TTTT f f iiTT n n 7TTF7T7T7T ffff TF f f f f f f 7T7T f f ffff f f f f 7TTT7T7TTT 11 11 11 n TTTT ffffff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
37、ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff#序歹0的正态分布验证函数norm.test<-function(input.data,alpha=0.05,pic=TRUE)(if(pic=TRUE)(# 画图形dev.new()033034035036037038039040041042043044045par(mfrow=c(2,1)qqnorm(input.data,main="qq 图")qqline(input.data)his
38、t(input.data,freq=F,main="直方图和密度估计曲线")lines(density(input.data),col="blue")# 密度估计曲线x<-c(round(min(input.data):round(max(input.data)lines(x,dnorm(x,mean(input.data),sd(input.data),col="red")#正态分布曲线sol<-shapiro.test(input.data)if(sol$p.value>alpha)print(paste(&qu
39、ot;success:服从正态分布,p.value=",sol$p.value,">",alpha)elseprint(paste("error:不服从正态分布,p.value=",sol$p.value,"<=",alpha)sol#敬差分析#方案一(自己编写的,不一定好)# ariam.sol 由ariam()产生的模型aya.res<-function(ariam.sol)#step1 :检验正太性,如果符合正太,表示均值相同:稳定的dev.new()norm.test(ariam.sol$resid
40、uals)# 画出QCS,并给出检验正态分布的测试结果par(mfrow=c(3,1)#step2 :查看时序,如果有趋势变化,贝Umea讦为相同,即不是稳定的plot(ariam.sol$residuals,main="残差序歹U图",type="o")# 画出时序图abline(h=0)#step3 :查看acf图,如果全部在虚线内,则表示残差和时间无关系 acf(ariam.sol$residuals, 30,main=" 残差的自相关图:如果所有lag的系数均处于虚线内,则原始模型较好")#step4 :使用Ljung来进行白
41、噪声验证:表示均值全部为0,即残差很小test.p<-0 for(i in 1:20) test.pi<-Box.test(sol$residuals,i,fitdf=2,type="Ljung")$p.value#选取残差中 lag=1-i 的自相关系数来建立Ljung量。 print(test.p) plot(c(NA,NA,test.p-c(1:2),main=" 残差的 Ljung 检验 p.value:如果 lag=3-以后的所有点均大于 0.05 ,则是白噪 声",ylim=c(0,1) abline(h=0.05,col=&qu
42、ot;red") aya.res(sol)#方案二(好,书上的)#step1 :检验正太性,如果符合正太,表示均值相同:稳定的dev.new()norm.test(sol$residuals)# 画出QC®,并给出检验正态分布的测试结果dev.new()#使用对arima产生的模型,使用tsdiag()函数,直接画出:残差的时序图,残差的 acf图,Ljung产生的p.value (和0.05比较) tsdiag(sol,gof=15,omit.initial=F)# sol是由 ariam()产生的模型f f f f f f f f f f f f f f f f f f
43、 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 7T“"TrTrmTTr”,TTTTTTTTTTTTTTTTTTTTTTTTTT,“”7T“,亍“ “TFTF“ “ TT “ “ “046047048049050051052053054055056057058ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度室内设计施工图纸审核合同3篇
- 2025年全球及中国纺织胶浆行业头部企业市场占有率及排名调研报告
- 2025-2030全球下一代工业滴定仪行业调研及趋势分析报告
- 2025年全球及中国脊髓刺激脉冲发生器行业头部企业市场占有率及排名调研报告
- 2025-2030全球人工智能NPC行业调研及趋势分析报告
- 二零二五年度办公楼木地板翻新与维护服务合同3篇
- 2025年全球及中国金属面PU夹芯板行业头部企业市场占有率及排名调研报告
- 2025年全球及中国发酵工程药物行业头部企业市场占有率及排名调研报告
- 2025-2030全球热发泡喷码机行业调研及趋势分析报告
- 二零二五版“家居用品销售协议”英文翻译3篇
- 福建省厦门市2023-2024学年高二上学期期末考试语文试题(解析版)
- 课文背书统计表
- 三年级语文下册教案-14 蜜蜂3-部编版
- 苏教版小学数学四年级下册全册教案
- DB51T2939-2022 彩灯(自贡)制作工艺通用规范
- 押金收据条(通用版)
- 药理治疗中枢神经系统退行性疾病药.pptx
- 强三基反三违除隐患促安全百日专项行动实施方案
- 新人教版七年级数学上册全册专项训练大全
- 标准预防--ppt课件
- 压力管道氩电联焊作业指导书
评论
0/150
提交评论