01 다차원 척도법(Multidimensional Scaling)
-객체간 근접성(Prximity)을 시각화하는 통계기법 MDS라고 줄여 부름.
-군집분석과 같이 개체들을 대상으로 변수들을 측정한 후에 개체들 사이의 유사성/ 비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 분석방법 (쉽게 비슷한 개체들끼리 모아서 2차원 그래프로 표현해주는것)
-개체들을 2차원 또는 3차원 공간상에 점으로 표현하는 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법
-입력데이터는 케이스 간의 유사도(similarity)를 측정한 거리 데이터이며, 출력 결과는 케이스들이 기하학적 공간상에 배치된 그래프
- 기하학적 공간상에 배치된 케이스 간의 거리는 유사도의 크기를 나타냄(즉 유사한 케이스들은 서로 가까이 위치하도록 배치, 상이한 케이스들은 멀리 떨어져 있도록 배치)
02 다차원 척도법의 목적
- 데이터 속에 잠재되어 있는 패턴 또는 구조를 찾아낸다.
- 그 구조를 소수 차원의 공간에 기하학적으로 표현한다.
- 데이터 축소(Data Reduction)의 목적으로 다차원척도법을 이용한다. 즉, 데이터에 포함되는 정보를 끄집어내기 위해 다차원척도법을 탐색수단으로써 사용한다.
- 다차원척도법에 의해서 얻은 결과를, 데이터가 만들어진 현상이나 과정에 고유의 구조로서 의미를 부여한다.
03 다차원 척도법의 방법
03_1 계량적MDS
데이터가 구간척도나 비율척도인 경우 활용한다.
<R 프로그램 활용 cmdscale 사례 >
MASS package의 eurodist 자료를 이용합니다.
유럽의 21개 도시들 사이의 거리를 측정한다.cmdscale을 이용하여 2차원으로 21개 도시들을 매핑한다.
종축은 북쪽 도시를 상단에 표시하기 위해 부호를 바꾼다.
##설치하기
library(MASS)
loc <- cmdscale(eurodist) ##변수명지정
x <- loc[, 1]
y <- -loc[, 2]
plot(x, y, type="n", asp=1, main="Metrics MDS" ##그래프그리기
text(x, y, rownames(loc), cex=0.7)
abline(v=0 , h=0 , lty=2, lwd=0.5
유사도 측정 데이터가 있으면 그 데이터에 다차원 척도법을 구할 수 있다. 만약 거리 값이 없으면 먼저 데이터 사이의 거리를 계산해야 한다. 거리 계산에는 어떤 방법이 있나?
개체들의 거리 계산에는 유클리드 거리 행렬을 사용한다.
관측대상들의 상대적 거리의 정확도를 높이기 위해 적합 정도를(Stress Value)으로 나타낸다.
각 개체들을 공간상에 표현하기 위한 방법은 부적합도 기준으로 STRESS나 S-STRESS를 사용한다.
STRESS |
적합도 수준 |
0 |
완벽(perfect) |
0.05이내 |
매우좋은(excellent) |
0.05~0.10 |
만족(satisfactory) |
0.10~0.15 |
보통(acceptable, but doubt) |
0.15이상 |
나쁨(poor) |
<R프로그램에서의 사용>
str(USJudgeRatings)
USJudgeRatings.dis <- dist(USJudgeRatings)##거리측정
USJudgeRatings.mds <- cmdscale(USJudgeRatings.dis)
03_2 비계량적MDS(nonmetrix MDS)
비계량 데이터가 포함되어 있을때는 앞에서와 같은 거리 계산방법이 적합하지 않다.
데이터가 순서척도인 경우 활용한다. 개체들간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환(monotone transformation)하여 거리를 생성한 후 적용한다.
<MASS 패키지에 포함된 isoMDS함수 사례>
library(MASS)
data(swiss)
swiss.x <- as.matrix(swiss[,-1]
swiss.dist <- dist(swiss.x)
swiss.mds <- isoMDS(swiss.dist)
plot(swiss.mds$points, type="n")
text(swiss.mds$points, labels=as.character(1:nrow(swiss.x)))
abline(v=0, lty=2, lwd=0.5)