| Joseph B. Kruskal,
Bell Laboratories
Murray Hill, N.J. |
Forrest W. Young Thurstone Psychometric Laboratory University of N. Carolina Chapel Hill, N.C. | Judith B. Seery
Bell Laboratories
Murray Hill, N.J. |
KYST is an extremely flexible computer program for multidimensional scaling and unfolding. It represents a merger of the MDSCAL Version 5M and TORSCA 9 programs, including the best features of both, as well as some new features of interest. (The name, pronounced "kissed", is an acronym for Kruskal, Young, Shepard and Torgerson). KYST includes the powerful initial configuration procedure from TORSCA as well as the very helpful practice of rotating solutions to principal components. KYST incorporates the great generality of MDSCAL 5M.
KYST is an extremely general scaling program because of the many options it contains. Many types of metric and nonmetric scaling and unfolding may be conducted. Briefly, KYST is capable of analyzing a set of rank data to produce a metric configuration of points in space. For example, the 45 possible unique pairs of 10 cars (10*10-1)/ 2 = 45 are ranked according to perceived similarity of the pairs. The pairs are ranked from 1 to 45 and ranks are entered into the lower half of a 10 x 10 matrix with no diagonal.
KYST uses this rank information about similarities or dissimilarities between the pairs to generate a set of metric distances between objects so that the distances most closely represent the original ranks between pairs.
Unlike the point-vector model of the MDPREF program which interprets points along a vector, KYST is a point-point model, meaning that distances between any two points plotted may be interpreted as an indicator of similarity or dissimilarity. KYST plots only the stimuli (objects) and does not plot both stimuli (objects) and subjects (attributes) (except in unfolding analysis).
KYST is most often used to analyze a square symmetric matrix containing the evaluation data. Program options, however allow you to input lower or upper half matrices, with or without diagonals, and even rectangular subject by stimuli matrices if unfolding analysis is done. Most often we are analyzing a matrix of average similarity or dissimilarity rankings (non-metric) or evaluations (metric) for a set of stimuli (objects).
Unfolding can be thought of as a kind of scaling in which there are two kinds of points (often called "subject" points and "stimulus" points), such that the information available compares distances radiating from a single subject point at a time to the various stimulus points. While KYST may be used to do pure unfolding, difficulties are not unusual. (For example, at the most meaningful solution stress may reach a merely local minimum, and it is not unusual for the program to reach a non-meaningful minimum.) To be recommended for use with KYST are many procedures intermediate between unfolding and ordinary scaling, which use two or more sets of data, only one of which is of the unfolding type. Even where the only direct data available are of the unfolding type, it is generally possible and desirable to derive secondary data of another type for supplementary use.
While this initial configuration works very well in the classical scaling situations, its value in other KYST applications (such as unfolding) is not always clear.
What KYST Does
Only the briefest description of what KYST does can be given here. For a fuller description of the ideas, consult Kruskal (1964a and 1964b) and Young (1972). KYST places N points in a space of dimension LDIM so as to minimize STRESS, which measures the "badness-of-fit" between the configuration of points and the data. It finds the minimizing configuration by starting with some configuration (perhaps found by the classical scaling procedure of Torgerson), and moving all the points a bit to decrease the stress, then iterating this procedure over and over again until the stopping criterion is reached. Typically, from 15 to 50 iterations may be required. Technically speaking, KYST uses the iterative numerical method of gradients (the method of steepest descent), with a step-size procedure based primarily on the angles between successive gradients.
Let the data values be listed (in any order) and called DATA(1) through DATA(MM). (In the sample data matrix above, MM = 25.) For a square matrix of size N we have MM = N2 if the diagonal entries are to be included or MM = N(N-1) if not. For a half matrix MM = N(N+1)/2 or N(N-1)/2 depending on whether the diagonal entries are included or not. Each entry in the matrix may be represented by several distinct data values. If each entry is represented by NREPL1 data values, then MM is NREPL1 times as large as it would otherwise be. If some of the data values are missing, MM is the same with a 0 or mean value entered for the data.
For any given configuration of N points (it doesn't make any difference where the configuration comes from), let the distances between pairs of points be calculated and listed in DIST(1) to DIST(MM) in corresponding positions to those in the data list. If one matrix entry has several data values, then the selfsame distance will appear in the distance list several times. If some other matrix entry has no data values (missing data situation, for example), then the corresponding distance never appears on the distance list. Corresponding to diagonal entries of the matrix are distances of zero, of course, and the distances corresponding to (i,j) and (j,i) entries of the matrix are of course the same (automatically).
Now perform a least-squares regression of DIST on DATA. For nonmetric scaling, monotone
ascending regression should be used for dissimilarities data, and monotone descending regression
for similarities data.
ASCENDING OR DISSIMILARITIES DATA ARE CHARACTERIZED BY VALUES THAT
INCREASE IN DISSIMILARITY AS THE SCALE INCREASES (A HIGHER SCALE
VALUE MEANS LESS SIMILARITY).
DESCENDING OR SIMILARITIES DATA ARE CHARACTERIZED BY VALUES THAT
INCREASE IN SIMILARITY AS THE SCALE INCREASES (A HIGHER SCALE VALUE
MEANS GREATER SIMILARITY).
For metric scaling, this regression can be linear or it can be polynomial up to degree 4. Of course, the regression yields the polynomial coefficients.
Let the values of the regression function be listed in DHAT(1) to DHAT(MM). Let DBAR be the
arithmetic average of the DIST values. Then
where do = 0 for stress formula 1, or do = DBAR for stress formula 2. It is stress that is minimized by moving the points of the configuration around.
The two formulas will often yield very similar configurations. In using KYST to do
multidimensional unfolding, as explained later, the use of Formula 2 is in theory vital. However,
Formula 2 sometimes has problems due to local maxima which cannot occur with Formula 1.
The interpretation of stress values can be greatly affected by the options used and by various parameters, such as the number of stimuli and the number of dimensions. While actual experience with real data has been the primary source of information so far, fortunately several papers have explored this question by Monte Carlo techniques.
It is possible to transform the data values by a fairly flexible formula, as a preprocessing step prior to the actual scaling computation. This can be a very useful preliminary step, both to help the main scaling procedure when linear or polynomial regression is being used, and to help the TORSCA initial configuration do a better job.
It is possible to weight the squared terms in STRESS. Let WW(1) to WW(MM) be a list of
positive weights corresponding to the data values. The formula for stress now becomes
KYST permits the weights to be given as a reasonably flexible function of the corresponding data values, or to be read in.
An important element of generality is the ability to "split" the data into separate sublists, and perform separate regressions on each list. (This "splitting" may be used to do unfolding.) When the data is split, a separate regression and a stress is computed for each sublist by the formula above. The overall stress is taken to be the root-mean-square of the several sublist stresses. It is possible to split the data in several different ways. Also, it is possible to use different types of regression for different sublists, a fact which offers some interesting possibilities.
Normally, KYST uses a distance formula which is appropriate for Euclidean space. However, it
is capable of using a certain other kind of distance which mathematicians usually call the lp -metric,
and occasionally the Minkowski r-metric. If points x and y have coordinates xi and yi, then the
Minkowski r-metric distance between them is given by
For r = 2.0, this is ordinary Euclidean distance. For r = 1.0, this is the so-called city-block distance, or Manhattan metric. For r = , it can be shown that this formula yields the maximum of the absolute coordinate differences, sometimes called the "dominance" metric (which is a simple instance of the important distance mathematicians call the supremum or sup metric.) For any value of r between (and including) 1.0 and , a classical theorem states that the Minkowski r-metric is a true metric because it satisfies the triangle inequality. For values of r between (but excluding) 0 and 1.0, it is known that the Minkowski r-metric does not satisfy the triangle inequality (although it does if one omits the outside exponent of 1/r), but this case has nevertheless received much study. It appears that KYST should be capable of handling values of r in this range also, though we have no actual experience.
Figure 1 shows the complete input to KYST necessary to perform one simple example of multidimensional scaling.
Figure 1
Line Number Sample Data: 5 x 5 Full Matrix
Description
1 5 1 1 Parameter
2 (5F5.3) Format
3 9.3 0.57 6.1 2.0 1.5 Data
4 1.0 8.5 5.5 3.3 4.0 Data
5 2.1 5.3 7.3 3.9 1.1 Data
6 5.0 6.2 1.6 8.9 2.8 Data
7 1.3 4.1 1.0 2.5 8.8 Data
File for Data, Weights, Configuration, and Title
The first line of a data set is a parameter line containing either three or four integer parameters, read in FREE format.
Before describing the arrangement of parameters, let us describe the data file as consisting of several 'groups' of rows. Each group has a certain number of rows and columns (the same for every group in a single data file). Unless one of the corner matrix (Section 2.2) options is in effect, the number of rows is the same as the number of columns.
In addition to the replication possible by using several groups, 'internal' replication is possible. Each matrix entry from a single group may be represented by several adjacent data values, the number of them is constant throughout the data file, and is called the number of replications.
Unless one of the cornermatrix options is in effect, the parameter line should contain three
parameters, as follows:
1. The number of rows and columns in each group (NPART)
2. The number of replications (NREPL1),
3. The number of groups (NREPL3).
If one of the cornermatrix options is in effect, the parameter line should contain four parameters,
as follows:
1. The number of rows in each group (NROWS),
2. The number of columns in each group (NCOLS),
3. The number of replications (NREPL1),
4. The number of groups (NREPL3).
The internal arrangement of the data set is rigidly specified. The First line of the data set indicates the number of rows (and columns) of the matrix (namely, 5), the number of values provided for each matrix entry (namely, 1), and the number of such matrices included in the data set (namely, 1).
The second line of the data set must give a format (according to the rules for Fortran format statements). This format will be used by the program to read a single row of the matrix. A floating-point format (F FORMAT) must be used.
The succeeding lines of the data set (lines 3 through 7 for example) must contain the data matrix itself, entered according to the format you have provided. Note that each row of the matrix must begin on a new line.
There are a great many options which can be chosen when using KYST. Despite the large array of possibilities, however, the user is able to specify the correct options without undue difficulty because of the menu system and defaults which are used. The options and simple control options which invoke them, are described in subsequent sections.
One important principle is used throughout. Whenever several alternative possibilities are available, one is always selected to be the "standard" or "default" choice. In the absence of any indication from the user, the program uses these standard choices.
In general, a single data file may contain several "groups" of rows of data (though in the simplest situations, a data file will contain only one such group). Each group may be thought of as a square matrix, or part of a square matrix. Each group has the same size and "shape" as every other in the same data file. Normally, the different groups serve as replicates, and contain different data relating to the same objects. However, when the block diagonal option is in effect, the different groups are not replicates but pertain to different objects.
Each group in the data file may have one of five forms:
For the two half matrix forms, two variations are possible:
MATRIX: In this case the group consists of NPART rows with each row expected to contain NPART matrix entries. The information presented pertains to NPART points or objects.
LOWER HALF MATRIX AND UPPER HALF MATRIX: In these cases, the group consists of NPART rows (if the main DIAGONAL is PRESENT) and NPART -1 rows (if the main DIAGONAL is ABSENT). Each row is expected to contain from 1 up to NPART (or from 1 up to NPART - 1) matrix entries in a regularly varying way. The information pertains to NPART points or objects.
LOWER CORNER MATRIX AND UPPER CORNER MATRIX: In these cases, each group consists of NROWS rows, with each row expected to contain NCOLS matrix entries. The information pertains to NCOLS + NROWS points or objects. As the placement of the corner in the matrix would suggest, the first several points in the lower corner case (and the last several points in the upper corner case) correspond to the columns. The sample data sets which follow show a data value corresponding to the (i,j) matrix entry denoted by ij, and should help make these forms clear.
The main use for the half matrix forms occurs when measured dissimilarity or similarity between objects i and j is experimentally symmetric, so there is no conceptual distinction between the ij entry and the ji entry. One major use for the corner matrix forms is in unfolding. Because the "splitting" option (see below) is restricted to rows and not available for columns, the columns must correspond to stimuli (or "real" points) and the rows to subjects (or "ideal" points).
When a data set contains more than one group, normally the different groups pertain to the same
objects, and contain replicated measurements of the same matrix entries. Thus if a single group
pertains to NPART objects, then normally the whole data set pertains only to N = NPART
objects. However, when the block diagonal option is used, each group pertains to a new set of
objects, and the several groups should be thought of as blocks down the diagonal of a single
larger data matrix. If each group pertains to NPART objects, and there are NREPL3 groups, then
the whole data set pertains to N = NREPL3 * NPART objects. If each group is only part of a
square matrix, it is the square matrices which are strung down the diagonal, with each group
occupying its appropriate position in its square matrix. The shape of the groups is determined by
using the above control options to describe the data. The block diagonal option is controlled by
the options:
BLOCK DIAGONAL: NO (DEFAULT)
BLOCK DIAGONAL: YES
Two possible configurations using the BLOCK DIAGONAL option are the following:
As always, the standard option applies if no specific indication is given.
Entry for (i,j) position in matrix has value ij. Actual data should consist of floating-point
numbers. The KYST menu commands would require specification of the matrix form (Option 2)
and the diagonal characteristic (Option 3).
EXAMPLE: FULL MATRIX EXAMPLE: DIAGONAL ABSENT
WITH DIAGONAL UPPER HALF MATRIX
4 1 1 4 1 1
(F2.0,3(3X,F2.0)) (F2.0,2(3X,F2.0))
11 12 13 14 12 13 14
21 22 23 24 23 24
31 32 33 34 34
41 42 43 44
EXAMPLE: LOWER HALF MATRIX EXAMPLE: LOWER CORNER
DIAGONAL PRESENT MATRIX
4 1 1 3 2 1 1
(F2.0,3(3X,F2.0)) (F2.0,3X,F2.0)
11 31 32
21 22 41 42
31 32 33 51 52
41 42 43 44
EXAMPLE: LOWER HALF MATRIX EXAMPLE: FULL MATRIX
WITH DIAGONAL ABSENT (2x2 with 3 Rep. and 2 Grps)
4 1 1 2 3 2
(F2.0,2(3X,F2.0)) (F2.0,5(3X,F2.0))
21 11 11 11 12 12 12
31 32 21 21 21 22 22 22
41 42 43 11 11 11 12 12 12
21 21 21 22 22 22
EXAMPLE: UPPER HALF MATRIX EXAMPLE: BLOCKDIAGONAL
WITH DIAGONAL PRESENT MATRIX
4 1 1 2 1 3
(F2.0,3(3X,F2.0)) (F2.0,3X,F2.0)
11 12 13 14 11 12
22 23 24 21 22
33 34 33 34
44 43 44
55 56
65 66
There are five ways in which the initial configuration may be produced:
(1) the TORSCA initial configuration procedure may be used;
(2) a random initial configuration may be used;
(3) the so-called "arbitrary" initial configuration may be used;
(4) a configuration may be read in from a set;
(5) the solution from a preceding computation may be saved for use as the starting configuration.
Note that where a single analysis is used to initiate scaling in several different dimensionalities, the choice above applies only to the first scaling, which is in the highest dimensionality. For each subsequent scaling the solution from the last previous scaling (in a higher dimensionality) is used with the last one or more coordinates dropped off. If rotation to principal coordinates is being used (under the standard option COORDINATES = ROTATE), this procedure usually provides a very good starting configuration.
We list here the five corresponding control options:
TORSCA (standard option);
RANDOM=integer (standard value for integer is 0);
ARBITRARY
CONFIGURATION
SAVE=CONFIGURATION
Further explanation follows.
Under the control option TORSCA, KYST first uses the classical Torgerson scaling technique to derive a configuration. If the number of points N < 60, the program then proceeds to use the quasi-nonmetric Young method of improving this configuration. The control option
PRE-ITERATIONS=integer (standard value is 1)
determines the maximum number of such steps. If N > 60, however, memory space does not permit the Young procedure to be used. If more than one data set is used, as described elsewhere, the TORSCA initial configuration calculation will use only the data from the first set. In some cases, the initial configuration obtained from the TORSCA procedure is already quite good.
If RANDOM=integer is used, the program generates its own starting configuration by picking pseudo-random points from an approximately normal multivariate distribution. (Actually, each coordinate is obtained by applying the logistic transformation to a uniform random variable, obtained from a moderate-quality portable generator.) This feature is especially valuable when you wish to generate many solutions starting from different configurations, in order to guard against local minimum solutions. Use of RANDOM=integer in each of a successive set of computations during a single computer run, will produce new and independent starting configurations. However, the pseudo-random number generator naturally produces the same sequence of numbers in each computer run. In order to permit different starting configurations in different runs, the program obtains and discards several random numbers before generating the initial configuration. The integer which follows RANDOM specifies how many random numbers should be discarded. By altering this integer from one run to the next, you can make the program use different starting configurations on different runs.
The control options ARBITRARY is included primarily for historical compatibility. If it is used, the starting configuration (prior to being standardized) is given by
r-th coordinate of (.01)i if r = i mod dimensionality
the i-th point = 0 otherwise.
For nonmetric scaling of the most familiar type, the program may be used as in the preliminary example, with the following simple changes used where appropriate. The options TORSCA and COORDINATES ROTATE are standard options and may be omitted. The PRE-ITERATIONS option will generally be omitted, since the standard option of 1 pre-iteration usually suffices. If the data are dissimilarities, the option REGRESSION ASCENDING should be substituted for the corresponding option in the example. If the data form a lower or upper half matrix, the options LOWER HALF MATRIX and UPPER HALF MATRIX should be used, with DIAGONAL ABSENT if the diagonal values are missing. For metric scaling, the control option REGRESSION POLYNOMIAL DEGREE should be (accompanied by REGRESSION NO CONSTANT if desired). Also, consider the possibility of transforming the data preliminary to the scaling, by the use of DATA TRANSFORMATION. If the data are transformed in connection with nonmetric scaling (to improve the operation of the TORSCA initial configuration routine), note that the choice of the regression as ASCENDING or DESCENDING should be based on the form of the data after transformation.
To do unfolding, the rankings provided by each subject or judge should form one row of the data matrix, and the stimuli or objects judged should correspond to the columns. It is necessary to specify either LOWER CORNER MATRIX or UPPER CORNER MATRIX.
If larger distances from the subject's ideal point should match larger data values, the option REGRESSION ASCENDING should be used, while if a reverse relationship between distances and data values is appropriate, the option REGRESSION DESCENDING should be used. (It is also possible to use KYST for nonmetric unfolding in which the subjects have negative ideal points instead of positive ideal points, that is, most disliked central points instead of most liked central points. In fact, the program has no knowledge of which kind of ideal point, regardless of type, should have an ascending or descending relationship to the data values.)
If an unfolding is to be done nonmetrically, it is in theory vital to SPLIT BY ROWS and use SFORM2, as otherwise a meaningless zero-stress solution may be possible. (This solution is one example of what is referred to as "degeneracy".) In practice, however, the situation is not so clear, particularly if a good initial configuration is used. If the unfolding is metric, most often it will be preferable to SPLIT BY ROWS, but where rankings are reasonably comparable among subjects and the data is scanty, it can be sensible to include the rankings of all subjects in a single regression.
Suppose several subjects have provided direct judged dissimilarities of a single set of objects. Suppose either (a) that the values provided by each subject form a separate data set, or alternatively (b) that there is only one data set and that the values provided by each subject form a group of rows in the set. There are at least four meaningful types of analysis possible, based on two independent choices:
C1: A single configuration is shared by all subjects;
CS: A separate configuration is formed for each subject;
R1: A single regression is shared for all subjects;
RS: A separate regression is done for each subject.
Case C1R1 does not allow for any differences between subjects at all, and treats the different subjects merely as replications. Each of C1RS and CSR1 allows for differences between subjects; though in quite distinct ways. CSRS is conceptually and actually equivalent to performing an entirely separate scaling for each subject.
| R1 | RS | |
| C1 | (a) SPLIT=NOMORE
(b) SPLIT=BYDECKS BLOCKDIAGONAL=NO |
(a) SPLIT=BYDECKS
(b) SPLIT=BYGROUPS BLOCKDIAGONAL=NO |
| CS | (a) Not possible
(b) SPLIT=BYDECKS BLOCK DIAGONAL |
(a) Not possible
(b) SPLIT=BYGROUPS BLOCK DIAGONAL |
This table shows how to accomplish the various possibilities. Note that these four cases correspond to McGee's four cells, (McGee, 1968). However he includes a kind of distance between the separate configurations in his badness-of-fit measure, which gives his cases corresponding to our CS cases a somewhat different meaning than ours.
In an unfolding procedure using only linear (or polynomial) regression, KYST places no restriction on coefficients of the regression function. Thus over the region containing the data values the regression functions can be ascending, descending, constant, or (in the case of polynomials of degree > 2) ascending in part and descending in part. One way to handle situations where this freedom is undesirable is discussed below. One useful possibility that comes with this freedom is that a subject's "ideal" point may be a negative ideal, his most disliked possible stimulus, just as easily as a positive ideal, and the recovered shape of the regression line indicates which it is. One unfortunate concomitant is that where a subject's ideal point (positive or negative) truly belongs outside or on the edge of the region containing the real stimulus points, it is easy for the program to misplace it on the diametrically opposite position and make it of opposite type.
Sometimes it is desirable to do a scaling or an unfolding using linear (or polynomial) regression, but it is necessary to assure that the regression function is essentially monotone over the region containing the data values. While KYST cannot manage quite this, it can approximate it. The trick is to feed in the selfsame data twice, that is, use duplicate copies of the data set. In the first analysis, the option REGRESSION POLYNOMIAL is used. In the second analysis, the option REGRESSION ASCENDING or REGRESSION DESCENDING is used. Thus the overall stress reflects both deviation from the desired polynomial fit and deviation from the appropriate monotonicity.
If there are not very many objects, it is impossible to recover many dimensions (regardless of
whether many dimensions are in fact operative). This is because the number of parameters
estimated needs to be considerably less than the number of observations (if the observations are
subject to statistical fluctuation), a general principle of wide application. Blind use of the program
can easily extract more dimensions than could possibly be meaningful. While it is difficult to give
hard and fast rules, practical experience suggest the bare minimum number of objects for wise use:
for a 1-dimensional solution, 5 objects;
for a 2-dimensional solution, 9 objects;
for a 3-dimensional solution, 13 objects.
Furthermore, if the number of objects is relatively small, each additional object will increase the accuracy of reconstruction quite a bit.
KYST finds the configuration of minimum stress by using an iterative procedure (of the "steepest descent" type) which starts with an initial configuration and keeps modifying it until, hopefully, it converges to the configuration having minimum stress. Two questions should always be asked about the solution yielded by such a procedure: (1) Is convergence complete? In other words, did the procedure finish converging to a minimum, or did it stop halfway? If convergence is not complete, you may not want to even look at the solution, but rather put it back in for further iteration. (2) Was the right minimum reached? In other words, did the procedure converge to a "local minimum" configuration, from which no small modification can decrease the stress, but at which the stress is greater than the true minimum value? If you fear the solution is only a local minimum, you may want to perform further scaling using other starting configurations to check this possibility.
Strictly speaking, convergence to an exact minimum is only complete if the partial derivatives of the stress are all exactly equal to 0. Because a computer does not represent numbers with perfect precision, this does not happen very often. However, in most practical situations it is possible to come so very close to the minimum towards which the procedure is converging that the difference can have no practical importance. In the vast majority of cases, moreover, other considerations (such as the statistical fluctuations in the data, or the fact that the model is not perfectly appropriate) mean that the achievable precision is far greater than necessary.
Thus the practical question is whether convergence has proceeded far enough to be practically complete. The program uses several tests to determine this (such as how fast the stress has been decreasing from iteration to iteration, and the size of the gradient), and declares that a minimum has been reached if it is satisfied. Since rather severe criteria are used, this remark is seldom in error. However, the procedure can terminate itself for other reasons, and it is these that must be remembered. If the maximum number of iterations is reached (normally 50, but easily altered by the user) or if the stress becomes satisfactorily small (normally 0.01, but easily altered by the user), or for several other reasons, the procedure will terminate with a suitable remark.
The reason for termination is always printed. You should always look at this comment. Even where the procedure does not state that a local minimum has been reached, it may often happen that the solution reached is practically indistinguishable from the local minimum that would be reached after a few more iterations. In particular, where the stress is very small, this is generally the case. The "history of the calculation" which may be printed out will often be helpful if convergence is in doubt.
With regard to local minima, there is no feasible way to be mathematically certain that you have found that local minimum which is in fact the true global minimum. (While use of the TORSCA initial configuration reduces the chance of reaching a local minimum in the sort of situations in which it has been tested, KYST offers so many possible modes of use that no universal reassurances can be given. In particular, unfolding is a relatively unexplored area.) However, by using a variety of different random starting configurations to repeatedly scale the same data, it is often possible to obtain practical certainty. For if a variety of different starting configurations yield essentially the same local minimum, with perhaps an occasional exception which yields a substantially worse local minimum, then there is little to worry about. One easy way to provide a variety of different starting configurations is to scale the same data repeatedly, using SAVE=DATA and RANDOM=integer, which will provide a new starting configuration on successive uses (on the same computer run).
In this connection, it is well to remember that rotation and reflection leave a configuration essentially unchanged. Thus to decide whether the solutions obtained as suggested above are essentially the same, you cannot merely compare coordinates. One method you can use is to generate the matrix of distances, since these are unaffected by rotation and reflection. However, a still simpler method which is often adequate is to compare the stress values. If these values agree to three significant figures, the local minima having them are unlikely to be different. In the case of two-dimensional solutions, you can plot the solutions using the control option PLOT-CONFIGURATION-ALL, trace them onto tracing paper, rotate or reflect the solutions by physical motions of the paper, and compare solutions by laying one sheet on top of another.
Note that the likelihood of reaching a local minimum is known by experience to be particularly severe for one-dimensional solutions, or if the Minkowski r-metric is used with r near 1 or , though for ordinary scaling the TORSCA initial configuration greatly alleviates the situation. The one-dimensional case is bad because points cannot easily move past each other during the iterative computation if they lie on a line. The extreme values of r cause trouble because the gradient is a discontinuous function of the configuration if r = 1 or if r = .
|
1. RETURN TO VIEW MAIN MENU
2. DIMMAX MAXIMUM DIMENSIONS (3)
3. DIMMIN MINIMUM DIMENSIONS (2)
4. DIMDIF DIMENSION DECREMENT (1)
5. R SELECT DISTANCE MEASURE TYPE (EUCLIDEAN)
6. SFORM SELECT STRESS FORMULA USED (SFORM1)
7. TIES SELECT PRIMARY OR SECONDARY (PRIMARY)
8. RANDOM SELECT A RANDOM 2 DIGIT STARTING NUMBER (-99)
EXPLANATION OF MENU OPTIONS:
DIMMIN, DIMMAR, DIMDIF
A single control sequence can initiate several computations all using the same data and same options, in several spaces of different dimension. The first computation is done in the maximum dimension DIMMAX. Then the dimension drops by the dimension difference DIMDIF, and another computation is done. This is repeated until finally the computation is done in the minimum dimension DIMMIN, which completes the computation.
R: Distance Function
The kind of Minkowski R metric distance function used by KYST is controlled by this parameter.
R is equal to a decimal number (standard value is 2.0).
For R=2.0, this yields the ordinary Euclidean distance, while for R=1.0, this yields the city-block metric. (For these two special values, the necessary powers and roots are computed in a relatively rapid way, but for other values the general purpose power operations are used, which behind the scenes require a logarithm and an exponential to be calculated for each power operation. Thus for general values of R, the computation will be perceptibly slower.)
S Form: Stress Formula
Two different stress formulas are available, as indicated earlier. The options of 1 or 2 choose the one to be used. Note that formula 2, which is the newer one, has now become the standard option. As explained in detail above, formula 2 uses a variance-like expression involving DBAR in the denominator, while formula 1 uses 0 in place of DBAR. Formula 2 is used for non-metric unfolding analysis.
TIES
As explained in detail in Kruskal (1964a and 1964b), there are two ways of treating ties among the data values when performing a monotone regression. Consider the fitted regression values corresponding to a group of equal data values. Either no restriction is placed on the size of these fitted values with respect to one another (the 'primary' approach), or these fitted values may be required to be equal (the 'secondary' approach).
1 = TIES PRIMARY (standard option)
2 = TIES SECONDARY
Where there are few ties, it hardly makes any difference which is used. Where there are a great many ties, as when the data values represent coarse category judgments, it does make a difference, and the context must be considered in making the choice.
RANDOM
The control option RANDOM is used, to generate a random starting configuration by picking pseudo-random points from an approximately normal multivariate distribution. This feature is especially valuable when you wish to generate many solutions starting from different configurations, in order to guard against local minimum solutions. Use of RANDOM in each of a successive set of computations during a single computer run will produce new and independent starting configurations. However, the pseudo-random number generator naturally produces the same sequence of numbers in each computer run. In order to permit different starting configurations in different runs, the program obtains and discards several random numbers before generating the starting configuration. The integer which is entered when RANDOM is selected, specifies how many random numbers should be discarded. Thus by altering this integer from one run to the next, you can make the program use different starting configurations on different runs.
1. RETURN TO VIEW MAIN MENU
2. MATRIX SPECIFY MATRIX TYPE (MATRIX)
3. DIAGON SPECIFY DIAGONAL OPTION (PRESENT)
4. CONFIG INITIAL START CONFIGURATION (TORSCA)
5. SPLIT DATA SPLIT OPTIONS (BY DECK)
6. CUTOFF MISSING VALUE IF < CUTOFF (-1.23E+20)
7. WEIGHTS READ DIRECTLY AFTER DATA (NO)
2. MATRIX TYPE
All the options described in this section affect how the data is read, or how it is handled by the program while it is being read. In general, a single data file may contain several 'groups' of rows of data (though in the simplest situations, a data will contain only one such group). Each group may be thought of as a square matrix, or part of a square matrix. Each group has the same size and 'shape' as every other in the same data set. Normally, the different groups serve as replicates, and contain different data relating to the same objects. However when the block diagonal option is in effect, the different groups are not replicates but pertain to different objects.
The main use for the half matrix forms occurs when measured dissimilarity or similarity between objects i and j is experimentally symmetric, so there is no conceptual distinction between the ij entry and the ji entry. One major use for the corner matrix forms is in unfolding. Because the 'splitting' option (see below) is restricted to rows and not available for columns, the columns must correspond to stimuli (or 'real' points) and the rows to subjects (or 'ideal' points).
When a data set contains more than one group, normally the different groups pertain to the same objects, and contain replicated measurements of the same matrix entries. Thus if a single group pertains to NPART objects, then normally the whole data file pertains only to N = NPART objects.
Each group in the data file may have one of five forms:
1 = MATRIX (DEFAULT)
2 = LOWER HALF MATRIX
3 = UPPER HALF MATRIX
4 = LOWER CORNER MATRIX
5 = UPPER CORNER MATRIX
SUBMENU: ENTER 1 IF NOT BLOCK DIAGONAL MATRIX (DEFAULT) OR 2 IF YES:
MATRIX: In this case the group consists of NPART rows with each row expected to contain NPART matrix entries. The information presented pertains to NPART points or objects. (Of course, each matrix entry here and below may be represented by several internal replications, as explained elsewhere)
LOWER HALF-UPPER HALF: In these cases, the group consists of NPART rows (if the main DIAGONAL is PRESENT) and NPART - 1 rows (if the main DIAGONAL is ABSENT). Each row is expected to contain from 1 up to NPART (or from 1 up to NPART -1) matrix entries in a regularly varying way. The information pertains to NPART points or objects.
LOWER CORNER-UPPER CORNER: In these cases, each group consists of NROWS rows, with each row expected to contain NCOLS matrix entries. The information pertains to NCOLS + NROWS points or objects. As the placement of the corner in the matrix would suggest, the first several points in the lower corner case (and the last several points in the upper corner case) correspond to the columns. The illustrations below, in which a data value corresponding to the (i,j) matrix entry is denoted by ij, should help make these forms clear.
BLOCK DIAGONAL: When the block diagonal option is used, each group pertains to a new set of objects, and the several groups should be thought of as blocks down the diagonal of a single larger data matrix. If each group pertains to NPART objects, and there are NREPL3 groups, then the whole data set pertains to N = NREPL3 * NPART objects. If each group is only part of a square matrix, it is the square matrices which are strung down the diagonal, with each group occupying its appropriate position in its square matrix.
3. DIAGONAL
For the two halfmatrix forms, two options are given:
1 = DIAGONAL PRESENT (DEFAULT)
2 = DIAGONAL ABSENT
4. CONFIGURATION
ENTER THE METHOD BY WHICH THE STARTING CONFIGURATION IS TO BE PRODUCED:
1 = TORSCA (DEFAULT)
2 = RANDOM CONFIGURATION
3 = ARBITRARILY
4 = CONFIGURATION MATRIX IS TO BE READ IN
Introduces a data set containing a configuration of points. This configuration is used to start the computation. If no configuration data set is provided (i.e., if the default option is selected), the program generates its own starting configuration by using the classical Torgerson scaling technique. If the number of points N < 60, the program then proceeds to use the quasi-nonmetric Young method of improving this configuration. The control option
ENTER THE NUMBER OF PRE-ITERATIONS (DEFAULT=1)
determines the maximum number of such steps. If n > 60, however, memory space does not permit the Young procedure to be used. If more than one data deck is used (split by decks), the TORSCA initial configuration calculation will use only the data from the first deck. In some cases, the initial configuration obtained from the TORSCA procedure is already quite good.
5. SPLIT
The entire list of data values may be split into sublists, with a separate regression performed on each sublist. There are several ways in which the data can be split. Each row of every data file can be a sublist, each group of rows can be a sublist, each data set can be a sublist. Where there is more than one data set, different sets may be split differently. The options
1 = SPLIT BY ROWS (Used in unfolding)
2 = SPLIT BY GROUPS
3 = SPLIT BY DECK (DEFAULT)
4 = SPLIT NO MORE
control splitting. SPLIT BY ROWS, SPLIT BY GROUPS, or SPLIT BY DECK, make each row, each group of rows, or each data file a separate sublist respectively. SPLIT NO MORE is relevant only when several data sets are used. It causes all subsequent data sets to be joined into a single sublist.
6. CUTOFF: If individual data values are missing, this fact may be indicated by using values which are algebraically less than some specific cutoff value which is specified.
Enter CUTOFF, (MISSING VALUE PARAMETER DEFAULT = -1.23E+20)
Values which are < CUTOFF value will be discarded. This discarding takes place while the data
is being read in. The standard value is so large a negative number that it is unlikely to affect
anyone's data.
7. WEIGHTS The control option WEIGHTS introduces a data set containing numerical weights which correspond to the data values. If no weights are provided, the program uses a weight of 1.0 for every data value. When a set of weights is used, it must immediately follow the data set, with no intervening lines. Generally speaking, the arrangement and format of the weights data must be exactly the same as that of the data set, and one weight must appear from every data value, even those which are artificial and indicate missing data. Note that all weights must be > 0. Zero weights may lead to division by 0 in the MFIT subroutine. Where a data value is indicated as being missing because it falls below the value of CUTOFF, a corresponding value must nevertheless appear in the weights data set, even though it will not be used. (A blank value can generally be used in this case.)
When more than one data set is used to supply data for a single computation, every data set should be given the same weights treatment. That is, either no data set should be weighted, or every data file should be accompanied by a weights data set or every data set should use computed weights (all must use the same WTRAN function). The weights data set or WFUNCTION option should be used with the data sets.
OPTION #3 SELECT MODEL OPTIONS1 RETURN TO VIEW MAIN MENU
2 MONOTONE (DEFAULT)
3 MULTIVARIATE WITH CONSTANT
4 MULTIVARIATE WITHOUT CONSTANT
5 POLYNOMIAL WITH CONSTANT
6 POLYNOMIAL WITHOUT CONSTANT
2. MONOTONE The regression type may be either monotone or polynomial. (The former makes the scaling nonmetric, the latter metric.) The monotone regression may be either ascending (suitable for dissimilarities) or descending (suitable for similarities). For the monotone option, menu options include:
1 = Rank Orders increase as distance increases (DISSIMILARITIES)(DEFAULT)
2 = Rank Orders decrease as distance increases (SIMILARITIES)
3/4. MULTIVARIATE The option MULTIVARIATE regression, is needed only in special cases. The option MULTIVARIATE may be used to substitute for polynomial regression. (Because a very simple method is used to solve the simultaneous linear equations, it is desirable that the functions fk should not be too terribly far from orthogonal.) Not more than five functions (variates) fk are permitted when specifying the number of multivariate functions:
ENTER THE NUMBER OF MULTIVARIATE FUNCTIONS (MAX=5)
5/6. POLYNOMIAL The option POLYNOMIAL requires specification of the degree of the polynomial:
ENTER NUMBER OF DEGREE OF THE POLYNOMIAL FUNCTION (MAX=4)
It is possible to include or exclude the constant term when fitting polynomials by selecting the appropriate regression type. The polynomial regression may be of any degree up to quartic (degree 4), with or without constant term. (The coefficient values are a by-product of the regression.)
When more than one data set is used, a different type of regression may be chosen for each data set, if desired. There are situations where it may be helpful to use monotone and straight-line regression together (thus performing something intermediate between nonmetric and metric scaling).
1 RETURN TO VIEW MAIN MENU
2 ENTER WEIGHT TRANSFORMATIONS FROM KEYBOARD
3 ENTER DATA TRANSFORMATIONS FROM KEYBOARD
4 FIX DATA POINTS
2. WEIGHT Weights associated with the data values are sometimes useful, to reflect the varying measurement errors or for other reasons. They are used by KYST to weight the squared terms in the stress formula. Weights may be either computed as a function of the associated data values, or read in immediately following the data. If no weights are provided by either method, the program supplies the default weight of 1.0 for every data value. The weights are effective both during the initial configuration calculation, and during the main scaling computation. It is dangerous to use weights of 0.0, since they may lead to division by zero in the monotone regression algorithm. If a zero weight is desired, use the CUTOFF option to create a missing value in the data.
Five transformation variables are required for the weight transformation:
( T5 + T1*(T2(DATA(i)+T3)**T4 )
The default values are T1=1.0; T2=1.0; T3=0.0; T4=1.0; T5=0.0 the maximum transformation input size is F15.7.
In other words, this transformation consists of three stages, a first linear stage using T2 and T3, a second power stage using T4, and a third linear stage using T1 and T5.
3. DATA When performing metric scaling, a preliminary transformation of the data may be quite important. Also, regardless whether the scaling is metric or not, such a preliminary transformation may be helpful to the classical Torgerson scaling which is the first step in the TORSCA initial configuration option, by making the data values more like Euclidean distances. Simple transformations can be accomplished from KYST using the data transformation option:
Five transformation variables are required for the weight transformation:
( T5 + T1*(T2(DATA(i)+T3)**T4 )
The default values are T1=1.0; T2=1.0; T3=0.0; T4=1.0; T5=0.0 the maximum transformation input size is F15.7.
In other words, this transformation consists of three stages, a first linear stage using T2 and T3, a second power stage using T4, and a third linear stage using T1 and T5.
4. FIX The FIX option "fixes" the first several points of the configuration, so that they do not
move during the main scaling computation. In other words, the program treats these points as
given, and not subject to adjustment. This option is sensible only if the points of the initial
configuration which have been fixed are sensible. Thus normally this option would be used only if
points are read in from a configuration deck, or if the initial configuration has been created by the
TORSCA initial configuration routine. Note that the FIX option has no effect on how the
TORSCA initial configuration routine operates, but only affects the main scaling procedure. An
integer must be entered when requested by the prompt:
ENTER 0 = NO FIX (DEFAULT), or K = # OF POINTS TO FIX
Only the initial points of the configuration can be fixed, that is, the points numbered from 1 up to the value of the integer. The means used internally to accomplish this fixing is to set to zero all the coordinates of the gradient vector which correspond to fixed points, just before the program starts to make use of the gradient vector. If the user wants these values to appear without change as the coordinate values in the final configuration, the "COORDINATE AS-IS" OPTION should be in effect. Otherwise, the fixed points, along with the rest of the configuration will be subject to the usual standardization and rotation, and the resultant coordinate values will be different than those fixed.
1 RETURN TO VIEW MAIN MENU
2 STRMIN MINIMUM STRESS (.01)
3 SFGRMN SCALE FACTOR GRADIENT (0.0)
4 SRATST STRESS RATIO STOP (.999)
5 ITERAT MAX. # OF ITERATIONS (50)
6 COSAVW COSINE OF ANGLE BETWEEN GRADIENTS (.66)
7 ACSAVW AVERAGE COSINE OF ANGLES (.66)
Normally computation stops when the program judges that it has reached the minimum stress value. Of course, the program has no way of distinguishing between a local minimum and a global minimum. That is, any minimum it reaches may be merely the smallest value in some local region (a local minimum) rather than the smallest value everywhere (a global minimum). This difficulty is shared by all procedures for minimizing functions of many variables (except when very special conditions hold, such as convexity). For further information about the likelihood of reaching other than the global minimum in the present context (likelihood varies greatly in different contexts), and what to do if you suspect this difficulty, see Kruskal (1964b). However note that repeated analyses using the RANDOM option (explained above) makes it very easy to analyze the same data starting from several different starting configurations. The same solution may occur several times (up to such immaterial changes as rotation and reflection). This solution may have the least stress by a considerable amount, while only a few other solutions occur, all with worse stress and all quite different from one another. In this case, we may have considerable practical confidence in having found the true minimum solution.
At a minimum configuration (whether global or merely local) the gradient vector is 0 (that is, all
the partial derivatives of the stress are 0). One test the program uses for determining whether it
has reached a local minimum is whether the length of the gradient is small enough.
2. STRMIN = number-with-decimal-point (standard value is 0.01)
provides the criterion value. (STRMIN means 'STRESS MINIMUM'.) Usually when stress gets
smaller than this (that is, below 1%), only negligible further movement of the configuration occurs
in achieving a minimum. (For nonmetric scaling, if the stress becomes small enough, in practice it
turns out that zero stress is always achievable. However, it may take many iterations of almost
infinitesimal movement to achieve it.)
3. SFGRMN = number-with-decimal-point (standard value is 0.0) provides a criterion value. (SFGRMN stands for 'Scale Factor of the GRadient, MiNimum'.) When the length (more properly, the scale factor) of the gradient is less than or equal to this criterion, the program decides that a local minimum has been reached. Due to the fact that computer arithmetic is approximate, it is very unusual for the gradient to become precisely 0. Thus with the standard value in effect, this test is seldom satisfied.
In practice, primary reliance is placed on how fast the stress is decreasing. If the ratio between
present and previous stress is close enough to 1.0, and if simultaneously the weighted average of
past values of this ratio is close enough to 1.0, then the program decides that a local minimum has
been reached.
4. SRATST = number-with-decimal-point (standard value is 0.999). (SRATST means 'Stress Ratio Stop'). If both the stress ratio and the weighted average stress ratio are between this value and 1.0, then the criterion is met. A more rigorous criterion is achieved by using a value (like 0.999) which is closer to 1.0, while a more generous criterion comes from a value (like 0.99) further from 1.0. If 1.0 itself is used, the criterion becomes virtually unachievable.
Even if a minimum value of stress has not yet been achieved, it is sometimes desirable to stop
computing when the stress has become sufficiently small.
5. ITERATIONS: Whether or not a minimum or a satisfactorily small stress is reached, in practice computation must be terminated after some number of iterations because computer time is always limited. This control option provides the maximum number of iterations which are permitted in a single computation. After this many iterations, computation is terminated and full normal output provided, regardless of other stopping criteria.
Each computation normally runs through enough iterations to reach a configuration which minimizes stress. To control computation time in case convergence is unduly slow, however, the program will terminate computation after 50 iterations and yield normal output even if a minimum has not yet been reached. (The reason for termination is always indicated.) To change the maximum number of iterations, select the iterations options and input the desired number of iterations:
ITERATIONS = integer (standard value is 50).
More iterations (say 100) may be useful to assure complete convergence, though the further change after 50 iterations is often so small as to be negligible. Fewer iterations (say 25 or even less) may be useful where a great many sets of data are to be analyzed and time is of essence.
Whenever computation is terminated, the reason is always indicated by a remark such as MINIMUM WAS ACHIEVED, MAXIMUM NUMBER OF ITERATIONS WERE USED, SATISFACTORY STRESS WAS REACHED, or ZERO STRESS WAS REACHED.
6/7. COSAVW/ACSAVW
During computation, the cosine of the angle between successive gradients plays an important role in several ways. The exponentially weighted average of past cosine values is kept up to date, and so is a similar average of their absolute values.
COSAVW = number-with-decimal-point (default value is 0.66)
ACSAVW = number-with-decimal-point (default value is 0.66)
The control options may be used to alter these parameter values.
1 RETURN TO VIEW MAIN MENU
2 PRODUCE CONFIGURATION FILE AS OUTPUT (NO)
3 PRINT DATA (NO)
4 PRINT HISTORY (YES)
5 PRINT DATA AND DISTANCES (NO)
The program always provides output to a user specified disk file. The use of a word processor enables extracting of data for use in related analyses.
The more important input options are printed out, so it is easy to see data and what options were used. The final configuration obtained is also printed, and the corresponding value of the 'stress'. (The stress is the badness-of-fit quantity which is minimized by the program. For further explanation, see the references.) Several other kinds of printed output are available on an optional basis. The options configured in the KYST menu enable the 'PRINT DATA' option, which causes a detailed listing of the input data. The option 'PRINT DISTANCES' will produce a detailed listing which includes the data, the distances, and the fitted regression values. The option 'PRINT HISTORY' will produce a 'history' of the calculation which shows the progress of the iterative numerical calculation.
In KYST, another optional output file is the 'CONFIGURATION' data set This data set contains the coordinates of the points of the final configuration, together with some preliminary information, which permit it to be used as input to provide a starting configuration in a later scaling computation.
1 RETURN TO VIEW MAIN MENU
PLOTS OF FINAL CONFIGURATION (ALL)
2 ALL PLOTS OF FINAL CONFIGURATION
3 SOME PLOTS OF FINAL CONFIGURATION
4 NO PLOTS OF FINAL CONFIGURATION
FINAL CONFIGURATION COORDINATES (ROTATE)
5 ROTATE FINAL CONFIGURATION COORDINATES
6 STANDARDIZE FINAL CONFIGURATION COORD. AS-IS
7 USE FINAL CONFIG. COORDINATES AS-IS
SCATTER PLOTS OPTIONS (ALL)
8 ALL SCATTER PLOTS OF DIST VS DHAT
9 SOME SCATTER PLOTS OF DIST VS DHAT
10 NO SCATTER PLOTS OF DIST VS DHATPLOTS OF THE FINAL CONFIGURATION
Options 2, 3, and 4 control plotting of the final configuration. The use of All produces LDIM*(LDIM-1)/2 plots of all pairs of dimensions of the configuration, where LDIM is the dimensionality of the configuration. the option SOME is similar, except that each dimension is plotted against only one other dimension. (However, if LDIM is odd, dimension 1 is plotted twice, once with dimension 2 and once with dimension 3). If NO PLOTS are requested, no configuration plotting is done.
Options 5, 6, and 7 control the form of the final configuration. Under the STANDARDIZE option, the configuration has its centroid set to the origin and the mean square distance of the points from the centroid set to 1 after every iteration.
The option ROTATE, besides causing the above standardization on each iteration, also causes the final configuration to be rotated so that its principal components lie along the coordinate axes. (Where the scaling is to be done in several different dimensionalities, this has the desirable effect of causing the least important coordinates to be dropped when going to the next lower dimensionality).
The option AS-IS suppresses both the standardization and the rotation, as may be particularly useful when the initial configuration is read in from a configuration file, particularly if the FIX option is used.
As presently written, KYST has just a few primary limitations on the size of the problems it can handle. Up to 100 objects (that is, points) may be used. Scaling can be done up to twelve dimensions (and down to one dimension). Up to 7500 data values may be used. In this regard, it is not necessary to count data values which are formally present, but discarded because they are below the CUTOFF value. (However, note that each row is read in completely, before the data values in it are discarded. Thus if the number of data values including those below the cutoff exceeds 1800, it is possible though unlikely, that the available storage space will be overrun and troubles will result. This can happen only if the data values below CUTOFF are concentrated near the end of the data set, so that at some point the number of genuine data values in prior rows, plus the total number of data values in the current row, exceed 7500.) If the data are split into separate sublists, up to 100 sublists can be accommodated.
1. This note has been substantially revised by S. Smith for the PC-MDS version of KYST.
|KYST TEST DATA 5 X 5 DISSIMILARITIES DATA
K Y S T MULTIDIMENSIONAL SCALING | 5 1 1
WRITTEN BY JOSEPH B. KRUSKAL, FOREST W. YOUNG, WITH JUDITH SEERY |(5F5.3)
PC-MDS VERSION |9.3 0.57 6.1 2.0 1.5
|1.0 8.5 5.5 3.3 4.0
|2.1 5.3 7.3 3.9 1.1
|5.0 6.2 1.6 8.9 2.8
|1.3 4.1 1.0 2.5 8.8
ANALYSIS TITLE: KYST TEST DATA |
DATA IS READ FROM FILE: KYST.DAT |
OUTPUT FILE IS: KYST.PRN |
|
INPUT PARAMETERS: |PRINTOUT OF DEFAULT OR SELECTED OPTIONS
|
MAXIMUM DIMENSIONS 2 |
MINIMUM DIMENSIONS 2 |
DIMENSION DECREMENT 1 |
MINIMUM STRESS .01000 |
SCALE FACTOR GRADIENT .00000 |
STRESS STEP RATIO .99900 |
MAXIMUM ITERATIONS 50 |
COSINE OF ANGLE BETWEEN GRADIENTS .66000 |
AVERAGE COSINE OF ANGLE .66000 |
NUMBER OF PRE-ITERATIONS 1 |
THE NUMBER OF DATA POINTS TO BE FIXED IS: 0 |
EUCLIDEAN DISTANCE |
STRESS FORMULA 1 |
TIES PRIMARY |
FULL MATRIX INPUT |
NOT BLOCK DIAGONAL |
DIAGONAL PRESENT |
SPLIT BY DECK |
TORSCA INITIAL CONFIGURATION |
NO WEIGHTS AFTER DATA |
MONOTONE MODEL |
ASCENDING DATA |
ALL PLOTS OF FINAL CONFIGURATION |
ALL SCATTER PLOTS OF DIST VS DHAT |
ROTATE FINAL CONFIG. COORDINATES |
|
PARAMETERS: 5 1 1 |ASCENDING (DISSIMILARITIES) DATA DEFINED
TITLE: (5F5.3) |WHERE RANK ORDER INCREASES AS THE DISTANCE
|OR SIMILARITY BETWEEN STIMULI INCREASES.
ON THE SHEPARD DIAGRAM THE ORIGINAL DATA (DATA) ARE PLOTTED; |
ON THE Y AXIS AND DISTANCES (DIST,0) AND ESTIMATED DISTANCES |
(DHAT,X) ON THE X AXIS. A ; INDICATES TWO VALUES ARE PLOTTED |PARAMETERS:5 ROWS/COLS; 1 REPLICATION; 1 GROUP
ON TOP OF EACH OTHER AND A > INDICATES POINT NUMBERS GREATER |INPUT FORMAT(5 DATA PTS, EACH 5 COLUMNS WIDE)
THAN 50. IDENTIFIERS FOR THE CONFIGURATION PLOT IN 2 DIMENSIONS ARE: |THE LAST THREE COLUMNS FOR EACH DATA POINT ARE
|READ AS DECIMAL VALUES.
|
*****IDENTIFICATION KEY FOR PLOTS WITH IDENTIFIED POINTS***** |
|
PT # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CHAR 1 2 3 4 5 6 7 8 9 A B C D E F |
PT # 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
CHAR G H I J K L M N O P Q R S T U |KEY TO PLOT COORDINATES
PT # 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
CHAR V W X Y Z + / = * & $ @ ] - < |
PT # 46 47 48 49 50 |
CHAR ( ) " # ' |
|
TITLE: KYST TEST DATA |
INITIAL CONFIGURATION COMPUTATION NO. PTS.= 5 DIM= 2 |TORSCA PRE-ITERATION TO REDUCE STRESS
|
PRE-ITERATION STRESS |
|
0 .2753 |
1 .2434 |
|
MAXIMUM NUMBER OF PRE-ITERATIONS 1 REACHED. |
|
THE BEST INITIAL CONFIGURATION OF 5 POINTS IN 2 DIMENSIONS |N=# OF STIMULI IN DATA MATRIX
HAS A STRESS OF .243. STRESS FORMULA 1 WAS USED. |THE NUMBER OF DATA VALUES SHOWS THE NUMBER
|OF DATA POINTS READ INTO THE KYST PROGRAM
TITLE: KYST TEST DATA |SHOULD BE THE SAME AS IN THE DATA SET.
|SPLIT REFERS TO THE SPLIT OPTION:
HISTORY OF COMPUTATION: |BY DECK (DEFAULT) READS ONE INTACT DATA FILE.
N= 5 THERE ARE 25 DATA VALUES, SPLIT INTO 1 LIST(S). |BY ROWS (USED FOR UNFOLDING A LOWER CORNER
DIMENSION(S) = 2 | DATA MATRIX AND PERFORMS ONE REGRESSION FOR
| EACH SUBJECT'S DATA (i.e., EACH ROW OF THE
ITERATION STRESS SRAT SRATAV CAGRGL COSAV ACSAV SFGR STEP | DATA MATRIX)
|STRESS = QUALITY OF MODEL FIT (FORMULA 1)
0 .538 .800 .800 .000 .000 .000 .0143 .1918 |
1 .528 .982 .857 -.430 -.283 .283 .0075 .1405 |SRAT = HOW RAPIDLY STRESS IS MINIMIZED
2 .521 .986 .898 .414 .177 .369 .0107 .1510 |
3 .507 .974 .922 .675 .505 .571 .0102 .2703 |SRATAV = HOW RAPIDLY AVG STRESS IS MINIMIZED
4 .492 .969 .938 .050 .205 .227 .0039 .3209 |
5 .503 1.024 .966 -.869 -.504 .651 .0142 .1210 |CAGRGL = COSINE OF THE ANGLE BETWEEN CURRENT
6 .491 .976 .969 .968 .467 .860 .0060 .1416 | AND PREVIOUS GRADIENT
7 .490 .997 .978 -.905 -.438 .890 .0047 .0448 |
8 .489 .997 .985 .829 .398 .850 .0011 .0445 |COSAV = WGTD AVG OF CAGRGL VALUES
9 .489 1.000 .990 -.640 -.287 .711 .0019 .0172 |
10 .488 1.000 .993 .869 .476 .815 .0007 .0202 |ACOSAV = WGTD AVG OF ABSOLUTE VALUE OF CAGRGL
11 .488 1.000 .995 -.273 -.018 .457 .0008 .0111 |
12 .488 1.000 .997 .245 .155 .317 .0004 .0096 |SFGR = SCALE FACTOR (ROUGHLY EQUIVALENT TO
13 .488 1.000 .998 .788 .573 .628 .0004 .0161 | THE LENGTH OF THE GRADIENT (0 WHEN AT
14 .488 1.000 .999 .392 .453 .472 .0005 .0238 | THE MINIMUM CONFIGURATION)
15 .488 1.000 .999 -.585 -.232 .546 .0012 .0105 |STEP = INTERATION STEP SIZE
16 .488 1.000 .999 .880 .502 .767 .0004 .0134 |
|
MINIMUM WAS ACHIEVED |
THE FINAL CONFIGURATION HAS BEEN ROTATED TO PRINCIPAL COMPONENTS. |
THE FINAL CONFIGURATION OF 5 POINTS IN 2 DIMENSIONS HAS STRESS OF.488|COORDINATES OF STIMULI (ROWS) IN THE NUMBER
FORMULA 1 WAS USED. THE FINAL CONFIGURATION APPEARS: |OF DIMENSIONS SPECIFIED FOR THE SOLUTION
| (COLUMNS)
1 2 |FOR GROUP 1, 25 DATA POINTS WERE READ,
1 -.925 -.071 |THE FINAL STRESS WAS .488 AND THE
2 -.796 -.531 |MONOTONE ASCENDING REGRESSION WAS PERFORMED
3 .925 -.070 |IF THE METRIC (POLYNOMIAL MODEL WAS USED,
4 -.001 1.203 |THE REGRESSION COEFFICIENTS ALSO APPEAR.
5 .796 -.531 |
|
DATA GROUP(S) |
SERIAL COUNT STRESS REGRESSION COEFFICIENTS (FROM DEGREE 0 TO MAX OF 4)|
1 25 .488 ASCENDING |
********************************************************************** |
|PLOT OF DISTANCES AND DHAT IN 2 DIMENSIONS
DIST AND DHAT VERSES DATA FOR 2 DIMENSION(S) |PLOT OF ACTUAL DISTANCES READ IN (OR RANK
STRESS = .4881 |DISTANCES IN THIS CASE, VS. DERIVED DISTANCES
. .1145. .5342. .9539. 1.3736. 1.7933. |DISTANCES (DHAT))
-.0954 .3243 .7440 1.1637 1.5834 2.0031 |
*.****.****.****.****.****.****.****.****.****.****.* |O = ORIGINAL VALUES
9.74 .. .. 9.74|X = DHAT VALUES
9.38 .. 0 X .. 9.38|+ = 2 OR MORE POINTS WERE PLOTTED ON TOP OF
9.03 .. 0 X .. 9.03| EACH OTHER.
8.67 .. + X .. 8.67|
8.31 .. .. 8.31|
S 7.96 .. .. 7.96|
H 7.60 .. .. 7.60|
E 7.25 .. 0 X .. 7.25|
P 6.89 .. .. 6.89|
A 6.54 .. .. 6.54|
R 6.18 .. X 0 0 .. 6.18|
D 5.82 .. .. 5.82|
5.47 .. X + .. 5.47|
5.11 .. X 0 .. 5.11|
4.76 .. .. 4.76|
4.40 .. .. 4.40|
D 4.05 .. X + .. 4.05|
I 3.69 .. .. 3.69|
A 3.33 .. X 0 .. 3.33|
G 2.98 .. .. 2.98|
R 2.62 .. X + .. 2.62|
A 2.27 .. X 0 .. 2.27|
M 1.91 .. X 0 .. 1.91|
1.56 .. X 0 0 .. 1.56|
1.20 .. X X 0 .. 1.20|
.84 .. X .. .84|
.49 .. X .. .49|
.13 .. .. .13|
*.****.****.****.****.****.****.****.****.****.****.* |
. .1145. .5342. .9539. 1.3736. 1.7933. |
-.0954 .3243 .7440 1.1637 1.5834 2.0031 |
CONFIGURATION PLOT DIMENSION 2 (Y-AXIS) VS. DIMENSION 1 (X-AXIS) |
KYST TEST DATA |
.*....*....*....*....*....*....*....*....*....*....*....*....* | PLOT OF STIMULUS POINTS
3.000** ** 3| ; DESIGNATES THAT 2 OR MORE POINTS
2.769** ** 2| ARE PLOTTED ON TOP OF EACH OTHER.
2.538** ** 2|
2.308** ** 2|
2.077** ** 2|
1.846** ** 1|
1.615** ** 1| CONFIGURATION PLOT:
1.385** ** 1| DIMENSION 2 VS. DIMENSION 1
1.154** 4 ** 1|
.923** ** |
.692** ** |
.462** ** |
.231** ** |
.000**-----------------------1------0------3----------------------** |
-.231** ** -|
-.462** 2 5 ** -|
-.692** ** -|
-.923** ** -|
-1.154** **-1|
-1.385** **-1|
-1.615** **-1|
-1.846** **-1|
-2.077** **-2|
-2.308** **-2|
-2.538** **-2|
-2.769** **-2|
-3.000** **-3|
.*....*....*....*....*....*....*....*....*....*....*....*....* |
. -3.3333. -2.0000. -.6667. .6667. 2.0000. 3.3333. |
-4.0000 -2.6667 -1.3333 .0000 1.3333 2.6667 4.000|