matlab中樣本相關係數的計算與測試

2021-07-23 16:13:55 字數 2757 閱讀 5929

r=

cov(

x,y)

σxσy

=e(x

−μx)

(y−μ

y)σx

σy用法:

r = corrcoef(x,y)
其餘用法未列出,使用help corrcoef檢視。

corrcoef(x,y)表示序列x和序列y的相關係數,得到的結果是乙個2*2矩陣,其中對角線上的元素分別表示x和y的自相關,非對角線上的元素分別表示x與y的相關係數和y與x的相關係數,兩個是相等的。

data1:有兩例資料,第一列為x,第二列為y:

1

1.22

1.93

3.1445

5.66

6.27

6.8

code:

data = load('data1.txt');

x = data(:,1);

y = data(:,2);

r = corrcoef(x, y)

結果:

r =

1.0000

0.9927

0.9927

1.0000

可以看到,自相關係數為1,因為自身與自身完全一樣,x與y的相關係數為0.9927,非常接近1,表示兩序列有很強的正相關性。

也不是完全自己寫,目的是通過測試,了解自相關係數計算的一些細節。

在這之前得說一說總體與樣本,計算方差的時候我們有如下公式: va

r(x)

=e(x

−ex)

2 這裡取平均的時候有兩種方式:除以n

,此為二階中心矩,把資料看作總體,如果資料並不是總體(對於測量來說一般是樣本,因為不可能無限次測量),得到的估計是有偏的。除以n

−1,其實是把資料看作樣本,這樣做是為了得到無偏估計。

matlab中的var,std,cov等函式預設的都是除以n−

1 ,這樣可以得到無偏估計。使用時需注意。下面是對

n 和n−

1的測試。

在matlab中,函式var可以用來計算方差,但要注意:

v = var(x)   % 樣本方差,分母除的是n-1(當n>1時),當n=1時,除n

v = var(x,1) % 二階矩,也就是總體方差,分母除的是n

其餘用法未列出,使用help var檢視。

可以進行如下驗證,資料還是用的上面的x:

% 總體方差

sigxn = var(x,1) % matlab函式

sigxn_test = sum(diffx.^2)/size(diffx,1) % 自己計算

% 樣本方差

sigxn1 = var(x,0) % 與var(x)結果一樣

sigxn1_test = sum(diffx.^2)/(size(diffx,1)-1)

結果:

sigxn       =     4

sigxn_test = 4

sigxn1 = 4.6667

sigxn1_test = 4.6667

n 和n−

1的用法得證。

協方差計算函式cov也分總體和樣本兩種情況。

cov的用法:

c = cov(x,y)   % 總體,n

c = cov(x,y,1) % 樣本,n-1

std用法:

s = std(x)          % 總體,n

s = std(x,flag) % flag=0是總體,flag=1是樣本(n-1)

其餘用法未列出,使用help var檢視。

完整的**:

data = load('data1.txt');

x = data(:,1);

y = data(:,2);

r0 = corrcoef(x, y) % 相關係數

% 以下是測試

mu_x = mean(x); % x均值

mu_y = mean(y); % y均值

diffx = x - mu_x; % 行列與x一樣

diffy = y - mu_y;

covxy = sum(diffx.*diffy)/(size(diffx,1)-1); % x與y的協方差,用的n-1

sigx = sqrt(var(x,0)); % 標準差,用的n-1

sigy = sqrt(var(y,0));

r = covxy/(sigx*sigy)

結果:

r0 =

1.0000

0.9927

0.9927

1.0000

r = 0.9927

上面自己計算的時候,協方差和標準差的分母用的是n−

1 ,接下來,用

n ,發現得到的結果是一樣的。可見,對於相關係數的計算,不管協方差和標準差的分母是n−

1還是n ,結果是一樣的。

MATLAB相關係數計算

matlab中計算相關係數的函式及其語法 plain view plain copy r corrcoef x r corrcoef x,y r,p corrcoef r,p,rlo,rup corrcoef corrcoef param1 val1,param2 val2,下面以例項來進行說明。p...

皮爾森相關係數 皮爾森相關係數的計算

在 變數關係大揭秘 一 我們提到了皮爾森相關係數r 先來兩個散點圖,左圖中x和y不相關,右圖中x和y高度正相關,差別在哪?讓我們在左右兩圖各畫乙個 田 字,田 字中心的座標是 x的平均值,y的平均值 比較左右兩圖,我們知道 當散點在a b c d均勻分布,x和y不相關 當a和c的點越多,並且b和d的...

斯皮爾曼相關係數範圍 資料的相關係數

兩個變數之間的皮爾遜相關係數定義為兩個變數之間的協方差和標準差的商 從式子 1 能看到,pearson 係數的取值範圍在 1 1之間,其中1是總正線性相關性,0是非線性相關性,並且 1是總負線性相關性。pearson相關係數的乙個關鍵數學特性是它在兩個變數的位置和尺度的單獨變化下是不變的。也就是說,...