相關分析是指對多個具備相關關係的變數進行分析,從而衡量變數間的相關程度或密切程度。相關性可以應用到所有資料的分析過程中,任何事物之間都存在一定的聯絡。相關性用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 ...