天天看點

序列的自相關和互相關計算

-- Ref [1] [2] [3] ------------------------------------------------------------------------

1.自相關和互相關概念

互相關(Cross-correlation)

對于連續函數,有如下定義:

序列的自相關和互相關計算

對于離散函數,有如下定義:

序列的自相關和互相關計算

在信号進行中,用互相關來衡量兩個時間序列 x(t) 和 y(t) 在兩個不同時刻 t1,t2 的取值之間的相似程度,通常可以用于在長序列中尋找一個特定的短序列。

在數理統計中,互相關用來兩個随機序列的相關性。

從定義式中可以看到,互相關函數和卷積運算類似,也是兩個序列滑動相乘,但是差別在于:

互相關的兩個序列都不翻轉,直接滑動相乘,求和;卷積的其中一個序列需要先翻轉,然後滑動相乘,求和。

是以,f(t)和g(t) 做相關等于 f*(-t) 與 g(t) 做卷積。

自相關(Auto-correlation)

在信号分析當中通常将自相關函數稱之為自協方差方程,定義如下:

序列的自相關和互相關計算

自相關是互相關的一種特殊情況,就是一個序列和它本身做相關,主要用來衡量一個序列在不同時刻取值的相似程度。

在數理統計中,自相關的定義式如下:

序列的自相關和互相關計算

如果随機過程是一個寬平穩過程,那麼均值和方差都不是時間的函數,是以,自相關定義式變為:

序列的自相關和互相關計算

在某些學科中,會去掉歸一化因子σ2,使用自協方差來代替自相關。但是歸一化因子可以讓自相關的取值在 [-1, +1] 之間,不會随着序列的絕對大小而變化。

在信号進行中,

自相關的定義會去掉歸一化,即不用減去均值,也不用除以方差。當除以方差時,一般叫做另外一個名字:自相關系數(Autocorrelation coefficient)。

2.相關(Correlation)

相關是機率論與統計學中用來刻畫兩個随機變量之間統計關系的強弱和方向的量。在廣義的定義下,有很多種類的相關系數(Correlation coefficient),它們通常用字母ρ或者 r來表示。

我們通常說的相關系數的學名是:皮爾遜積差系數(Pearson's product moment coefficient),這種相關系數隻對兩個變量的線性關系敏感。

皮爾遜積差系數

Pearson 相關系數使用兩個變量的協方差和标準差來定義:

序列的自相關和互相關計算

其中,cov 是協方差,sigma 是标準差。因為 cov 可以寫作:

序列的自相關和互相關計算

是以 Person 相關系數的定義式可以寫作:

序列的自相關和互相關計算

根據機率論知識可以得到如下的變形形式:

序列的自相關和互相關計算

基于樣本來估計協方差和标準差,可以得到定義如下:

序列的自相關和互相關計算

通過變形,可以得到下式:

序列的自相關和互相關計算

相關程度與相關函數的之間的聯系 在機率論和統計學中,相關(或稱相關系數或關聯系數),顯示兩個随機變量之間線性關系的強度和方向。在統計學中,相關的意義是用來衡量兩個變量相對于其互相獨立的距離。相關系數隻是一個比率,不是等機關量度,無什麼機關名稱,也不是相關的百分數,一般取小數點後兩位來表示。相關系數的正負号隻表示相關的方向,絕對值表示相關的程度。因為不是等機關的度量,因而不能說相關系數0.7是0.35兩倍,隻能說相關系數為0.7的二列變量相關程度比相關系數為0.35的二列變量相關程度更為密切和更高。也不能說相關系數從0.70到0.80與相關系數從0.30到0.40增加的程度一樣大。

對于相關系數的大小所表示的意義目前在統計學界尚不一緻,但通常按下是這樣認為的: 相關系數     相關程度 0.00   - ±0.30      微相關 ±0.30 - ±0.50    實相關 ±0.50 - ±0.80    顯著相關 ±0.80 - ±1.00    高度相關

-------------------------------------------------------------------------------------------

-- Ref [4] --------------------------------------------------------------------------------

3.MATLAB下計算相關的函數

具體函數描述和句式參看help,具體代碼檢視對應m檔案,下面簡述各函數輸出:

xcorr 

函數可輸出兩向量間的互相關(不等長補零)或者向量和矩陣的自相關,可傳回時間延遲lags。

xcov  

函數減去減去兩序列的各自的均值後調用xcorr計算輸出互協方差。

corrcoef

可計算多個序列的互相關和自相關,并依據自相關值歸一化。序清單示為列向量,函數計算序列兩兩之間的皮爾遜互相關系數和自相關系數,自相關系數取值定為1進行歸一化,傳回延時為0時的相關系數取值(等同于 

xcov(x,'coeff') 下0延時位置處的取值

 )。可自行檢驗序列間是否相關,p<0.05。

autocorr

減去序列均值後計算自相關,并将0延時的取值定為1進行歸一化并劃分可信區間。

crosscorr

計算互相關系數(皮爾遜系數),并劃分可信區間。

-------------------------------------------------------------------------------------------

參考連結:

[1]http://guqian110.github.io/pages/2015/03/16/correlation_coefficient_and_matlab_function.html

[2]http://blog.csdn.net/scuthanman/article/details/5588138

[3]http://blog.sina.com.cn/s/blog_6ce23c390101c6zc.html

[4]http://cn.mathworks.com/help/

繼續閱讀