1. 程式人生 > >matlab 兩個序列的相關係數

matlab 兩個序列的相關係數

在進行相關係數計算之前,為了消除指標變數間由於數量級的不同而產生的影響,需要對原始矩陣矩陣進行標準化處理。
A=xlsread('C:\Users\sxd\Desktop\11','sheet1','A1:O359');%讀取excel表格資料
B=zscore(A);

Pearson相關係數用來衡量兩個資料集合是否在一條線上面。其計算公式為:


相關係數r取值在-1到1之間,r = 0時,稱X,Y不相關; | r | = 1時,稱X,Y完全相關,此時,X,Y之間具有線性函式關係; | r | < 1時,X的變動引起Y的部分變動,r的絕對值越大,X的變動引起Y的變動就越大, |r

 | > 0.8時稱為高度相關,當 | r | < 0.3時稱為低度相關,其它時候為中度相關。

函式  corrcoef

C=corrcoef(B);%矩陣C就是我們要求的相關係數

例子
格式  corrcoef(X,Y)   %返回列向量X,Y的相關係數,等同於corrcoef([X  Y])。
corrcoef (A)    %返回矩陣A的列向量的相關係數矩陣
例4-48
>> A=[1 2 3;4 0 -1;1 3 9]
A =
     1     2     3
     4     0    -1
     1     3     9
>> C1=corrcoef(A)    %求矩陣A的相關係數矩陣


C1 =
    1.0000   -0.9449   -0.8030
   -0.9449    1.0000    0.9538
   -0.8030    0.9538    1.0000
>> C1=corrcoef(A(:,2),A(:,3))    %求A的第2列與第3列列向量的相關係數矩陣
C1 =
    1.0000    0.9538
    0.9538    1.0000