R语言 如何计算自相关
在这篇文章中,我们将用R编程语言计算自相关。
自相关是用来衡量在给定的时间间隔范围内,一个时间序列与自身的滞后版本之间的相似程度。我们也可以把自相关称为 “序列相关 “或 “滞后相关”。它主要用于衡量实际值与之前值之间的关系。
在R语言中,我们可以通过使用tseries模块来计算一个向量的自相关。在这个模块中,我们必须使用acf()方法来计算自相关。
语法:
acf(vector, lag, pl)
参数 。
- vector是输入向量
- lag表示滞后期的数量
- pl是绘制自动相关图
例子: R程序计算不同滞后期的向量的自相关。
# load tseries module
library(tseries)
# create vector1 with 8 time periods
vector1=c(34,56,23,45,21,64,78,90)
# calculate auto correlation with no lag
print(acf(vector1,pl=FALSE))
# calculate auto correlation with lag 0
print(acf(vector1,lag=0,pl=FALSE))
# calculate auto correlation with lag 2
print(acf(vector1,lag=2,pl=FALSE))
# calculate auto correlation with lag 6
print(acf(vector1,lag=6,pl=FALSE))
输出 。
同样的函数可以用于可视化输出,为此我们只需将pl设置为TRUE。
例子: 数据的可视化
# load tseries module
library(tseries)
# create vector1 with 8 time periods
vector1=c(34,56,23,45,21,64,78,90)
# calculate auto correlation with no lag
print(acf(vector1,pl=TRUE))
# calculate auto correlation with lag 0
print(acf(vector1,lag=0,pl=TRUE))
# calculate auto correlation with lag 2
print(acf(vector1,lag=2,pl=TRUE))
# calculate auto correlation with lag 6
print(acf(vector1,lag=6,pl=TRUE))
输出 。