본문 바로가기

ADsP(데이터 분석 준전문가)/개념정리

[3-4. 통계분석] 5.다차원척도법

728x90

5절 다차원척도법
학습목표
+다처원 척도법(MDS)
-다차원척도법(Multidimensional Scaling/MDS)은 군집분석과 같이 개체들을 대상으로 변수들을 측정한 후,
 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원또는 3차원 공간상에 점으로 표현하는 분석방법
+군집분석
-군집분석은 개체들 간의 비유사성을 이용하여 동일한 그룹들로 분류하는 것이 목적인 반면
-다차원척도법은 개체들의 비유사성을 이용하여 2차원 공간상에 점으로 표시하고 개체들 사이의 집단화를 시각적으로 표현하는 것을 목적
+주성분분석
-주성분분석(Principal Component Analysis,PCA)은 상관관계가 있는 변수들의 선형결합을 통해 변수를 축약하는 기법
-넓은 의미에서는 요약분석(Factor Analysis)의 한 종류로 활용되기도 함

1) 다차원척도법(Multidimensional Scaling/MDS)
- 객체간 근접성(Proximity)을 시각화하는 통계기법
- 군집분석과 같이 개체들을 대상으로 변수들을 측정한 후에 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 분석방법
- 개체들을 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석방법

2) 다차원척도법 목적
- 데이터 속에 잠재해 있는 패턴, 구조를 찾아낸다
- 그 구조를 소수차원의 공간에 기하학적으로 표현
- 데이터 축소의 목적으로 다차원척도법을 이용 > 데이터에 포함되는 정보를 끄집어내기 위해서 다차원척도법을 탐색수단으로써 사용
- 다차원척도법에 의해서 얻은 결과를, 데이터가 만들어진 현상이나 과정에 고유의 구조로서 의미를 부여 

3) 다차원척도법 방법
- 개체들의 거리 계산에는 유클리드 거리행렬(데이터 간의 상대적 위치를 나타내기 위한 기본적인 측정 방법)을 활용
- 관측대상들의 상대적 거리의 정확도를 높이기 위해 적합 정도를 스트레스 값(Stress Value)로 나타냄
- 개체들을 공간상에 표현하기 위한 방법 : 부적합도 기준으로 Stress나 S-Stress를 사용
- 최적모형의 적합은 부적합도를 최소로 하는 반복 알고리즘을 이용하며, 이 값이 일정 수준 이하가 될 때 최종적으로 적합된 모형으로 제시
- Stree와 적합도 수준 M은 개체들을 공간상에 표현하기 위한 방법으로 Stress나 S-Stress를 부적합도 기준으로 사용
- 최적모형의 적합은 부적합도를 최소로 하는 방법으로 일정 수준이하로 될 때까지 반복해서 수행
Stress     적합도 수준
0         완벽(Perfect)
0.05 이내 매우 좋은(Excellent)
0.05~0.10 만족(Satisfactory)
0.10~0.15 보통(Acceptable, but Doubt)
0.15 이상 나쁨(Poor)

4) 다차원척도법 종류
(1) 계량적 MDS(Metric MDS)
- 데이터가 구간척도나 비율척도인 경우 활용 (전통적인 다차원척도법)
- N개의 케이스에 대해서 p개의 특성변수가 있는 경우, 각 개체들간의 유클리드 거리행렬을 계산하고 개체들간의 비유사성S(거리제곱 행렬의 선형함수)를 공간상에 표현
- cmdscale 사례
MASS 패키지의 eurodist자료 이용
유럽 21개 도시들 사이의 거리 측정
cmdscale을 이용하여 2차원으로 21개의 도시들을 맵핑
종축은 북쪽 도시를 상단에 표시하기 위해 부호 변경

library(MASS)
loc<-cmdscale(eurodist)     #matrix 데이터 상의 값들을 거리로 생각하고 2차원상으로 나타냄
x<-loc[,1]
y<- -loc[,2]
plot(x,y,type="n",asp=1,main="Metric MDS")      #type="n" : 좌표를 찍지 않음, asp는 종횡의 비율
text(x,y,rownames(loc),cex=0.7)         #cex=0.7 : 폰트 사이즈
abline(v=0, h=0,lty=2,lwd=0.5)          #v는 수직선 위치, h는 수평선 위치, lty는 선 유형(2:dashed), lwd는 선 두께



(2) 비계량적 MDS(nonmetric MDS)
- 데이터가 순서척도인 경우 활용
- 개체들 간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환(Monotone Transformation) 하여 거리 생성 후 적용
- isoMDS 사례
MASS 패키지의 Swiss 자료를 이용하여 2차원으로 도시 맵핑
1888년경 스위스연방 중 47개의 불어권 주의 토양의 비옥도 지수와 여러 사회경제적 지표를 측정한 자료


library(MASS)
data(swiss)
swiss.x<-as.matrix(swiss[,-1])
swiss.dist<-dist(swiss.x) #유클리드 거리를 행렬 형태로 출력
swiss.mds<-isoMDS(swiss.dist)  #2차원상으로 cmdscale과 비슷
plot(swiss.mds$points, type="n")
text(swiss.mds$points, labels=as.character(1:nrow(swiss.x)))
abline(v=0, h=0, lty=2, lwd=0.5)



- sammon 사례
swiss.x<-as.matrix(swiss[,-1]) #첫번째 열 제외
swiss.sammon<-sammon(dist(swiss.x))
plot(swiss.sammon$points, type="n")
text(swiss.sammon$points, labels=as.character(1:nrow(swiss.x)))
abline(v=0, h=0, lty=2, lwd=0.5)

728x90