可视化距离矩阵

时间:2015-04-05 03:14:30

标签: matlab octave visualization graphing

很抱歉,如果已经有了答案。我似乎无法找到它。

我正致力于推动立法者和#39;关于账单的投票记录,我试图想出一些有趣的数据可视化方法。我现在脑子里有一个想法,但是我不确定它在数学上是否可以在二维中进行我想要的可视化。

数据开头如下:

       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是否具有内置功能?或者有人能指出我的算法吗?

1 个答案:

答案 0 :(得分:0)

好的,找到了答案。

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

  2. 最佳近似是一种称为多维缩放的算法。 Octave具有内置函数:cmdscale

  3. 希望其他人可能会觉得这很有用。