Python计算离散序列的自相关函数

Python计算离散序列的自相关函数

离散时间序列的自相关函数其实就是若干阶自相关系数的组合,其中,自相关系数的计算公式如下:
Python计算离散序列的自相关函数_第1张图片

其中 h 为阶数,μ为序列的均值,比如计算离散时间序列 :

[2, 3, 4, 3, 7] 的自相关函数

首先计算 0 阶自相关系数为 1,然后计算 1 阶自相关系数,均值

μ = (2 + 3 + 4 + 3 + 7) / 5 = 3.8,则分母在这里插入图片描述

1 阶自相关系数为 在这里插入图片描述

同理可计算 2、3……阶自相关系数,最后组合在一起就是离散时间序列的自相关函数。用 python 计算的如下:

在这里插入代码片
import statsmodels.tsa.api as smt


time_series = [2, 3, 4, 3, 7]
acf = smt.stattools.acf(time_series)
print(acf)

结果如下:

在这里插入图片描述

这里求得的自相关函数的取值范围在 [-1, 1] 之间

自相关函数同样可以用 MATLAB 中的库函数 autocorr() 计算,代码如下:

X = [2 3 4 3 7];
[ACF, ~, ~] = autocorr(X, length(X) - 1);

结果如下:

在这里插入图片描述

你可能感兴趣的:(Python计算离散序列的自相关函数)