如何计算R中的自相关?
在本文中,我们将计算 R 编程语言中的自相关
自相关用于衡量给定时间间隔范围内时间序列与其自身滞后版本之间的相似程度。我们也可以将自相关称为“序列相关”或“滞后相关”。主要用于衡量实际值与以前值的关系。
在 R 中,我们可以使用模块 tseries 计算向量中的自相关。在这个模块中,我们必须使用 acf() 方法来计算自相关。
Syntax:
acf(vector, lag, pl)
Parameter:
- vector is the input vector
- lag represents the number of lags
- pl is to plot the auto correlation
示例:用于计算具有不同滞后的向量中的自相关性的 R 程序
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))
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=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))
输出:
相同的函数可用于可视化生成的输出,我们只需将 pl 设置为 TRUE
示例:数据可视化
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=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))
输出: