2014-02-17 156 views
0

總的來說,我知道,我可以很容易地計算出在MATLAB相關矩陣,有很多的這個功能,而是加權相關呢?我發現這個MATLAB文件加權相關矩陣

http://www.mathworks.com/matlabcentral/fileexchange/20846-weighted-correlation-matrix/content/weightedcorrs.m

但如何選擇權重取決於人的直覺或標準?

設說,我們有

x = randn(30,4) 

x = 

    0.5377 0.8884 -1.0891 -1.1480 
    1.8339 -1.1471 0.0326 0.1049 
    -2.2588 -1.0689 0.5525 0.7223 
    0.8622 -0.8095 1.1006 2.5855 
    0.3188 -2.9443 1.5442 -0.6669 
    -1.3077 1.4384 0.0859 0.1873 
    -0.4336 0.3252 -1.4916 -0.0825 
    0.3426 -0.7549 -0.7423 -1.9330 
    3.5784 1.3703 -1.0616 -0.4390 
    2.7694 -1.7115 2.3505 -1.7947 
    -1.3499 -0.1022 -0.6156 0.8404 
    3.0349 -0.2414 0.7481 -0.8880 
    0.7254 0.3192 -0.1924 0.1001 
    -0.0631 0.3129 0.8886 -0.5445 
    0.7147 -0.8649 -0.7648 0.3035 
    -0.2050 -0.0301 -1.4023 -0.6003 
    -0.1241 -0.1649 -1.4224 0.4900 
    1.4897 0.6277 0.4882 0.7394 
    1.4090 1.0933 -0.1774 1.7119 
    1.4172 1.1093 -0.1961 -0.1941 
    0.6715 -0.8637 1.4193 -2.1384 
    -1.2075 0.0774 0.2916 -0.8396 
    0.7172 -1.2141 0.1978 1.3546 
    1.6302 -1.1135 1.5877 -1.0722 
    0.4889 -0.0068 -0.8045 0.9610 
    1.0347 1.5326 0.6966 0.1240 
    0.7269 -0.7697 0.8351 1.4367 
    -0.3034 0.3714 -0.2437 -1.9609 
    0.2939 -0.2256 0.2157 -0.1977 
    -0.7873 1.1174 -1.1658 -1.2078 

和我們已經做

X(:,4)=總和(X,2);介紹相關性。 [r,p] = corrcoef(x)%計算樣本相關性和p值。

,並得到

r = 

    1.0000 -0.0352 0.2673 0.6901 
    -0.0352 1.0000 -0.5101 0.2617 
    0.2673 -0.5101 1.0000 0.3504 
    0.6901 0.2617 0.3504 1.0000 

是不加權的相關性,但我如何能做到用MATLAB文件的幫助加權相關?請幫我

回答

1

此功能需要的每個觀測作爲輸入的權重。你如何選擇它取決於你。

如果這些是模擬的輸出,例如,可以讓權重爲執行的迭代次數。如果他們是股票結果,請考慮使用投資組合中的價值。然而,一般來說沒有標準的方法來獲得「最好」的權重。只要考慮一個更可靠的值應該通常得到更多的權重。

+0

但是如何將它應用到代碼中?一些例子請 –

+0

@datodatuashvili如果你正在尋找的語法只是嘗試'幫助weightcorrs'在你的情況下,你似乎不知道你想要什麼樣的權重,所以只給他們所有平等權重開始:'R = weightedcorrs(x,ones(size(x,1),1))'或者增加權重:'weightedcorrs(x,1:30)' –

+0

但是這個函數在matlab中不存在 –