2015-04-05 267 views
0

對不起,如果已經有一個答案。我似乎無法找到它。可視化距離矩陣

我正在研究一個將立法者的投票記錄提交給賬單的應用程序,並且我試圖想出一些可視化數據的有趣方法。現在我的腦海裏有一個想法,但我不確定在數學上可能在兩個維度上做我想要的可視化。

的數據是這樣開始:

 HB1 HB2 HB3 
Smith 1 0 1 
Hill 1 1 1 
Davis 0 1 0 

Where 1 = aye, 0 = nay. 

下一步我採取的是由他們的投票記錄的異或求和,以測量從所述其他各立法者的「距離」,從而使每次一個立法者與另一位議員不同意,他們與立法者有點距離。創建一個表是這樣的:

 Smith Hill Davis 
Smith 0  1  3 
Hill  1  0  2 
Davis 3  2  0 

所以我的想法是圖中的每個立法者作爲一個平面上的點,並有那些點之間的距離反映的距離評級表。我認爲這提供了一個有趣的機會,看看是否有類似投票模式的立法者集羣等。

很明顯,這很容易做到3分,因爲您總是可以繪製三個給定長度的三角形兩側。但我無法弄清楚是否可以在數學上繪製更多(35-70)立法者的圖,並且仍然在二維空間內擁有所有的距離,或者是否可能需要每個立法者在三維之後增加一個維度。

例如,如果數據表看起來像這樣,是否可以保留所有的距離?

0 13 6 8 10 14 12 14 12 12 
    13 0 13 13 13 7 9 11 9 7 
    6 13 0 12 8 16 14 10 12 14 
    8 13 12 0 12 10 6 10 10 8 
    10 13 8 12 0 10 12 12 14 14 
    14 7 16 10 10 0 10 10 12 8 
    12 9 14 6 12 10 0 12 8 10 
    14 11 10 10 12 10 12 0 8 10 
    12 9 12 10 14 12 8 8 0 10 
    12 7 14 8 14 8 10 10 10 0 

如果是這樣,Octave是否有內置函數?或任何人都可以指向我的算法?

回答

0

好的,找到答案。

  1. 不,通常在數學上不可能做我想做的事情。

  2. 最佳近似值是稱爲多維縮放的算法。 Octave具有內置功能:cmdscale

希望別人也許會覺得這有幫助。