線性相關評價方法、python.DataFrame.corr函數

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的標準差的乘積

公式:​$$r_{x y}=\frac{s_{x y}}{s_{x} s_{y}}$$

其中, $$r_{x y}$$爲樣本相關係數; $$s_{x y}$$爲樣本協方差; $$s_{x}$$爲x的樣本標準差; $$s_{y}$$爲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相關係數,稱爲秩相關係數

主要用於計算不服從正態分佈的數據、原始等級數據、一側開口數據、總體分佈類型未知的數據;

公式:​$$r_{s}=1-\frac{6 \sum_{i=1}^{n} d_{i}^{2}}{n\left(n^{2}-1\right)}$$

其中,n爲樣本中觀測值的個數; $$ x_{i}$$爲對於第一個變量的第i個觀測值的秩;$$ y_{i}$$ 爲對於第二個變量的第i個觀測值的秩;$$ d_{i}=x_{i}-y_{i}$$

x1.corr("spearman相關係數",x.corr(y,method="spearman"))

(3)kendall相關係數

表示等級變量相關程度的一種方法,定義:n個同類的統計對象按特定屬性排序,其他屬性通常是亂序的。同序對和異序對之差與總對數(n*(n-1)/2) 的比值定義爲kendall秩相關係數。

公式:​ $$\tau=\frac{2 P}{\frac{1}{2} n(n-1)}-1=\frac{4 P}{n(n-1)}-1$$

其中,n是數據樣本量,P爲兩個變量值排列大小關係一致的統計對象對數。kendall stau係數性質:

  • 如果兩個變量排名是相同的,係數爲1,兩個變量正相關;
  • 如果兩個變量排名完全相反,係數爲-1 ,兩個變量負相關;

  • 如果排名是完全獨立的,係數爲0;

     

     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章