2013-04-13 66 views
1

我一直在使用Matlab的時間序列工具箱tstool來計算兩個時間序列之間的相關性,這完美的作品,並給了我非常豐富的圖表。如何在matlab腳本中生成關聯圖?

我需要做的是爲更多的向量生成這樣的關聯圖,因此在腳本中,我讀過tstool使用xcorr函數,但我還沒有找到如何使用它來生成結果類似於tstool的。

有沒有辦法查看腳本,在tstool GUI中生成相關圖?

還是有辦法叫TS工具從腳本是這樣的:

ts = new tstool; 
ts.corrplot(A,B) 

或者一些其他的方式來產生tstool像相關的圖表,我感興趣的是滯後的規模特別是具有,在一個腳本?

+1

我不看到任何明顯的方式,我想你可以嘗試通過探索代碼:'編輯tstool' –

回答

1

根據this

交叉相關算法:當計算兩個向量值時間序列x和y的互相關時,時間序列工具使用一個 算法,其功能等同於調用信號處理工具箱™xcorr函數與'偏見「選項, 之後的時間系列均被刪除。然而,與xcorr不同的是,時間序列工具中的互相關估計也適用於矩陣值時間序列X和Y,其中它計算了X(:,i)與Y(:,j)的互相關,對於 列i和j的所有組合。請注意,時間序列工具實際上並不使用 xcorr代碼,而是根據這些受限制的假設工作的簡化版本。

這應該工作:

%# random signal 
y1 = cumsum(rand(1000,1)-0.5); 

%# autocorrelation 
maxlag = length(y1); %# set a max lag value here 
[c,lags] = xcorr(detrend(y1), maxlag, 'biased'); 

%# plot 
plot(lags,c), xlabel('lags'), ylabel('autocorrelation') 

autocorrelation

注意,結果可能是從時間序列有點不同的對象圖(取決於所使用的時間單位)

+0

謝謝,我對每次說的自相關都不感興趣,但我想我可以將這個代碼適用於兩個向量之間的相關性。 –

1

這是你在找什麼?

你可以使用plotmatrix()

enter image description here

,或者如果你有計量經濟學工具箱,corrplot()

enter image description here

+0

我一定會使用corrplot。 –