資料分析 有關相關性分析的混沌

2021-09-19 08:30:01 字數 2384 閱讀 6662

相關分析是指對多個具備相關關係的變數進行分析,從而衡量變數間的相關程度或密切程度。相關性可以應用到所有資料的分析過程中,任何事物之間都存在一定的聯絡。相關性用r(相關係數)表示,r的取值範圍是[-1,1]

相關性不等於因果,用x1和x2作為兩個變數逆行解釋,相關意味著x1和x2是邏輯上的並列相關關係,而因果聯絡可以解釋為因為x1所以x2(或因為x2所以x1)的邏輯關係,二者是完全不同的。

相關性的真實價值不是用來分析「為什麼」,而是通過相關性來描述無法解釋的問題背後真正成因。相關性的真實價值是能知道「是什麼」,即無論通過何種因素對結果產生影響,最終出現的規律就是二者會一起增加,降低等。

r(相關係數)低就是不相關麼?其實不是。

首先,r的取值可以為負,r=-0.8代表的相關性要高於r=0.5,負相關性只是意味著兩個變數的增長趨勢相反。因此需要看r的絕對值來判斷相關性的強弱。

其次,即使r的絕對值低,也不一定說明變數間的相關性低,原因是相關性衡量的僅僅是變數間的線性相關關係,變數間除了線性關係外,還包括指數關係,多項式關係,冪關係等,這些非線性相關的相關性不在r(相關性分析)衡量範圍內。

import numpy as np

data = np.loadtxt(

'/users/nxcjh/learn/python-yunying/python_book/chapter3/data5.txt'

, delimiter=

'\t'

)x = data[:,

:-1]

# 切分自變數

print

(x)correlation_matrix = np.corrcoef(x, rowvar=0)

# 相關性分析

print()

print

(correlation_matrix.

round(2

))# 列印輸出相關性結果

[[9.74500000e+01 6.91560000e+02 3.17747000e+03 ... 2.50230850e+05

1.48545545e+06 1.48517277e+06]

[1.01760000e+02 9.20360000e+02 1.57680100e+04 ... 6.39772285e+06

5.72076300e+05 5.71978860e+05]

[9.82100000e+01 8.94760000e+02 8.82403000e+03 ... 1.61567885e+06

1.05798051e+06 1.05838664e+06]

...[1.00580000e+02 5.22320000e+02 7.88055000e+03 ... 5.72337040e+05

2.25482960e+05 4.10655250e+05]

[9.95600000e+01 5.03000000e+02 4.02205000e+03 ... 7.15016400e+05

2.08891280e+05 3.95942710e+05]

[1.00420000e+02 7.14510000e+02 7.79795000e+03 ... 2.77508514e+06

5.97421660e+05 2.26286140e+05]]

[[ 1. -0.04 0.27 -0.05 0.21 -0.05 0.19 -0.03 -0.02]

[-0.04 1. -0.01 0.73 -0.01 0.62 0. 0.48 0.51]

[ 0.27 -0.01 1. -0.01 0.72 -0. 0.65 0.01 0.02]

[-0.05 0.73 -0.01 1. 0.01 0.88 0.01 0.7 0.72]

[ 0.21 -0.01 0.72 0.01 1. 0.02 0.91 0.03 0.03]

[-0.05 0.62 -0. 0.88 0.02 1. 0.03 0.83 0.82]

[ 0.19 0. 0.65 0.01 0.91 0.03 1. 0.03 0.03]

[-0.03 0.48 0.01 0.7 0.03 0.83 0.03 1. 0.71]

[-0.02 0.51 0.02 0.72 0.03 0.82 0.03 0.71 1. ]]

第5列和第7列相關性最高,係數達到0.91

第4列和第6列相關性比較高,係數達到0.88

通過numpy的loadtxt方法讀取文字資料檔案,並制定分隔符。

對numpy矩陣做切塊處理;

使用numpy中的corrcoef做相關性分析;

使用round方法保留2位小數。

spearman相關性分析 相關性分析

r語言常用函式 cor 預設結果為矩陣 cor mydat,use method use 缺失值的處理,method 處理方法 cor x,y 可以計算非方形矩陣,x y分別為2個矩陣,相同的行數 cor.test x,y,alternative method x y為檢驗相關性的變數 librar...

資料相關性分析

源於 python資料分析與挖掘實戰 coding utf 8 import pandas as pd catering sale data catering sale all.xls data pd.read excel catering sale,index col u 日期 data.corr...

相關性分析

1.圖表 折線圖 散點圖2.協方差及協方差矩陣協方差 用來衡量兩個變數的總體誤差。只能對兩組資料進行分析 3.相關係數 correlation coefficience 可以對相關的密切程度進行度量弊端 因為沒有模型,所以無法進行 正態性檢驗 t檢驗 假設檢驗 異常值檢驗 箱線圖法 q1 位於25 ...