Monday, 4 May 2015

Multidimensional scaling and PERMAP

Multidimensional scaling (MDS) is a set of related statistical techniques often used in information visualization for exploring similarities or dissimilarities in data. Compared to other data mining and data analysis techniques MDS is growing increasingly popular because its mathematical basis is easier to understand and its results are easier to interpret

PERMAP (Perceptual Mapping) is a program that uses multidimensional scaling (MDS) to reduce multiple pairwise relationships to 2-D pictures, commonly called perceptual maps.
The fundamental purpose of Permap is to uncover hidden structure that might be residing in a complex data set. It solves problems in up to eight dimensional space and allows boundary conditions to be imposed on the solution. 

PERMAP takes object-to-object proximity values (also called similarities, dissimilarities, correlations, distances, interactions, psychological distances, dependencies, confusabilities, preferences, joint or conditional probabilities, etc.), or up to 30 object attribute values which can be used to calculate one of the forgoing types of promities, and uses multidimensional scaling (MDS) to make a map that shows the relationships between the objects. PERMAP makes classical metric and nonmetric MDS analyses in one, two, three, … or eight dimensions with up to 1000 objects and with missing values allowed.

With the basic knowledge in mind let us try to understand the main screen of PERMAP.

MAIN SCREEN

The PERMAP is presented in the center of the screen.  Map identification information and the objective function value are given in the header section. A group of control buttons allows real-time manipulation of the most important problem parameters.

Header and Objective Function Value

Titles and subtitles are optional.  Just below the header is a line that shows the latest value of the objective function.  This value will converge to a minimum as the iterative solution process continues.

Parking Active Objects Control

The parking lots are on the right side of the main screen.  Objects placed in the object’s parking lot are removed from the active data set.  This makes it easy to discover the influence of a particular object or attribute on the overall configuration.  Double click an object to move it into its parking lot.  Objects also can be dragged into the object parking lot.  To return an object to the active set just drag it out of the object parking and to the position you want it to be when the analysis continues.  Each time an object is parked or unparked, the map readjusts to represent the new active data set. 

Parking Active Attributes Control

If your data file contains attribute information, just below the functional shortcut buttons will be a box that shows the "active attributes."  These attributes are used to calculate the dissimilarities by using any of several built-in attribute-to-dissimilarity functions.  Double clicking on an attribute moves it to the attribute parking lot and the dissimilarities are recalculated using only the remaining active attributes.  A parked (inactive) attribute can be brought back into the active set by double clicking on it in the attribute parking lot.

Execution Control

A set of execution control buttons appears just below the map in the center of the screen.  Execution of the program can be started, stopped, continued, jiggled, subjected to field movements, automatically stopped, or automatically started by using these controls. 

Start, Stop, Continue

When Start is clicked, the objects are placed at random positions on the map and the iterative solution procedure is commenced.  The Stop button stops the iteration and displays the object labels if the labeling option has been selected.  If the solution has converged to a stationary value of the objective function but a stop signal has not been given, then the ellipses following the objective function value continue to blink.  If you want to resume iteration after a stop command has been sent (either from the Stop button, from Auto Stop, or from a click on an open area of the map) without using new starting positions, then click the Continue button. 

Jiggle

Clicking the Jiggle button causes the objects to be moved to new positions that are randomly perturbed from their existing positions.  This is called "jiggling the solution."  A simple Jiggle click randomly displaces the objects a distance that averages 5% of the map diameter.  If the shift key is depressed while clicking Jiggle, the average displacement is 10% of the map diameter.  Using the control or alt keys causes average displacements of 20% and 40%, respectively.

The Jiggle command contributes to understanding the nature of the solution.

Field Movements (Mirror, Rotate, Move, Zoom)

Occasionally you will want to control the final orientation of a map in order to make a simple comparison to previous results, or you might want to expand a map to inspect a small, congested, area.  These needs can be satisfied by “mirroring, rotating, moving, or zooming in”.  These operations are known as "field movements" because the chosen operation applies to the whole field of objects. If Mirror is chosen, then clicking near an axis will cause the map to be mirrored about that axis.  If Rotate is chosen, then dragging the mouse about the center of the map will cause the object set to rotate about the center.  If Move is chosen, then dragging the mouse in any direction will cause the object set to move in that direction. Finally, if Zoom is chosen, then dragging the mouse away from the center of the map will cause the object set to expand, and vice versa.  The results of all of these movements persist after the field controls are closed.

Automatic Controls

The Auto Repeat and Auto Stop check boxes control whether or not the solution process automatically stops, and then possibly automatically restarts, after a certain convergence limit (as set using the Convergence menu) is reached.  These controls facilitate finding numerous solutions, each starting from a new set of random positions, to be sure that a global minimum has been found. If you are having trouble finding the global minima you might like to let the computer run all night and have it record the best solution it finds.  To do this, check Auto Repeat and Auto Stop, and just let the program run.  The best-found value is displayed in brackets just below the current objective function value.  Next to the best found value is the number of times that the best-found value has been found, followed by the number of times the problem has been solved using the current set of parameters.  

2 comments: