皮爾森理解
皮爾森相關系數(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()
