
在數據分析中我們常常需要判斷多組數據之間的關聯程度NumPy提供了簡單的函數直接計算相關系數矩陣、協方差、樣本方差。相關系數矩陣是對稱矩陣。對角線上的值都是1代表變量自身的自相關非對角線元素就是變量之間的相關系數取值范圍在-1到1之間。數值大于0代表正相關一個變量增大另一個也跟著增大數值小于0代表負相關一個變量增大另一個減小。相關系數的絕對值越接近1兩組數據變化趨勢的相似度越高。np.corrcoef 默認一行代表一個變量。pythonimport numpy as np# 完全負相關print(np.corrcoef([1,2,3,4], [4,3,2,1]))# 不完全負相關print(np.corrcoef([1,2,3,4], [8,3,2,1]))# 完全正相關print(np.corrcoef([1,2,3,4], [1,2,3,4]))# 弱正相關print(np.corrcoef([1,2,3,4], [1,2,3,40]))# 多個變量放入矩陣計算x np.matrix([[1,2,3], [4,5,6]])print(np.corrcoef(x))x np.matrix([[1,2,3], [4,5,6], [9,8,7]])print(np.corrcoef(x))np.cov 用來計算協方差矩陣。矩陣對角線上的數字是樣本方差代表一組數據的波動大小非對角線元素是協方差用來衡量兩組數據協同波動的情況。注意這里是樣本方差計算時分母為樣本數量減1。pythonimport numpy as npx np.matrix([[-2,1,-1,4,3], [3,1,1,0,12]])print(np.cov(x))協方差會受數據單位影響不方便直接對比相關性強弱。相關系數消除了量綱范圍固定在-1到1適合用來判斷變量線性相關的程度。核心要點 np.corrcoef 看變量線性相關強弱 np.cov 計算協方差和樣本方差。兩個函數默認一行代表一個變量使用時要注意行列順序。