1、pandas.DataFrame.corr
DataFrame.corr(method: {'pearson', 'kendall', 'spearman'})
相關方法:
pearson:標準相關係數
kendall:Kendall Tau相關係數
spearman:Spearman秩相關係數
解釋:相關係數的取值範圍爲[-1,1],屬於0.8-1:極強相關;屬於0.6-0.8:強相關;屬於0.4-0.6:中等程度相關;屬於0.2-0.4:弱相關;0-0.2:極弱相關或無相關;
2、三種常見相關係數及適用範圍
(1)pearson相關係數:度量兩變量x和y之間的線性關係,樣本協方差除以x的標準差與y的標準差的乘積
公式:
其中, 爲樣本相關係數; 爲樣本協方差; 爲x的樣本標準差; 爲y的樣本標準差;
數據:x,y都是隨機變量,雙變量正態分佈,在求pearson相關係數後,通常用t檢驗方法進行pearson相關係數檢驗,而t檢驗是基於數據呈正態分佈的假設的;實驗數據之間的差距不能太大。
import pandas as pd
import numpy as np
x=pd.Series([1,2,3,4,5,6])
y=pd.Series([0.3,0.9,2.7,2,3.5,5])
print(x.mean(),y.mean()) # 平均值
print(x.var(),y.var()) #方差
print(x.std(),y.std()) # 標準差
print("協方差",x.cov(y)) # 協方差
print("pearson相關係數",x.corr(y,method="pearson")) # pearson相關係數
(2)spearman相關係數,稱爲秩相關係數
主要用於計算不服從正態分佈的數據、原始等級數據、一側開口數據、總體分佈類型未知的數據;
公式:
其中,n爲樣本中觀測值的個數; 爲對於第一個變量的第i個觀測值的秩; 爲對於第二個變量的第i個觀測值的秩; 。
x1.corr("spearman相關係數",x.corr(y,method="spearman"))
(3)kendall相關係數
表示等級變量相關程度的一種方法,定義:n個同類的統計對象按特定屬性排序,其他屬性通常是亂序的。同序對和異序對之差與總對數(n*(n-1)/2) 的比值定義爲kendall秩相關係數。
公式:
其中,n是數據樣本量,P爲兩個變量值排列大小關係一致的統計對象對數。kendall stau係數性質:
- 如果兩個變量排名是相同的,係數爲1,兩個變量正相關;
-
如果兩個變量排名完全相反,係數爲-1 ,兩個變量負相關;
-
如果排名是完全獨立的,係數爲0;