我学的时间序列课程,实验课都是在sas做的,一直想用R把大概的思路捋顺一下,所以这篇东西并没有给出很多的程序结果,
更多地设计做时间序列的思路
#产生时间序列数据
#产生规则的时间序列,frequency=1,4,12分别对应年度,季度,月度
timeseries = ts(x,start=c(1940,01),frequency=1)
#产生不规则的时间序列
library(zoo)
#以天为单位的时间序列
date = seq(as.Date("2012-01-01"),length=500,by="day")
timeseries = zoo(1:500,date)
#读入数据
kings = scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)
#转化成ts格式,frequency=1,4,12分别对应年度季度,月度
#要生成以天为单位的数据,只好生成一列时间序列数
kingsts = ts(kings,start=c(1940),frequency=1)
#有了数据,下一步就是用Box.test()检验纯随机性,根据P值可以轻易判断
Box.test(kingsts,lag=1,type="Box-Pierce") #缺点是只可以做某一阶的判断
#可以生成各阶检验的结果汇总表,一般是检验1到12阶,一般短期延迟之内不存在相关关系,长期之内更不会有
#通过type = c("Box-Pierce", "Ljung-Box")控制方法,分别是Q统计量(大样本)、LB统计量(小样本)
lag = c