다차원척도법(MDS) 수업의 목표와 핵심 개념
다차원척도법의 학습목표부터 핵심 키워드, 학습 흐름까지 한눈에 살펴봅니다.
① 수업의 학습목표
- MDS의 목적과 차원 축소의 의미 이해
- 유사성·비유사성 및 유클리드 거리 이해
- Stress를 이용한 적합도 해석
- 계량적·비계량적 MDS 비교 및 기출문제 해결
② 핵심 키워드 8개와 쉬운 개념 풀이
| 핵심 키워드 | 핵심 의미 |
|---|---|
| MDS | 대상 간 관계를 거리 지도로 표현 |
| 차원 축소 | 복잡한 정보를 2D·3D로 표현 |
| 유사성 | 얼마나 비슷한가 |
| 비유사성 | 얼마나 다른가 |
| 유클리드 거리 | 점 사이의 직선거리 |
| Stress | 원래 거리와 표현된 거리의 불일치 |
| 계량적 MDS | 거리의 수치적 크기 중시 |
| 비계량적 MDS | 거리의 순서 중시 |
③ 학습 흐름 그림
다차원 데이터를 눈에 보이는 지도로!
다차원척도법(Multidimensional Scaling, MDS)은 대상 사이의 가까움·멀어짐을 2차원 또는 3차원에 표현하는 방법입니다.
기본 그림에서 확인할 내용
- MDS의 목적을 설명하고 군집분석과 구별한다.
- 유클리드 거리로 대상 간 비유사성을 계산한다.
- Stress 값이 지도 표현의 오차를 뜻함을 설명한다.
- 계량적·비계량적 MDS의 차이를 비교한다.
- 기출 60번을 이론적으로 근거를 들어 해결한다.
※ 본 교안의 개념도·표본 점 좌표는 이해를 위한 예시입니다. 실제 데이터에 대한 추정 결과와 구별해 제시합니다.
숨어 있는 패턴을 소수 차원의 공간에 표현
핵심 목적은 ① 관계 파악 ② 차원 축소 ③ 결과의 의미 해석입니다.
가격·거리·만족도·선호
“서로 얼마나 다른가?”
보이지 않던 관계 발견
목적을 설명하는 세 가지 말
복잡한 자료 속에 숨어 있는 상대적 위치 관계를 살펴봅니다.
여러 변수를 소수 차원으로 표현하되 정보 손실이 있을 수 있습니다.
배치 결과를 실제 현상에 비추어 해석하며, 축 이름이 자동으로 정해지는 것은 아닙니다.
MDS는 위치 관계, 군집분석은 그룹 구분
두 방법 모두 거리·유사성을 사용할 수 있지만, 답하려는 질문이 다릅니다.
① MDS · 어디에 놓일까?
② 군집분석 · 누가 한 그룹?
시험에서는 이렇게 구분
| 구분 | MDS | 군집분석 |
|---|---|---|
| 주요 목적 | 거리 구조를 저차원에 표현 | 서로 비슷한 집단 찾기 |
| 결과 | 점들의 위치·거리 지도 | 군집 라벨·덴드로그램 등 |
| 핵심 질문 | “A와 B는 얼마나 가까운가?” | “A와 B는 같은 그룹인가?” |
| 분석 후 | 위치와 패턴 해석 | 집단별 특징 비교 |
단, MDS 결과에서 점이 모여 보이는 패턴을 해석하거나 별도의 군집분석을 결합할 수는 있습니다.
유클리드 거리 = 점 사이의 직선거리
B점을 마우스나 손가락으로 움직여보세요. 수평·수직 차이와 직선거리가 함께 변합니다.
피타고라스 정리를 이용
두 대상의 변수값을 좌표로 보면, 각 변수의 차이 제곱을 더한 후 제곱근을 구합니다.
두 변수 이상일 때도 같은 원리로 각 차원의 차이 제곱을 합합니다. 변수의 단위·범위가 많이 다르면 표준화 여부를 검토해야 합니다.
Stress가 작을수록 원래 거리관계를 잘 표현
2차원에 억지로 줄이면 원래 거리와 표현된 거리가 달라질 수 있습니다. 그 차이를 나타내는 적합도 지표가 Stress입니다.
Stress 해석 기준 · 교재의 경험적 분류
완벽0~0.05
매우 좋음0.05~0.10
만족0.10~0.15
보통0.15 이상
나쁨
- Dᵢⱼ: 원래 데이터의 비유사성 또는 거리
- dᵢⱼ: 저차원 지도에서의 두 점 사이 거리
- 오차가 작다 → Stress가 작다 → 표현의 왜곡이 작다
※ 위 그래프는 개념 학습용이며 실제 MDS 최적화 결과가 아닙니다. Stress에는 Stress-1, S-Stress 등 여러 정의가 있고, 비계량 MDS에서는 단조변환된 비유사성을 사용하기도 합니다. 절단 기준도 자료·차원·표본 수에 따라 달라지므로 절대적 합격선은 아닙니다.
거리의 수치적 크기를 가능한 한 보존
구간척도·비율척도 기반의 비유사성 자료에서 활용하며, 실제 거리 차이를 공간 안에 표현하려 합니다.
교재 예시 · cmdscale()
- 데이터: 유럽 21개 도시 간 도로 거리(
eurodist) - 분석:
cmdscale()로 2차원 좌표 추정 - 그림: 좌표별 도시 이름을 표시
data(eurodist) # datasets 패키지 기본 데이터
loc <- cmdscale(eurodist, k = 2)
plot(loc[, 1], -loc[, 2], type = "n",
asp = 1, main = "Metric MDS",
xlab = "Dimension 1", ylab = "Dimension 2")
text(loc[, 1], -loc[, 2],
labels = rownames(loc), cex = 0.7)
abline(h = 0, v = 0, lty = 2)코드 검토: eurodist는 datasets 기본 데이터입니다. 원문에서 잘못 인식된 y <— 2] 등의 기호를 수정했습니다. 두 번째 좌표의 부호 반전은 화면의 상하 방향을 바꾸는 표시 선택이며 점 간 거리를 바꾸지 않습니다.
거리의 정확한 값보다 가까움의 순서를 보존
순서척도 또는 상대적인 유사성 순위가 핵심일 때 유용합니다.
AC = 5
BC = 9
AC = 3.6
BC = 4.2
이것이 비계량적 MDS의 핵심 직관입니다.
위 세 쌍의 숫자는 순위 비교용이며, 실제 2차원에서 구현한 좌표·모형 결과를 의미하지 않습니다.
교재 예시 · isoMDS()
- 데이터: 스위스 47개 지역 자료
swiss - 입력: 변수로부터 계산한 거리행렬
- 분석: 단조변환으로 비유사성의 순위를 보존하도록 배치
library(MASS) # isoMDS 함수
data(swiss) # datasets의 기본 데이터
swiss.x <- as.matrix(swiss[, -1])
swiss.dist <- dist(scale(swiss.x))
set.seed(42)
swiss.mds <- isoMDS(swiss.dist, k = 2)
plot(swiss.mds$points, type = "n",
main = "Nonmetric MDS")
text(swiss.mds$points,
labels = seq_len(nrow(swiss.x)), cex = 0.7)
abline(h = 0, v = 0, lty = 2)이 예시는 변수의 단위 차이를 완화하기 위해 scale()을 추가한 학습용 코드입니다. isoMDS는 MASS 패키지 함수이며, swiss 데이터 자체는 datasets에 속합니다.
가까운 점들의 거리를 더 민감하게 보존하려는 방법
Sammon 매핑은 작은 원래 거리에 더 큰 가중치를 주는 비선형 차원 축소 방법입니다.
교재 예시 · sammon()
- 원래 거리가 작은 관측치 쌍에서의 상대적인 오차를 특히 중요하게 반영합니다.
- 입력은
dist()형태의 거리 정보입니다. - isoMDS: 순서 보존 / sammon: 작은 거리 오차에 가중치를 둔 거리 보존
library(MASS)
data(swiss)
swiss.x <- as.matrix(swiss[, -1])
swiss.sammon <- sammon(
dist(scale(swiss.x)), k = 2)
plot(swiss.sammon$points, type = "n",
main = "Sammon Mapping")
text(swiss.sammon$points,
labels = seq_len(nrow(swiss.x)), cex = 0.7)
abline(h = 0, v = 0, lty = 2)교재에서 isoMDS와 함께 소개되더라도 Sammon 매핑을 단순히 “순위만 보존하는 비계량적 MDS”로 외우면 부정확합니다.
세 방법의 차이를 한눈에
가까운 점은 비교적 비슷하고, 먼 점은 상대적으로 다릅니다.
서로 가깝게 모여 있거나 양극에 놓인 대상이 있는지 살핍니다.
저차원 표현을 얼마나 믿고 해석할지 검토합니다.
축 방향·회전·반전 자체에 고정 의미를 부여하지 않습니다.
계량적 MDS vs 비계량적 MDS vs Sammon
| 방법 | 무엇을 중시? | 대표 함수 |
|---|---|---|
| 계량적 Metric | 거리를 수치적으로 재현 | cmdscale() |
| 비계량적 Nonmetric | 거리/비유사성의 순서를 보존 | isoMDS() |
| Sammon Mapping | 작은 원래 거리의 상대적 왜곡을 중시 | sammon() |
계량적 = 값 / 비계량적 = 순위 / Sammon = 작은 거리 중시
교재 기준 대표 함수를 제시한 것으로, 계량적 MDS의 모든 목적함수가 cmdscale()과 동일한 것은 아닙니다.
60번 문제를 풀기 전에 그림부터 이해
유사성·비유사성
2D·3D 공간 배치
잠재 패턴 해석
관계와 구조를 알아낸다.
점들의 위치 관계로 나타낸다.
복잡한 관계를 단순한 지도로 나타낸다.
대상을 집단별로 나누는 것에 초점
문제 60 · 가장 적절하지 않은 것은?
정답을 누르면 각 보기의 근거를 함께 확인할 수 있습니다.
출처: 제공된 교재 p. 331, 36회 기출 60번. 문항의 취지를 유지했습니다.
정답은 ④ 데이터의 그룹화를 목적으로 사용한다
MDS의 결과에서 그룹처럼 보이는 영역이 생길 수는 있어도, 주요 분석 목표는 공간적 관계 표현입니다.
잠재 구조 발견과 저차원 기하학적 표현은 MDS의 대표 목적입니다.
유사성·비유사성으로 대상의 상대적 위치를 만들어 차원을 축소합니다.
대상을 여러 그룹으로 분류하는 일은 군집분석의 주된 목적입니다.
시험 직전 확인하는 6가지 핵심
개념→계산→적합도→유형→해석→문제풀이 순서로 복습합니다.
군집분석 = 그룹 나누기
수업 마무리 질문
Q1. 두 여행지를 비교했을 때 MDS 지도에서 거리가 가까우면 어떤 뜻인가요?
Q2. Stress가 커지면 결과 해석에서 어떤 점에 주의해야 하나요?
Q3. 거리 3km와 9km의 ‘크기’에 관심을 두는 방식과, ‘누가 더 가깝냐’에 관심을 두는 방식은 어떻게 다를까요?