The plan here is to build up intuition for HiD representations in parallel coordinates:
- points -- The basic representation of points as lines in PC.
- lines -- The observation that lines map to points in PC.
- planes -- Hyperplanes can be detected visually.
- clusters of points and random distibutions.
- polytopes (HiD polyhedra) using envelopes and line-density plots.
- dynamic systems using an extrusion scheme.
Examples
- 3D Points in parallel coordinates.(matlab code)
Each of the four 3D points becomes two line segments in PC. This projection
onto parallel lines maintains most of the geometry, but in different form. - Cluster in 3D (matlab code)
The two clusters shown are separated along the x1 and x2 axes, but not on
the x3 axis. The cluster centers are [0,0,0] and [5,5,0]. - A 2D cluster (matlab code)
Two 2D clusters are shown in the middle panels. The left one is filled from
about 50% to 100% radius. The right one from 10% to 100%. The top panels are
the PC plots. There is visible difference between the two, but hard to see.
The color code for the top two panels are color by distance of the point from
the origin. The third panels are coutour plots of the density of lines in the
PC plots. There is a clear difference between the hollow cluster and the solid
cluster. The color code in the bottom panels is density, blue low, red high. - A line in 3D. (matlab code)
The line segment x1=t; x2=1-.5*t; x3=0.5-.1*t; with 0<t<1 is drawn
in normal 3D coordinates and in PC. The color is relative t value. Note that
each point on the line becomes two line segments in PC (x1-to-x2 and x2-to-x3).
The obvious convergence of all the line segments between the x1 and x2 axis
is a direct consequence of the linearity of the points and partly defines
the line. A less obvious convergence of line segments to the right of x3 completes
the definition of the line. - A plane in 3D (matlab code)
The middle panel show a plane in 3D space. The plane is given by - A dynamic system plotted as a surface with PC and time as axes (matlab
code)
- A 2D line is rotated through 180 degrees (matlab code). The animation
shows that a rotation in cartesian space becomes translation in PC
space. The high density of points at the negative-slope intersection
region moves from left to right from 90 to 180 degrees. The 2D line is
now translated vertically (matlab code). The animation shows that translation in cartesian coordinates is a rotation in PC space.
A 2D square rotated through 90 degrees.(matlab code) The animation shows that rotation in cartesian space becomes translation in PC space. The top panel is PC space, the bottom is a line-density plot in PC space. You may need to click on the image to start the animation. - A Four Dimensional parameter space with a color-coded scalar function. (matlab
code) The following image results from a project
in which we searched a 4D model parameter space for model output which matched
experimental mepc data at the nmj. Of 1568 parameter sets, about 75 produced
model output which was campatable with real data. The 75 cases are plotted
below, with color indicating 'goodness of model fit' with blue indicating
a close fit and red indicating a fit which was just compatable with experimental
data. The most obvious feature is that two of the parameters (beta/2Km and
Kp) are almost linearly related, a fact that we had not detected analytically.
- Other interesting uses
Visualizing the simplex algorithm
Air traffic control
Such a plot rapidly gets cluttered with a large number of lines. If you squint at the PC plot, you get the feeling that density of lines might be important for determining the center of the cluster. The next plot shows an example of distinguishing cluster shape by computing line densities.
If the slope of the line relating one axis to another (e.g x1 to x2) is m
and the intercept is b
in normal coordinates, then the position
of the convergence in PC is the point
[ 1/(1-m) , b/(1-m) ]
,
asuming that the first axis (x1) is located at horiziontal position zero and
x2 is located at horizontal position 1. For the line given above the slope
from x1 to x2, m=-0.5
and b=1
. Thus the first convergence
point should be [0.67, 0.67]
as shown.
The slope from x2 to x3, m=0.2
and b=0.3
. Thus the
second convergence point should be [1.25, 0.375],
or just to
the right of the x3 axis.
x1= t
x2=-.5*t+.5*u
x3 = 1.1*u
Where t and u are uniform random variables from 0 to 1. The color code is proportional to t.
The top panel shows the PC representation of the plane. There is clearly structure to the points, but it hard to see what it means, except of course that the color mapping is along x1.
We would like some way to detect a plane by a visual technique. The bottom panel shows one of two characteristic points of this plane plotted in PC according to the following scheme. Pairs of points in the plane define lines in the plane. For a large number of pairs of points (lines in the plane), compute the two points in PC which describe each 3D line (in the plane) as in the example above then connect them with a line. If all the constructed lines pass through a point, then the points fall on a plane. If the plane were noisy, then the lines would 'almost' pass through a common point.
(1) Calibrate you eyes to recognize high-dimensional objects from their projections. Diane Cook and Peter Sutherland. http://www.public.iastate.edu/~dicook/JSS/paper/paper.html
(2) Visualisation of High Dimensional Data. Dr. Carolina Cruz-Neira and Laura Arns
http://www.vrac.iastate.edu/research/visualization/multivariate/
(3) Polytope visualization. Gordon Kindelmann.
http://www.graphics.cornell.edu/~gordon/peek/
(4) N-Land: a Graphical Tool for Exploring N-Dimensional Data. Matthew O. Ward
Jeffrey T. LeBlanc and Rajeev Tipnis.
http://davis.wpi.edu/~matt/courses/nland/cgi93.html
(5) Don't panic ... just do it in parallel! Al Inselberg, COMPUTATION STAT 14: (1) 53-77 1999
(6) Visual data mining with parallel coordinates Al Inselberg, COMPUTATION STAT 13: (1) 47-63 1998
(7) MULTIDIMENSIONAL LINES .1. REPRESENTATION. INSELBERG A, DIMSDALE B, SIAM J APPL MATH 54: (2) 559-577 APR 1994
(8) MULTIDIMENSIONAL LINES .2. PROXIMITY AND APPLICATIONS. INSELBERG A, DIMSDALE B, SIAM J APPL MATH 54: (2) 578-596 APR 1994
(9) HYPERDIMENSIONAL DATA-ANALYSIS USING PARALLEL COORDINATES. WEGMAN EJ. J AM STAT ASSOC 85 (411): 664-675 SEP 1990
(10) THE ANALYSIS OF T48 LOW PRESSURE TURBINE INLET TEMPERATURES USING PARALLEL
COORDINATES. Frank S. Budny.
http://www.che.ufl.edu/visualize/THESIS/thesis.html
(11) Visualizing the Behavior of Higher Dimensional Dynamical Systems. R. Wegenkittl,
H. L�ffelmann, and E. Gr�ller.
http://www.cg.tuwien.ac.at/research/vis/dynsys/ndim/
(12) Hierarchical Parallel Coordinates. Ying-Huey Fua.
http://davis.wpi.edu/~yingfua/cs563_1/hiervis.html
(13) High Dimensional Clustering Using Parallel Coordinates and the Grand Tour.
Edward J. Wegman and Qiang Luo.
http://www.galaxy.gmu.edu/papers/inter96.html