views:

68

answers:

3

Hi,

I have a big list of tuples (a, b), where both a and b are 9-dimensional vectors from the same space. This essentially encodes states of a system and some transitions. I would like to visualize the field described by these tuples, as arrows pointing from a->b, either in 2D or 3D. One of my problems however is that this is not a well-behaved vector field (not continuous) but I have reasons to believe that it can probably be laid out nicely, even in 2D.

Does anyone know of a toolbox (for matlab/python) or program that can do this? This would presumably first involve some kind of dimensionality reduction on a and b and then plot little arrows from one point to another.

Thank you for your help!

+1  A: 

I'm not 100% sure if this answers your question or not, but you may want to look at Recurrence Plots. If this is what you're after, then you wont need any additional Matlab toolboxes.

Geodesic
+1  A: 

Okay, turns out MATLAB can do this but it's not very pretty. It basically boils down to doing PCA, and then using the quiver function to do the plotting: My matrix X here contains starting points of my high dimensional nodes in odd rows, and ending points in even rows. Then:

[COEFF, SCORE]= princomp(zscore(X));

x=SCORE(1:2:end,1);
y=SCORE(1:2:end,2);
z=SCORE(1:2:end,3);
u=SCORE(2:2:end,1);
v=SCORE(2:2:end,2);
w=SCORE(2:2:end,3);

quiver3(x,y,z,u-x,v-y,w-z,0);

The downside is that I can't find a good way to color the edges, so I get a huge mess if I just do it trivially. Ah well, good enough for now!

karpathy
+1  A: 

Here's a Matlab toolbox of dimension reduction algorithms. I haven't worked with it, but I have worked with dimension reduction, and it seems like a manifold charting/local coordinates algorithm would be able to extract a low-dimensional representation.

TU Delft Dim. Red. Toolbox

mbudisic