Классическое многомерное масштабирование
Y = cmdscale(D)
[Y,e] = cmdscale(D)
[Y,e] = cmdscale(D,p)
Y = cmdscale(D) принимает n-by- n матрица расстояний D, и возвращает n-by- p матрица строения Y. Строки Y являются координатами n точки в p-мерное пространство для некоторых p < n. Когда D является евклидовой матрицей расстояний, расстояния между этими точками заданы как D. p - размерность наименьшего пространства, в котором n точки, межточечные расстояния которых заданы D может быть встроен.
[Y,e] = cmdscale(D) также возвращает собственные значения Y*Y'. Когда D Евклид, первый p элементы e положительны, остальные равны нулю. Если первый k элементы e намного больше остальных (n-k), тогда можно использовать первый k столбцы Y как k-мерные точки, межточечные расстояния которых аппроксимируют D. Это может обеспечить полезное уменьшение размерности для визуализации, например, для k = 2.
D не обязательно быть евклидовой матрицей расстояний. Если это неевклидова или более общая матрица различий, то некоторые элементы e отрицательные, и cmdscale выбирает p как количество положительных собственных значений. В этом случае сокращение до p или меньшее количество размерностей обеспечивает разумное приближение к D только если отрицательные элементы e малы по величине.
[Y,e] = cmdscale(D,p) также принимает положительное целое число p от 1 до n. p задает размерность необходимого встраивания Y. Если a p размерное вложение возможно, тогда Y будет иметь размер n-by- p и e будет иметь размер p-by-1. Если только q размерное вложение с q < p возможно, тогда Y будет иметь размер n-by- q и e будет иметь размер p-by-1. Определение p может уменьшить вычислительную нагрузку при n очень большой.
Можно задать D как полная матрица расхождения, или в форме вектора верхнего треугольника, такой как выводится pdist. Полная матрица различий должна быть действительной и симметричной, и иметь нули вдоль диагональных и положительных элементов повсюду. Матрица неоднородности в форме верхнего треугольника должна иметь вещественные, положительные значения. Можно также задать D как полная матрица подобия, с таковыми по диагонали и всеми остальными элементами меньше единицы. cmdscale преобразует матрицу подобия в матрицу различия таким образом, чтобы расстояния между точками, возвращенными в Y равны или аппроксимированы sqrt(1-D). Чтобы использовать другое преобразование, вы должны преобразовать сходства перед вызовом cmdscale.
[1] Себер, Г. А. Ф. Многомерные наблюдения. Hoboken, NJ: John Wiley & Sons, Inc., 1984.
mdscale | pdist | procrustes