새소식

데이터분석준전문가(ADsP)/3과목

[통계분석] 다차원척도법

  • -

 

목차

    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)
    반응형
    Contents

    포스팅 주소를 복사했습니다

    이 글이 도움이 되었다면 공감 부탁드립니다.