NumPy 中的自相關

Vaibhav Vaibhav 2021年4月29日
NumPy 中的自相關

在資料科學中,資料集的變數可以某種方式相互關聯。該關係可以是直接成比例的,也可以是間接成比例的。一個變數的簡單更改可能會稍微更改某些變數,或者可能會徹底更改。這種現象稱為相關。

自相關是指一組時間訊號與其自身的過時或舊版本之間的相關性。兩組時間訊號之間有一些時間差。

計算 NumPy 中的自相關

穩健的資料科學庫 NumPy 具有內建函式 correlate(),可用於查詢兩個一維序列之間的相關性。它接受兩個一維陣列和一種模式。

模式型別可以是 validsamefull,並且此引數是可選的。此引數的預設值為 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)

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub