说到时间序列,那么就必须提起自回归了。什么是自回归呢,就是说未来的一个时点可以用之前的时点来进行回归预测,还是那一串数字,但是时间状态不同了,存在不同阶的时滞。
所以呢,我们首先要写一个时间滞后函数。
L_ <- function(x,lag = 1,na.is = TRUE){#delay ont step function
if(na.is)c(rep(NA,lag),x[1:length(x)-lag])
else x[1:(length(x) - lag)]
}
这里呢,我们是把一列数据做了一个滞后,比如5,4,2,1,3,变成了NAN,5,4,2,1。
大家放到R语言里面试一下就知道啦。
我们知道如何计算两个变量的协方差,从而计算相关性。如果不会的话,去补一下统计基础吧,或者看一下笔者之前的FRM笔记之数量分析也可以。其实对于自回归而言,也是一样的道理,求取的就是不同时滞之间的相关系数。
#example 2
yt_1 = L_ (yt,na.is = T)
plot(yt,yt_1);abline(h = 0)
cor(yt,yt_1,"complete")
cor函数就是计算两个变量之间的相关性,很简单,这样我们就算出来一阶自回归系数。
R当中还提供了一个更加好的函数,acf,就是atuo correlation function。所谓自回归系数函数呢就是不同滞后阶下的回归系数。当然,如果滞后阶数为零的话,也就是本身,那么自回归系数就一定是1.我们运行一下看看就知道啦。
函数很简单就是acf(yt)。