170 likes | 457 Views
Proximity matrices and scaling. Purpose of scaling Similarities and dissimilarities Classical Euclidean scaling Non-Euclidean scaling Horseshoe effect Non-Metric Scaling Example. Proximity matrices.
E N D
Proximity matrices and scaling • Purpose of scaling • Similarities and dissimilarities • Classical Euclidean scaling • Non-Euclidean scaling • Horseshoe effect • Non-Metric Scaling • Example
Proximity matrices There are many situations when dissimilarities (or similarities) between individuals are measured. Purpose of multidimensional scaling is to find relative orientation (in some sense) of the individuals. If dissimilarities are ordinary Euclidean distances then purpose could be finding relative coordinates of the individuals. Scaling is also used for seriation purposes. E.g. in archeology, history. In this case only one dimensional configuration is sought. In general dissimilarity matrix is called proximity matrix. I.e. how close are individuals to each other. Euclidean distances are simplest of all and they are relatively easy to work with. Distances are defined as: A matrix with the elements of square of these distances is denoted as D. This distance matrix is said to be Euclidean if n points corresponding to this matrix can be embedded in an Euclidean space so that distances between the points in the Euclidean space is equal to the corresponding elements of the matrix (it can be modified to add weights). Using orthogonal coordinate system Euclidean distances can be written. If distances correspond to Euclidean distances then there is an elegant solution to the problem of finding configuration from the distance matrix.
Similarity and dissimilarity There are situations when instead of distances (similarities) between the object similarities are given. Similarities can be defined as a matrix with elements with conditions: For example correlation matrix can be considered as a similarity matrix. We can convert dissimilarities (distances) to similarities using: This matrix obeys the conditions required by the metric distances. If similarity matrix C is positive semidefinite then derived distance matrix is Euclidean.
Metric scaling Suppose that we have an nxn matrix of square of pairwise distances that are Euclidean. Denote this matrix and its elements with D and dij2. We want to find n points in k dimensional Euclidean space so that distances between these points are equal to the elements of D. Denote nxk matrix of points by X. Let us define Q=XXT. Then for distances and elements of Q we can write: Then the following relation between elements of D and Q can be written: We can find the positions of the points if we assume that centroid of the elements of X is 0, i.e. Then we can write the following relations: Here we used the fact that centroid of the points is 0. Furthermore we can write: Using these identities we can express the diagonal elements of the Q using the elements of D:
Metric scaling: Cont. Let us denote matrix of diagonal elements of Q by E=diag(q11,q22,,,,qnn). Then relation between elements of D and Q could be written in a matrix form: If we use the relation between diagonal terms of Q and elements of D we can write: Then we can write relation between Q and D: Thus we see that if we have the matrix of dissimilarities D we can find matrix Q using the relation: Since D is Euclidean then matrix Q is positive semi-definite and symmetric. Then we can use spectral decomposition of Q (decomposition using eigenvalues and eigenvectors): If Q is positive semi-definite then all eigenvalues are non-negative. We can write (recall the form of the Q=XXT): This gives matrix of n coordinates (principal coordinates). Of course this configuration is not unique with respect to rotation and inversion.
Metric scaling: Cont. Algorithm for metric scaling (finding principal coordinates) can be written as follows: • Given a matrix of dissimilarities form the matrix with elements of –1/2dij2 • Subtract from each element of this matrix averages of raw and column where it is located. Add to each element the total average. Denote it by Q • Find the eigenvalues and corresponding eigenvectors of Q. The dimensionality of the representation corresponds to the number of non-zero eigenvalues of this matrix. • Normalise eigenvectors so that:
Dimensionality “Goodness of fit” of k dimensional configuration to the original matrix of dissimilarity is measured using “per cent trace” defined as: Note that principal coordinate and principal component analysis are similar in some sense. If X is nxp data matrix and we have corresponding nxn dissimilarity matrix calculated from this, then principal component scores coincide with the coordinates calculated using scaling. It might happen that dissimilarity matrix is not Euclidean. Then some of the calculated eigenvalues may become negative and the coordinate representation may include imaginary coordinates. If these eigenvalues are small then they can be ignored and set to 0. If some eigenvalues are negative then goodness of fit can be modified in two different ways:
Horseshoe effect In many situations when objects are close to each other then distances are measured more accurately. Other distances are usually measured less accurately. As a result scaling techniques usual pulls objects closer to each other that are in reality far from each other. Relative positions of objects close to each other are defined better than for object far from each other. This is called horseshoe effect. This effect is present in many dimension reduction techniques also. Example: Define a similarity matrix 51x51 between objects using: Then the distance matrix is derived from this matrix using the relation given above. For this matrix the result of metric scaling is:
Other types of scaling Classical scaling is one of the techniques used to find configuration from the dissimilarity matrix. There are several other techniques. Although they do not give direct algebraic solution, with modern computers they can be implemented and used. One of these techniques minimises the function: Where -s are calculated distances. There is no algebraic solution. In this case 1) an initial dimension is chosen, 2) starting configuration is postulated and 3) this function is minimisied. If dimension is changed then whole procedure is repeated again. Then values of the function at the minimum for different dimensions can be used for scree-plot to decide dimensionality. One of the techniques uses the following modification of the calculated distances: Then it used in two types of functions. First of them is the standardised residual sum of squares: Another one is the modified version of this: Both these functions must be minimised iteratively using one of the optimisation techniques.
Non-metric scaling Although Euclidean and metric scaling can be applied for wide range of the cases there might be cases then requirement of these techniques might not be satisfied. For example: • Dissimilarity of the objects may not be true distance but only order of similarity. I.e. we can only say that for a certain objects we should have (M=1/2 n(n-1)) • Measurements may have such large errors. We can be sure only on the order of distances • When we use metric scaling we assume that true configuration exists and what we measure is an approximation for interpoint distances for this configurations. It may happen that we measure some function of the interpoint distances. These cases are usually handled using non-metric scaling. One of the techniques is to use the function STRESS with constraints: This technique is called non-metric to distinguish it from the previously described techniques. If the observed distances are equal then usual technique is to exclude them from constraints. Non-metric scaling techniques can handle missing distances simply by ignoring them.
Example: U.K. distances Here is a table of some of the intercity distances: Bristol Cardiff Dover Exeter Hull Leeds London Bristol 0 Cardiff 47 0 Dover 210 245 0 Exeter 84 121 250 0 Hull 231 251 266 305 0 Leeds 220 240 271 294 61 0 London 120 155 80 200 218 199 0
Example: [,1] [,2] [1,] -66.96555 42.04003 [2,] -76.31011 67.37324 [3,] -21.27937 -162.65703 [4,] -136.59765 58.13424 [5,] 163.00725 31.67896 [6,] 152.04793 40.75884 [7,] -13.90250 -77.32827 Result of the metric scaling. Two dimensional coordinates:
Example: Plot Two dimensional plot gives. In this case we see that it gives representation of the UK map.
R commands for scaling Classical metric scaling is in the library mva library(mva) cc = cmdscale(d, k = 2, eig = FALSE, add = FALSE, x.ret = FALSE) d is a distance matrix, k is the number of the dimensions required. You can plot using plot(cc) or using the following set of commands: x = cc[,1] (or x = cc$points[,1]) y = cc[,2] (or y = cc$points[,2]) plot(x,y,main(“Metric scaling results”) text(x,y,names(cc)) It is a good idea to have a look if number of the dimension requested is sufficient. It can be done by requesting eigenvalues and comparing them.
R commands for scaling Non-metric scaling can be performed using isoMDS from the library(MASS) library(MASS) ?isoMDS then you can use cc1 = isoMDS(a,cmdscale(a,k),k=2). The second argument is for the initial configuration. Then we can plot using x = cc1$points[,1] y = cc1$points[,2] plot(x,y,main=“isoMDS scaling”) text(x,y,names(a)) Another non-metric scaling command is sammon(a,cmdscale(a,k),k=2) If you have a data matrix X then you can calculate distances using the command dist dist(X,method=“euclidean”) then the result of this command can be used for analysis with cmdscale, isoMDS or sammon.
References • Krzanowski WJ and Marriout FHC. (1994) Multivatiate analysis. Kendall’s library of statistics • Mardia, K.V. Kent, J.T. and Bibby, J.M. (2003) Multivariate analysis