为什么要做自相关分析:
对数据进行建模前首先要对数据有一个大致的理解,自相关分析可以帮助人们看出数据是否平稳,时间序列是否存在某种变化的趋势。
自相关简介:
自相关是指同一时间序列在不同时刻取值的相关程度,假设有时间序列xt,t=1,2,3,…,则在此时刻 t 和 t+n 之间的相关即为 n 阶自相关,其定义如下:
通俗上说,就是把一列数据按照滞后数拆成两列数据,再对这两列数据做类似相关系数的操作。如下图
通过r语言实现自相关分析:
在r语言中,可直接使用acf函数分析序列自相关性
函数定义:
lag.max 为最大之后阶数,默认是 10 ∗ l o g 1 0 ( n / m ) 10*log_10({n/m}) 10∗log10(n/m)
type 可设置计算 acf 的类型,默认是相关系数,还有协方差,偏相关系数。
na.nation 可用来处理缺失值,可以使用na.pass
下面对r自带的airmiles数据进行自相关分析。
acf(airmiles,type='correlation',lag.max=10)输出结果:
由图可看出,滞后阶数为0时,相关系数为1,随着滞后阶数的增加。相关系数逐渐减弱并趋于稳定
偏相关分析引出:
求出滞后k自相关系数p(k)时,实际上得到并不是x(t)与x(t-k)之间单纯的相关关系。因为中间会受到k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响,而这k-1个随机变量又都和x(t-k)具有相关关系,所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响。
为了能单纯测度 x(t-k) 对 x(t) 的影响,引出偏自相关系数的概念。
直观上解释,对于平稳时间序列{x(t)},所谓滞后k偏自相关系数指在给定中间k-1个随机变量
x(t-1)、x(t-2)、……、x(t-k+1)的条件下,或者说,在剔除了中间k-1个随机变量
x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后,x(t-k)对x(t)影响的相关程度。
r语言实现:
在r语言中,可直接使用pacf函数分析序列自相关性
函数定义及用法类似acf函数
pacf(airmiles,lag.max=10)