from http://blog.sina.com.cn/s/blog_6bb07f830100xh0y.html
第一部分:怎么将数组转化为时间序列?
ts(x, start=1,frequency=4) # 将x转化为时间序列model
通常状况下,当frequency=4,12等特殊的时间遍历变量,时间序列会自动变成按照季度或者按照月来组织,当frequency=4,如果start是第三个季度,可以用ts(x, start(1980,3),frequency=4)来描述
第二部分:ARMA模型理论篇
X[t] = a[1]X[t-1] + … + a[p]X[t-p] + e[t] + b[1]e[t-1] + … + b[q]e[t-q]
p:AR的阶数
p表示时间序列的相关性,即当时状态最多与p时刻前的状态有关,用偏自相关函数判断,偏自相关系数表现为p阶截尾,表示给定x[t-1], …x[t-p+1]后,x[t-p]对x[t]的影响程度
d:差分阶数
q:MA的阶数,误差项的相关系数,用自相关函数判断,自相关系数表现为q阶截尾,自相关系数表示x[t]与x[t+q]的相关系数
AR模型特点:偏自相关系数p阶截尾,自相关系数拖尾
MA模型特点:自相关系数q阶截尾,偏自相关系数拖尾
ARMA模型特点:自相关系数拖尾,偏自相关系数拖尾,其中偏自相关系数p阶显著,自相关系数q阶显著
第三部分:ARMA模型实践篇
R中时间序列的函数:arima(x, order=c(p,d,q))
x = arima.sim(list(order=c(1,0,0), ar=.9), n=100) + 50
arima(x, order = c(1, 0, 0)) Call: arima(x = x, order = c(1, 0, 0)) Coefficients:ar1 intercept ----------请注意这里的intercept其实表示mean 0.8517 50.9829 --------ar1下面的系数表示AR模型中的系数 s.e. 0.0527 0.6601 请注意:这个结果表达的含义是: x(t+1)-50.9829=0.8517*(x(t)-50.9829)+w(t)
而不是:x(t+1)=0.8517*x(t)+50.9829+w(t)
预测函数:predict(model, n.ahead=T)
注意:不要轻易尝试d不等于0的情况,R的diff模型存在很多和常规不一样的地方。非常容易出错
第四部分:趋势项分解
model<-stl(x, s.windows=period)
分解后:
model$time.series[,1]:趋势项
model$time.series[,2]:季节项
model$time.series[,3]:时间序列项
stl似乎并没有提供自带的预测方法,而事实上,从图中其实能够很容易的看出trend和季节项,不如采用回归来完成这件事:
Q = factor(rep(1:4,21)) # make (Q)uarter factors [that's repeat 1,2,3,4, 21 times] trend = time(jj)-1970 # not necessary to "center" time, but the results look nicer reg = lm(log(jj)~0+trend+Q, na.action=NULL) # run the regression without an intercept
附录:做时间序列经常用到的小trick
一、平滑函数:filter
k = c(.5,1,1,1,.5) # k is the vector of weights
k = k/sum(k)
[1] 0.125 0.250 0.250 0.250 0.125
k_smooth = filter(x, sides=2, k)
二、差分函数:diff
diff(x, lag=1,differences=1)
lag:差分间距
differences:差分的次数
当lag=m,diff=1
结果为: a[m+1]-a[1], a[m+2]-a[2], …
当lag=m,diff=2
第一步:先做一次lag=m的差分,得到:
a[m+1]-a[1], a[m+2]-a[2], …
第二步:即:令b[1] = b[m+1]-a[1], b[2] = b[m+2] – a[2], …,再做一次lag=2的差分
b[m+1]-b[1], b[m+2]-b[2], …
参考资料:http://www.stat.pitt.edu/stoffer/tsa2/R_time_series_quick_fix.htm
原创文章,作者:xsmile,如若转载,请注明出处:http://www.17bigdata.com/%e7%94%a8r%e6%9d%a5%e5%81%9a%e6%97%b6%e9%97%b4%e5%ba%8f%e5%88%97/
注意:本文归作者所有,未经作者允许,不得转载