|
Performs individual-differences multidimensional scaling for metric data using alternating least squares.
NSTIM Number of stimuli in each similarity/dissimilarity matrix. (Input)
X NSUB similarity or
dissimilarity matrices in symmetric storage mode. (Input)
Each
matrix must occupy consecutive memory positions, and must be stored as a column
in X. X must be dimensioned
as
DIMENSION X(NC2,NSUB)
where NC2 = NSTIM * (NSTIM − 1)/2. Each matrix is stored without the diagonal elements by column as upper triangular matrices. For example, a 3 by 3 matrix would be stored with the (1, 2), (1, 3), (2, 3) elements as the first three elements of the first column of X.
NDIM Number of dimensions desired in the solution. (Input)
DIST Vector of
length NSUB
* NC2, where NC2 = NSTIM * (NSTIM − 1)/2,
containing the predicted distances. (Output)
DIST contains the
distances as predicted by the estimated parameters in the model. DIST has the same
storage mode as X and may be treated
as a series of NSUB matrices in
symmetric storage mode but without the diagonal elements.
CFL Matrix of size NSTIM by NDIM containing the configuration of points obtained from the multidimensional scaling. (Output)
A Vector of length NSUB containing the intercepts for each subject. (Output)
B Vector of length NSUB containing the slopes for each subject. (Output)
WT Vector of length NSUB containing the criterion function weights for each subject. (Output)
STRS Vector of length NSUB containing the value of the weighted optimized criterion within each subject. (Output)
STRSS Value of the weighted optimized criterion function (summed over subjects). (Output)
RESID NSUB * NC2 vector containing
the observation residuals. (Output)
Here, NC2 = NSTIM (NSTIM − 1)/2.
NSUB Number of
matrices to be used in the analysis. (Input)
Default: NSUB = size (X,2).
ICNVT Option
for converting from similarity to dissimilarity data. (Input)
If
ICNVT = 0, the
input data contains dissimilarities and no conversion is performed. If ICNVT = 1, the data
are converted from similarity to dissimilarity data by subtracting each
similarity from the largest similarity for the subject. If ICNVT = 2, the data
are converted to dissimilarities by reciprocating each similarity.
Default:
ICNVT = 0.
MODEL Model
option parameter. (Input)
MODEL = 0 means the
Euclidean model is used, otherwise, the individual differences model is
used.
Default: MODEL = 0.
ISTRS Option
giving the stress formula to be used. (Input)
Default: ISTRS = 0.
Stress
formulas differ in the weighting given to each subject. The valid values of
ISTRS are:
ISTRS |
Weighting |
0 |
Inverse of within-subject variance of observed dissimilarities about the predicted distances |
1 |
Inverse of within-subject sum of squared dissimilarities |
2 |
Inverse of within-subject variance of dissimilarities about the subject mean |
See the Description section for further discussion of the stress formula weights.
ITRANS Option
giving the transformation to be used on the observed and predicted
dissimilarities when computing the criterion function.
(Input)
Default: ITRANS = 0.
ITRANS |
Transformation |
0 |
Squared distances |
1 |
Distances (that is, no transformation is performed) |
2 |
Log of the distances |
See the Description section for further discussion of stress formula transformations.
IPRINT Printing
option. (Input)
Default: IPRINT = 0.
IPRINT |
Action |
0 |
No printing is performed. |
1 |
Printing is performed, but the output is abbreviated. |
2 |
All printing is performed. |
LDCFL Leading
dimension of CFL
exactly as specified in the dimension statement in the calling
program. (Input)
Default: LDCFL = size (CFL,1).
W NSUB by NDIM matrix containing
the subject weights. (Output when MODEL is not zero, not
referenced otherwise)
W is not used and may
be a 1x1 array if MODEL = 0.
LDW Leading
dimension of W
exactly as specified in the dimension statement in the calling
program. (Input)
Default: LDW = size (W,1).
Generic:
CALL
MSIDV (NSTIM, X, NDIM, DIST, CFL, A, B, WT, STRS, STRSS,
RESID [,
])
Specific: The specific interface names are S_MSIDV and D_MSIDV.
Single: CALL MSIDV (NSTIM, NSUB, X, ICNVT, MODEL, ISTRS, ITRANS, NDIM, IPRINT, DIST, CFL, LDCFL, W, LDW, A, B, WT, STRS, STRSS, RESID)
Double: The double precision name is DMSIDV.
Routine MSIDV performs multidimensional scaling analysis according to an alternating optimization algorithm. Input to MSIDV consists of symmetric dissimilarity matrices measuring distances between the row and column objects. Optionally, similarities can be input, and these can be converted to dissimilarities by use of the ICNVT option. In MSIDV, the row and column objects (stimuli) must be identical. Dissimilarities in multidimensional scaling are used to position the objects within a d = NDIM dimensional space, where d is specified by the user. Optionally, in the individual differences scaling model (MODEL ≠ 0), the weight assigned to each dimension for each subject may be changed.
The data input in X must be in a special symmetric storage form. For this storage mode, the input array X contains only the upper triangular part of each dissimilarity matrix and does not contain the diagonal elements (which should all be zero anyway). Storage of symmetric data in X is as follows: X(1) corresponds to the (1, 2) element in the first matrix (which is a measure of the distance between objects 1 and 2), X(2) corresponds to the (1, 3) element, X(3) corresponds to the (2, 3) element, etc., until all t = q(q − 1)/2 off-diagonal elements in the first matrix are stored, where q = NSTIM. The t + 1 element in X contains the (1, 2) element in the second matrix, and so on.
Missing values are indicated in either of two ways: 1) The standard missing value indicator NaN (not a number), specified via routine AMACH(6) (Reference Material) may be used to indicate missing values, or 2) Negative elements of X may be used to indicate missing observations. In either case, missing values are estimated as the mean dissimilarity for the subject and used as such when computing initial estimates, and they are omitted from the criterion function when optimal estimates are computed.
Routine MSIDV
assumes a metric scaling model. When no transformation is specified
(ITRANS
= 1), then each datum (after transforming to dissimilarities) is a measure of
distance plus a constant, αm. In this case, the
constant (which is always called the intercept) is assumed to vary with
subject and must first be added to the observed dissimilarities in order to
obtain a metric. When a transformation is specified (ITRANS
≠ 1), the
meaning of αm changes (with respect
to metrics). Thus, when ITRANS
= 1, the data is assumed to be interval (see the chapter introduction) while
when ITRANS
≠ 1 ratio
data is assumed. A scaling factor, the slope, is also always estimated for
each subject.
When ISTRS = 1 or 2, the criterion function in MSIDV is given as
where δijm denotes the predicted distance between objects i and j on subject m,
denotes the corresponding dissimilarity (the observed distance), νm is the subject weight, f is one of the transformations f(x) = x2, f(x) = x, or f(x) = ln(x) specified by parameter ITRANS, αm is the intercept added to the transformed observation within each subject, and βm is the slope for the subject. For ISTRS = 0, the criterion function is given as
where nm is the number of nonmissing observations on the m-th subject. Assuming fixed weights, the first derivatives of the criterion for ISTRS = 0 are identical to the first derivatives of the criterion when ISTRS = 1 or 2, but with weights
ISTRS can, thus, be thought of as changing the weighting to be used in the criterion function.
The transformation (x) specified by parameter ITRANS is used to obtain constant within-subject variance of the subject dissimilarities. If the variance of the log of the observed dissimilarities (about the predicted dissimilarities) is constant within subject, then the log transformation should be used. In this case, the variance of a dissimilarity should be proportional to its magnitude. Alternatively, the within-subject variance may be constant when distances (or squared distances) are used.
The distance models for δijm available in MSIDV are given by:
1. The Euclidean model:
2. The individual-differences model:
where Λ denotes the configuration (CFL)
so that λik is the location of
the i-th stimulus in the k-th dimension, where d is the
number of dimensions, and where wmk is the weight
assigned by the
m-th subject to the k-th dimension (W).
Weights that are inversely proportional to the estimated variance of the dissimilarities (about their predicted values) within each subject may be preferred because such weights lead to normal distribution theory maximum likelihood estimates (when it is assumed that the dissimilarities are independently normally distributed with constant residual variance). The estimated (conditional) variance used as the inverse of the weight νm for the m-th subject in MSIDV (when ISTRS = 0) is computed as
where the sum is over the observations for the subject, and where nm is the number of observed nonmissing dissimilarities for the subject. These weights are used in the first derivatives of the criterion function.
When ISTRS = 1, the within-subject average sum of squared dissimilarities are used for the weights. They are computed as
Finally, when ISTRS = 2, the within-subject variance of the dissimilarities is used for the weights. These are computed as follows
where
denotes the average of the transformed dissimilarities in the stratum.
Initial estimates of all parameters are obtained through methods discussed in routine MSINI. After obtaining initial estimates, a modified Gauss-Newton algorithm is used to obtain estimates for the parameters that optimize the criterion function. The parameters are optimized sequentially as follows:
1. Optimize the configuration estimates, Λ = CFL.
2. If required, estimate the optimal subject weights, wmk = W(m, k), one subject at a time.
3. Optimize the parameters αm = A(m) and βm = B(m), one subject at a time.
4. If convergence has not been reached, continue at Step 1.
An iteration is defined to be all of the Steps 1, 2, and 3. Convergence is assumed when the maximum absolute change in any parameter during an iteration is less than 10−4 or if there is no change in the criterion function during an iteration.
A modified Gauss-Newton algorithm is used in the estimation of all parameters. This algorithm, which is discussed in detail by Merle and Spath (1974), uses iteratively reweighted least squares on a Taylor series linearization of the parameters in δijm. During each iteration, the subject weights, which may depend upon the parameters in the model, are assumed to be fixed.
All models available are overparameterized so the resulting parameter estimates are not uniquely defined. For example, in the Euclidean model, the columns of X can be translated or rotated (multiplied by an orthonormal matrix), and the resulting stress will not be changed. To eliminate lack of uniqueness due to translation, model estimates for the configuration are centered in all models. No attempt at eliminating the rotation problem is made, but note that rotation invariance is not a problem in many of the models given. With more general models than the Euclidean model, other kinds of overparameterization occur. Further restrictions on the parameters to eliminate this overparameterization are given below by the model transformation type specified by ITRANS. In the following, wlk ∈ W, where W is the matrix of subject weights. The restrictions to be applied by model transformation type are
1. For all models:
(a)
where q = NSTIM. i.e., center the columns of X.
(b) If W is in the model, scale the columns of W so that
2. For f(x) = x and f(x) = x2:
(a) Set bh = 1 if the data are matrix conditional and W is in the model or if the data are unconditional. (Matrix conditional with one matrix is considered to be unconditional data.)
4(b) If W is not in the model, scale all elements in X so that
where η = NSUB is the number of matrices observed.
3. For f(x) = ln(x), substitute ah for bh (but set ah to 0 instead of 1) in all restrictions in Item 2.
1. Workspace may be explicitly provided, if desired, by use of M2IDV/DM2IDV. The reference is:
CALL M2IDV (NSTIM, NSUB, X, ICNVT, MODEL, ISTRS, ITRANS, NDIM, IPRINT, DIST, CFL, LDCFL, W, LDW, A, B, WT, STRS, STRSS, RESID, WK1, WK2, WK3, WK4, WK5, WK6, WK7, IWK8, WK10, WK11, WK12, WK13, ID, WKDER, DWKHES, DWKGRA, WKDDP, NCOM, DISP)
The additional arguments are as follows:
WK1 Work vector of length equal to max(NSUB, NDIM * NSTIM, ND + 1)
WK2 Work vector of length equal to NDIM * NDIM
WK3 Work vector of length equal to NSTIM * NSTIM
WK4 Work vector of length equal to NSTIM * NSTIM
WK5 Work vector of length equal to NDSS * NDSS
WK6 Work vector of length equal to 3 * NDSS
WK7 Work vector of length equal to 5 * NDSS
IWK8 Integer work vector of length equal to NDSS
WK10 Work vector of length equal to NDIM * NDIM
WK11 Work vector of length equal to NSUB * NSUB
WK12 Work vector of length equal to NDIM * NDIM * max(NSUB, NSTIM)
WK13 Work vector of length equal to NSTIM * NDIM
ID Integer work vector of length equal to 4 * NDIM + 2
WKDER Work vector of length equal to NPAR
DWKHES Double precision work vector of length equal to NDIM * NDIM * NSTIM * NSTIM
DWKGRA Double precision work vector of length equal to NPAR
WKDDP Work vector of length equal to NC2
NCOM Work vector of length equal to NSUB
DISP Work vector of length equal to NSUB * NC2
where ND = NDIM * (NDIM + 1)/2, NC2 = NSTIM * (NSTIM − 1)/2, NDSS = max(NDIM, NSTIM, NSUB), and where NPAR = NDIM * NSTIM + 2 * NSUB when MODEL = 0; otherwise NPAR = NDIM * NSTIM + (NDIM + 2) * NSUB.
2. Informational errors
Type Code
3 1 At some point during the iterations there were too many step halvings. This is usually not serious.
4 1 The program cannot continue because a Hessian matrix is ill defined. A different model may be required. This error should only occur when there is serious numerical imprecision.
4 2 A dissimilarity matrix has every element missing.
The following example concerns some intercity distance rankings. The data are described by Young and Lewyckyj (1979, page 83). The driving mileages between various cities in the United States are ranked, yielding a symmetric ordinal dissimilarity matrix. These rankings are used as input to MSIDV. A Euclidean model is fit. The resulting two-dimensional scaling yields results closely resembling the locations of the major cites in the U.S. Note that MSIDV assumes continuous, not ranked, data.
The original rankings are given as:
USE PGOPT_INT
USE MSIDV_INT
IMPLICIT NONE
INTEGER IPRINT, ISTRS, LDCFL, LDW, LNX, NDIM, NSTIM, NSUB, IPAGE
PARAMETER (IPRINT=2, ISTRS=1, LDCFL=10, LNX=45, NDIM=2, &
NSTIM=10, NSUB=1)
!
REAL A(1), B(1), CFL(LDCFL,NDIM), DIST(45), RESID(LNX), &
STRS(1), STRSS, WT(1), X(45,1)
!
DATA X/4, 22, 13, 8, 15, 12, 34, 31, 11, 24, 6, 21, 29, 18, 39, &
10, 9, 27, 25, 42, 20, 35, 32, 16, 28, 2, 44, 43, 36, 30, &
19, 33, 17, 45, 40, 7, 3, 5, 26, 23, 37, 14, 1, 41, 38/
! Call PGOPT to set page length for
! the plotting
IPAGE =50
CALL PGOPT (-2, IPAGE)
!
CALL MSIDV (NSTIM, X, NDIM, DIST, CFL, A, B, WT, STRS, &
STRSS, RESID, ISTRS=ISTRS, IPRINT=IPRINT)
!
END
Initial parameter
estimates.
CFL
1 2
1 -0.762
0.124
2 -0.451 -0.349
3
0.496 0.073
4 -0.151
0.651
5 1.237 0.392
6
-1.114 0.588
7 -1.077
-0.566
8 1.461 0.034
9
1.321 -0.614
10 -0.961
-0.333
Iteration history
Iter
Source Stress Stress
change Maximum Change
1 INIT
STRSS 0.3755E-02
1 CONFIG STRSS
0.3399E-02 0.3559E-03
0.8062E-03
1 LINES STRSS
0.3142E-02 0.2564E-03
0.8062E-03
2 CONFIG STRSS
0.3068E-02 0.7382E-04
0.1022E-04
2 LINES STRSS
0.3047E-02 0.2156E-04
0.1022E-04
Plot(s) of the configuration
matrix
(CFL)
:::::::+::::::::::::X::+:::::::::::::::+:::::::::::::::+
.
I
.
0.600
X
I
+
.
I
.
.
I
.
.
I
.
0.450
+
I
+
.
I
X
.
.
I
.
.
I
.
0.300
+
I
+
.
I
.
.
I
.
D
.
I
.
i
0.150
+
I
+
m
.
X
I
.
e
.
I
X
.
n
.
I
X .
s 0.000
+------------------------------------------------------+
i
.
I
.
o
.
I
.
n
.
I
.
-0.150
+
I
+
2
.
I
.
.
I
.
.
I
.
-0.300
+
I
+
. X
X
I
.
.
I
.
.
I
.
-0.450
+
I
+
.
I
.
.
I
.
.
X
I
.
-0.600
+
I
+
:::::::+:::::::::::::::+:::::::::::::::+::::::::::X::::+
-0.80
0.00
0.80
1.60
Dimension 1
Final parameter estimates.
NCOM
45
CFL
1 2
1 -0.738
0.095
2 -0.447 -0.337
3
0.497 0.077
4 -0.153 0.661
5 1.237 0.399
6 -1.132
0.609
7 -1.074 -0.571
8
1.445 0.035
9 1.325
-0.624
10 -0.960 -0.343
A
-0.04255
B
0.4019
WT
0.01248
STRS
0.003047
STRESS
=
3.04681E-03
Residuals
Subject Row Stimulus Column Stimulus
Residual
1
2
1 -0.0436
1
3
1 0.1230
1
3
2 -0.1422
1
4
1 -0.1318
1
4
2 -.0697
1
4
3 -0.0581
1
5
1 0.0950
1
5
2 0.0631
1
5
3 -0.0456
1
5
4 0.0639
1
6
1 -0.0742
1
6
2 0.1268
1
6
3 0.0681
1
6
4
0.1212
1
6
5 -0.0495
1
7
1 -0.0376
1
7
2 -0.0216
1
7
3 -0.0736
1
7
4
-0.0119
1
7
5 0.0464
1
7
6 0.0558
1
8
1 -0.1177
1
8
2 0.0169
1
8
3 0.0480
1
8
4 -0.0173
1
8
5 -0.0223
1
8
6 0.0178
1
8
7 -0.0047
1
9
1 -0.0185
1
9
2 0.0373
1
9
3 0.0872
1
9
4 0.0618
1
9
5 0.0335
1
9
6 -0.0913
1
9
7 0.0202
1
9
8 -0.0671
1
10
1 -0.0415
1
10
2 -0.0276
1
10
3 0.0869
1
10
4 0.1342
1
10
5 -0.1565
1
10
6 -0.0522
1
10
7 0.0179
1
10
8 0.0701
1
10
9
-0.0191
Residual Plot
0.160
:::::::+::::::::::::::+::::::::::::::+::::::::::::::+::::
.
.
.
.
.
X
.
.
X
.
0.120
+ X
X
+
.
.
.
.
.
X
.
.
X X
.
0.080
+
+
.
X
X
.
.
X X
X
.
.
X
.
.
X
X
.
0.040
+
X
+
R
.
X
.
e
.
X
.
s
X
X
X
.
i
.
.
d 0.000
+-------------------------------------------------------+
u
.
X
X
.
a
.
X
X
X
.
l
.X
X
.
s
.
.
-0.040 +XX
X
+
.
X
X
.
. X
X
.
.
X
.
. X
X
X
.
-0.080
+
+
.
X
.
.
.
.
.
.
-0.120
+
X
+
.
X
.
.
.
.
X
.
.
.
-0.160
:::::::+::::::::::::::+::::::::::::::+::X:::::::::::+::::
1
3
5
7
Predicted Distances
The second example involves three subjects assessment of the dissimilarity between rectangles that vary in height and width. An analysis is performed in k = 2 dimensions using the individual-differences scaling model. The estimated subject weights, wmk, indicate how each subject weight the dimensions. The raw data are given as follows:
USE MSIDV_INT
IMPLICIT NONE
INTEGER ICNVT, IPRINT, ISTRS, ITRANS, LDCFL, LDW, LNX, MODEL, &
NDIM, NSTIM, NSUB
PARAMETER (IPRINT=1, LDCFL=9, LDW=3, LNX=108, MODEL=1, NDIM=2, &
NSTIM=9, NSUB=3)
!
REAL A(NSUB), B(NSUB), CFL(LDCFL,NDIM), DIST(LNX), &
RESID(LNX), STRS(NSUB), STRSS, W(LDW,NDIM), WT(NSUB), &
X(36,NSUB)
!
DATA X/1.00, 1.41, 1.00, 2.24, 2.00, 1.00, 2.00, 2.24, 1.41, &
1.00, 2.24, 2.83, 2.24, 2.00, 1.00, 1.41, 2.24, 2.00, 2.24, &
1.41, 1.00, 1.00, 2.00, 2.24, 2.83, 2.24, 2.00, 1.00, 1.00, &
1.41, 1.00, 1.41, 1.00, 1.41, 1.00, 1.41, 1.50, 1.68, 0.75, &
2.12, 1.50, 0.75, 1.50, 2.12, 1.68, 1.50, 2.12, 3.35, 3.09, &
3.00, 1.50, 1.68, 3.09, 3.00, 3.09, 1.68, 0.75, 1.50, 3.00, &
3.09, 3.35, 2.12, 1.50, 0.75, 0.75, 1.68, 1.50, 1.68, 0.75, &
1.68, 1.50, 1.68, 0.50, 2.06, 2.00, 4.03, 4.00, 2.00, 4.00, &
4.03, 2.06, 0.50, 4.03, 4.12, 2.24, 1.00, 0.50, 2.06, 2.24, &
1.00, 2.24, 2.06, 2.00, 0.50, 1.00, 2.24, 4.12, 4.03, 4.00, &
2.00, 2.00, 2.06, 0.50, 2.06, 2.00, 2.06, 0.50, 2.06/
!
CALL MSIDV (NSTIM, X, NDIM, DIST, CFL, A, B, WT, STRS, &
STRSS, RESID, MODEL=MODEL, IPRINT=IPRINT, W=W)
!
END
Iteration history
Iter
Source Stress Stress
change Maximum Change
1 INIT
STRSS -0.3590E+03
1 CONFIG STRSS
-0.3590E+03 0.0000E+00
0.5708E-03
1 SUB WT STRSS
-0.3590E+03 0.0000E+00
0.1581E-02
1 LINES STRSS
-0.3590E+03 0.0000E+00
0.2727E-02
2 CONFIG STRSS
-0.3590E+03 0.0000E+00
0.1442E-06
2 SUB WT STRSS
-0.3590E+03 0.0000E+00
0.7165E-04
2 LINES STRSS
-0.3590E+03 0.0000E+00
0.7165E-04
Final parameter estimates.
NCOM
1 2 3
36
36
36
CFL
1
2
1 1.225 0.000
2
1.225 -1.225
3 0.000 -1.225
4
-1.225 -1.225
5 -1.225 0.000
6
-1.225 1.225
7 0.000
1.225
8 1.225 1.225
9
0.000 0.000
W
1 2
1 1.000
1.000
2 0.342 1.372
3
1.411
0.089
A
1
2
3
-0.002773 0.001941
0.000055
B
1
2 3
0.2229
0.2587
0.2963
WT
1
2 3
1000.0
1000.0
1000.0
STRS
1
2 3
-119.7 -119.7
-119.7
STRESS = -359.018
PHONE: 713.784.3131 FAX:713.781.9260 |