Классическое многомерное масштабирование
Y = cmdscale(D)
[Y,e] = cmdscale(D)
[Y,e] = cmdscale(D,p)
Y = cmdscale(D) принимает nоколо-n матрица расстояний Dи возвращает nоколо-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. Если p возможно вложение размеров, то Y будет иметь размер nоколо-p и e будет иметь размер p-по-1. Если только q размерное вложение с q < p возможно, то Y будет иметь размер nоколо-q и e будет иметь размер p-по-1. Определение p может уменьшить вычислительную нагрузку, когда n очень большой.
Можно указать D либо как матрица полной разнородности, либо в форме вектора верхнего треугольника, например, как выводится pdist. Матрица полной разнородности должна быть действительной и симметричной и иметь нули по диагонали и положительные элементы везде. Матрица разнородности в форме верхнего треугольника должна иметь вещественные положительные записи. Можно также указать D в качестве полной матрицы подобия, с элементами по диагонали и всеми другими элементами меньше единицы. cmdscale преобразует матрицу подобия в матрицу различия таким образом, что расстояния между точками, возвращенными в Y равные или приблизительные sqrt(1-D). Чтобы использовать другое преобразование, необходимо преобразовать подобия перед вызовом cmdscale.
[1] Себер, Г. А. Ф. Многомерные наблюдения. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1984.
mdscale | pdist | procrustes