python 皮爾森相關系數


皮爾森理解

 皮爾森相關系數(Pearson correlation coefficient)也稱皮爾森積矩相關系數(Pearson product-moment correlation coefficient) ,是一種線性相關系數。皮爾森相關系數是用來反映兩個變量線性相關程度的統計量。相關系數用r表示,其中n為樣本量,分別為兩個變量的觀測值和均值。r描述的是兩個變量間線性相關強弱的程度。r的絕對值越大表明相關性越強。

簡單的相關系數的分類

  • 0.8-1.0 極強相關
  • 0.6-0.8 強相關
  • 0.4-0.6 中等程度相關
  • 0.2-0.4 弱相關
  • 0.0-0.2 極弱相關或無相關

 r描述的是兩個變量間線性相關強弱的程度。r的取值在-1與+1之間,若r>0,表明兩個變量是正相關,即一個變量的值越大,另一個變量的值也會越大;若r<0,表明兩個變量是負相關,即一個變量的值越大另一個變量的值反而會越小。r 的絕對值越大表明相關性越強,要注意的是這里並不存在因果關系。

 

python 實現

# encoding:utf-8
import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plot
import math
#target_url = ("https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data")
#rockVMines = pd.read_csv(target_url ,header=None,prefix="V") #prefix前綴
rockVMines = pd.read_csv('../rockdata.txt',header=None,prefix="V")  #prefix前綴
row2 = rockVMines.iloc[1,0:60]
row3 = rockVMines.iloc[2,0:60]
n = len(row2)
mean2 = row2.mean()
mean3 = row3.mean()
t2=0 ; t3=0;t1=0
for i in range(n):
t2 += (row2[i] - mean2) * (row2[i] - mean2) / n
t3 += (row3[i] - mean3) * (row3[i] - mean3) / n
r23=0
for i in range(n):
r23 += (row2[i] - mean2)*(row3[i] - mean3)/(n* math.sqrt(t2 * t3))
print r23

corMat = DataFrame(rockVMines.corr())  #corr 求相關系數矩陣
print corMat
plot.pcolor(corMat)
plot.show()




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM