1 / 13

Multidimensional Scaling

Multidimensional Scaling. Producing a map of distances from proximities. Goals. Given a matrix of proximities produce a map (preferably two dimensional) Fit is measured by stress – how well the proximities (data) match the distances (map)

dino
Télécharger la présentation

Multidimensional Scaling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multidimensional Scaling Producing a map of distances from proximities

  2. Goals • Given a matrix of proximities produce a map (preferably two dimensional) • Fit is measured by stress – how well the proximities (data) match the distances (map) • Proximities can be metric (interval) or non-metric (ordinal)

  3. Procedure • Unlike principal components or correspondence analysis, there is no direct solution • A random configuration (map) is generated and gradually improved in a series of iterations • It is possible to be trapped in a local minimum

  4. Number of Dimensions • Usually fit 2 dimensions, but more are possible • As with cluster analysis or principal components, we can look at changes in stress as the number of dimensions is increased

  5. Distances between U.S. Cities

  6. > (Map <- isoMDS(as.matrix(USA))) # Print and save results initial value 3.464580 final value 3.464504 converged $points [,1] [,2] Albuquerque, NM 712.76792 471.745728 Atlanta, GA -711.36314 381.395065 Billings, MT 940.10158 -450.073277 Boston, MA -1279.59319 -506.804865 Chicago, IL -320.95509 -272.978491 Columbus, OH -629.47450 -162.220322 Dallas, TX 76.55510 565.929629 Denver, CO 640.00096 14.103036 Fargo, ND 265.19560 -584.525863 Kansas City, MO 10.53626 9.960602 Los Angeles, CA 1523.24283 619.728154 Miami, FL -1200.05304 867.120521 New Orleans, LA -422.83510 732.041469 New York, NY -1119.59507 -408.890719 Portland, ME -1370.52441 -564.153134 Salt Lake City, UT 1087.28692 -111.073569 Seattle, WA 1798.70636 -601.303964 $stress [1] 3.464504

  7. > str(Map) List of 2 $ points: num [1:17, 1:2] 713 -711 940 -1280 -321 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : chr [1:17] "Albuquerque, NM " ... .. ..$ : NULL $ stress: num 3.46 > windows(10, 5, record=TRUE) > plot(Map$points, xlim=c(-2000, 2000), type="n", asp=1) > text(Map$points, labels=dimnames(Map$points)[[1]], cex=.8) > plot(-Map$points, xlim=c(-2000, 2000), type="n", asp=1) > text(-Map$points, labels=dimnames(Map$points)[[1]], cex=.8) > plot(as.dist(USA), dist(Coord)) > abline(a=0, b=1)

  8. > (DarlMDS<- isoMDS(dist(DarlPoints[,6:9]))) initial value 9.569405 iter 5 value 7.807994 iter 10 value 6.842718 iter 15 value 6.479061 final value 6.429139 converged $points [,1] [,2] 41-0322 -0.4950437 -0.75340931 35-2921 -0.6560250 -0.07943608 36-3487 -0.2856965 -0.39100421 . . . . $stress [1] 6.429139 > plot(DarlMDS$points, xaxp=c(-3, 4, 7), yaxp=c(-1, 1, 2), las=1, pch=16, asp=1) > plot(dist(DarlPoints[,6:9]), dist(DarlMDS$points)) > abline(a=0, b=1)

More Related