Słownik metodologiczny · Analizy wielowymiarowe

Skalowanie wielowymiarowe (MDS) – jak zamienić macierz odległości w mapę?

Skalowanie wielowymiarowe zamienia macierz odległości lub niepodobieństw w mapę obiektów. Pokazujemy MDS klasyczne i niemetryczne, stres Kruskala, przykład w R (cmdscale, isoMDS) i opis do pracy.

Strona główna / Słownik / Skalowanie wielowymiarowe (MDS)
W skrócie: Skalowanie wielowymiarowe (MDS) tworzy z macierzy odległości lub niepodobieństw mapę obiektów, zwykle w dwóch wymiarach. Klasyczne MDS zakłada odległości euklidesowe, a niemetryczne tylko ich kolejność; dopasowanie mierzy stres.

Co to jest skalowanie wielowymiarowe?

Skalowanie wielowymiarowe (ang. multidimensional scaling, MDS) to metoda, która z macierzy odległości lub niepodobieństw między obiektami tworzy mapę w małej liczbie wymiarów, zwykle dwóch. Punkty ustawia się tak, by odległości na mapie jak najlepiej odtwarzały odległości wejściowe. Danymi mogą być oceny podobieństwa bodźców albo odległości policzone z profili, np. euklidesowe, Mahalanobisa lub indeks Braya–Curtisa.

Klasyczne czy niemetryczne?

  • Klasyczne (metryczne) MDS Torgersona (1952) traktuje odległości jak euklidesowe i rozkłada przekształconą macierz na wartości własne. Dla odległości euklidesowych z danych liczbowych daje te same współrzędne co PCA. W R służy do tego cmdscale().
  • Niemetryczne MDS Kruskala (1964) zakłada tylko monotoniczny związek odległości na mapie z niepodobieństwami, więc liczy się ich kolejność. Dopasowanie mierzy stres: im mniejszy, tym lepiej. W R: MASS::isoMDS().

Kruskal (1964) opisał orientacyjnie stres .20 jako słaby, .10 jako zadowalający, .05 jako dobry, .025 jako doskonały, a 0 jako idealny. To reguły kciuka, nie testy.

Przykład

Zbiór eurodist w R zawiera odległości drogowe między 21 miastami Europy. Klasyczne MDS w dwóch wymiarach objęło 75.4% sumy modułów wartości własnych; 10 wartości własnych było ujemnych, bo odległości drogowe nie są euklidesowe. Mapa odtwarza geografię: Lizbona (−1935) i Ateny (2290) leżą daleko od siebie w pierwszym wymiarze, a Sztokholm (−1837) i Ateny (1799) – w drugim. Niemetryczne MDS w dwóch wymiarach dało stres .075, a w jednym – .288.

Jak opisać w pracy

Macierz odległości drogowych między 21 miastami poddano niemetrycznemu skalowaniu wielowymiarowemu (algorytm Kruskala, start z rozwiązania klasycznego). Rozwiązanie dwuwymiarowe miało stres .075, a jednowymiarowe .288, dlatego przyjęto dwa wymiary.

Na co uważać

  • Osie nie mają ustalonego kierunku. Mapę można obracać i odbijać, a wymiary nazywa się dopiero po obejrzeniu układu punktów.
  • Bliskość to nie grupa. Skupiska widoczne na mapie sprawdź analizą skupień na tej samej macierzy.
  • Stres zależy od liczby obiektów i wymiarów. Porównuj rozwiązania o różnej liczbie wymiarów na tych samych danych.
  • Tabela krzyżowa to inny przypadek. Dla liczebności stosuje się analizę korespondencji, a gdy chodzi o wymiary zmiennych, a nie obiektów – PCA, jak we wpisie PCA czy analiza czynnikowa.
Przykład reprodukowalny

Skalowanie wielowymiarowe w R

Kod wykonuje klasyczne MDS funkcją cmdscale() i niemetryczne MDS funkcją MASS::isoMDS() na wbudowanej macierzy odległości eurodist.

Mapa 21 miast Europy z odległości drogowych

Dane wejściowe: macierz odległości drogowych (km) między 21 miastami Europy – zbiór eurodist z bazowego R.

Co odczytać: udział dwóch wymiarów w sumie wartości własnych (GOF: względem modułów i względem dodatnich wartości), współrzędne czterech miast i stres niemetrycznego MDS w dwóch i w jednym wymiarze.

R
suppressPackageStartupMessages(library(MASS))
set.seed(3431)
d <- eurodist                                    # odległości drogowe (km) między 21 miastami Europy
kl <- cmdscale(d, k = 2, eig = TRUE)             # klasyczne MDS (Torgerson)
round(kl$GOF, 3)                                 # udział dwóch wymiarów w sumie wartości własnych
round(kl$points[c("Athens", "Lisbon", "Stockholm", "Vienna"), ], 0)
nm <- isoMDS(d, k = 2, trace = FALSE)            # niemetryczne MDS (Kruskal), start z cmdscale
round(nm$stress / 100, 3)                        # stres Kruskala (isoMDS podaje go w procentach)
nm1 <- isoMDS(d, k = 1, trace = FALSE)
round(nm1$stress / 100, 3)                       # to samo w jednym wymiarze
Wynik w R
[1] 0.754 0.868
           [,1]  [,2]
Athens     2290  1799
Lisbon    -1935    49
Stockholm   839 -1837
Vienna      911   206
[1] 0.075
[1] 0.288

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet MASS). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. MASS (wersja 7.3-65): Venables, W. N., & Ripley, B. D. (2002). Modern applied statistics with S (4th ed.). Springer. https://doi.org/10.1007/978-0-387-21706-2

Najczęstsze pytania

Jaki stres w skalowaniu wielowymiarowym jest akceptowalny?

Kruskal (1964) opisał .20 jako słaby, .10 jako zadowalający, .05 jako dobry i .025 jako doskonały. To orientacyjne reguły; porównuj też rozwiązania o różnej liczbie wymiarów.

Czym skalowanie wielowymiarowe różni się od PCA?

PCA zaczyna od zmiennych i ich korelacji, a MDS od macierzy odległości między obiektami. Klasyczne MDS na odległościach euklidesowych daje te same współrzędne co PCA.

Ile wymiarów wybrać w skalowaniu wielowymiarowym?

Policz rozwiązania dla jednego, dwóch i trzech wymiarów i porównaj stres. Wybierz najmniej wymiarów, przy których stres jest niski, a mapa daje się zinterpretować.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Kruskal, J. B. (1964). Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis. Psychometrika, 29(1), 1–27. https://doi.org/10.1007/bf02289565
  2. Torgerson, W. S. (1952). Multidimensional scaling: I. Theory and method. Psychometrika, 17(4), 401–419. https://doi.org/10.1007/bf02288916

Cytowania BibTeX

@article{kruskal1964multidimensional, author={Kruskal, Joseph B.}, title={{Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis}}, journal={Psychometrika}, year={1964}, volume={29}, number={1}, pages={1--27}, doi={10.1007/bf02289565}}
@article{torgerson1952multidimensional, author={Torgerson, Warren S.}, title={{Multidimensional scaling: I. Theory and method}}, journal={Psychometrika}, year={1952}, volume={17}, number={4}, pages={401--419}, doi={10.1007/bf02288916}}
R