NumPy 中的自相关
Vaibhav Vaibhav
2021年4月29日
在数据科学中,数据集的变量可以某种方式相互关联。该关系可以是直接成比例的,也可以是间接成比例的。一个变量的简单更改可能会稍微更改某些变量,或者可能会彻底更改。这种现象称为相关。
自相关是指一组时间信号与其自身的过时或旧版本之间的相关性。两组时间信号之间有一些时间差。
计算 NumPy 中的自相关
稳健的数据科学库 NumPy 具有内置函数 correlate()
,可用于查找两个一维序列之间的相关性。它接受两个一维数组和一种模式。
模式类型可以是 valid
、same
和 full
,并且此参数是可选的。此参数的默认值为 valid
。
要了解有关此函数的更多信息,请参阅官方文档
import numpy
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
myArray = numpy.array(myArray)
result = numpy.correlate(myArray, myArray, mode = 'full')
result = result[result.size // 2 :]
print(result)
输出:
[385 330 276 224 175 130 90 56 29 10]
在上面的代码中,我们首先定义一个数字列表,然后使用 NumPy 的 array()
方法将其转换为 NumPy 数组。然后,我们将感兴趣的方法称为 correlate()
,以计算数据的自相关。我们正在使用完全
模式进行计算。
结果存储在 result
变量中,然后进行切片。切片部分至关重要,因为 correlate()
方法返回的数组大小为 2 *我们数组的长度-1
,而我们感兴趣的值位于后半部分,即 [(result.size // 2), result.size)
。
Author: Vaibhav Vaibhav