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