1 概念
1.1 相關程度與相關函數的聯系
在概率論和統計學中,相關(Correlation,或稱相關系數或關聯系數),顯示兩個隨機變量之間線性關系的強度和方向。在統計學中,相關的意義是用來衡量兩個變量相對于其相互獨立的距離。最常用的是皮爾遜積矩相關系數。其定義是兩個變量協方差除以兩個變量的標準差(方差的平方根)。
相關系數只是一個比率,不是等單位量度,無什么單位名稱,也不是相關的百分數,一般取小數點后兩位來表示。相關系數的正負號只表示相關的方向,絕對值表示相關的程度。因為不是等單位的度量,因而不能說相關系數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 高度相關
1.2 互相關
互相關(有時也稱為互協方差)函數是信號分析里的概念,表示的是兩個時間序列之間的相關程度,描述信號 x(t),y(t) 在任意兩個不同時刻 t1,t2 的取值之間的相關程度。它是兩個信號之間相對于時間的一個函數,有時也稱為“滑動點積”。這兩個信號可以是隨機信號,也可以是確知信號。通常通過與已知信號比較用于尋找未知信號中的特性。
兩個函數互相關的含義是:對兩個函數分別作復數共軛和反向平移并使其相乘的無窮積分。
性質:(1)互相關運算一般不服從交換律;(2) 互相關可以用卷積表示。
個人理解:(時間)超前/滯后相關(time delay analysis / lag regrssion)、時差相關(time lag correlation)、互相關(cross correlation function, ccf)可視為同義語。互相關包含前兩者。(Really?)
2 應用:景氣指標選擇方法
3 計算
x,y 分別是兩個時間序列,其中 y 為基準指標。
l為超前或滯后期, 被稱為時差或延遲數 :表示同步;
表示超前;
表示滯后。
n 為所取數據的個數。
L 表示最大延遲數。
取不同的值, 分別代表不同的時差, 并計算時差相關系數
, 取絕對值最大的
作為時差相關系數。
時差相關系數對應的時差數的正負, 可判斷被選指標與基準指標先行、同步或滯后的關系。它反映了被選擇指標與基準指標的波動最接近時的關系。只有超前相關性較強的指標才能被選為預測性指標。
4 實現
(1) Eviews
group里點view-cross correlation
(2) Matlab
xcorr 求序列的自相關和互相關。利用Fourier變換中的卷積定理實現。
c = xcorr(x,y) 返回矢量長度為2*N-1互相關函數序列,其中x和y的矢量長度均為N,如果x和y的長度不一樣,則在短的序列后補零直到兩者長度相等。
c = xcorr(x) 為矢量x的自相關估計。
c = xcorr(x,y,'option') 為有正規化選項的互相關計算;其中選項為"biased"為有偏的互相關函數估計;"unbiased"為無偏的互相關函數估計;"coeff"為0延時的正規化序列的自相關計算,為歸一化選項,即互相關系數的最大值為1,通常是。其中,
和
分別是信號 x 和 y 的自相關函數值;"none"為原始的互相關計算。
可以查閱這篇博客了解xcorr函數的實現過程:自相關和互相關在matlab中的實現
也可以查閱matlab論壇中教學直接用FFt變換求兩個序列互相關的方法:matlab求兩個序列的互相關函數
corrcoef(x,y)表示序列x和序列y的相關系數,得到的結果是一個2*2矩陣,其中對角線上的元素分別表示x和y的自相關,非對角線上的元素分別表示x與y的相關系數和y與x的相關系數,兩個是相等的。
(3) Python
計算時差相關系數
時間序列數據間量化同步的四種方法
用于計算同步指標的示例代碼和數據包括:皮爾遜相關,時間滯后互相關,動態時間扭曲和瞬時相位同步。
(4) R
北大數院講義 Chap 23 多元時間序列基本概念
ccf 函數