Классическое многомерное масштабирование
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