最近收到一項新任務,要求兩個矩陣的相關系數,說白了就是轉換成向量兩兩計算。本來這個工作我是想自己寫個小程序搞定的,但是大家紛紛反映matlab自帶了此項功能,本着活到老學到老的心態,我開始查找這個函數,目測貌似有兩個函數可以直接調用,首先我們先來介紹下我們這里的相關系數。
皮爾遜積矩相關系數(Pearson product-moment correlation coefficient)
通常用γ或ρ表示,是用來度量兩個變量之間的相互關系(線性相關)的,取值范圍在[-1,+1]之間。
下面再說下可直接調用的函數
1.corrcoef
corrcoef(X):返回從矩陣X形成的一個相關系數矩陣,若X是一個m*n的矩陣,那么得到的相關系數矩陣A就是一個n*n的對稱矩陣,A中的第i行第j列的元素表示的就是X第i列和第j列的相關系數。
corrcoef(X,Y):它的作用和corrcoef([X,Y])是一樣的。
corrcoef函數算出來的是皮爾遜相關系數。
corrcoef函數計算相關系數是在matlab提供的cov函數基礎上進行計算的,形成的矩陣是
2.corr
corr(X)輸出的結果和corrcoef是一致的,但是corr可以自己選擇相關系數的類型。matlab提供三種,默認的是皮爾遜相關系數,剩下的兩種是kendall和spearman.
corr(X,'type','pearson')和corr(X)的結果是一樣的。