5 분 소요

다차원척도법

다차원척도법(MUltidimensional Scaling)

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

다차원척도법 목적

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

다차원척도법 방법

  • 개체들의 거리 계산에는 유클리드 거리행렬 활용
  • 관측대상들의 상대적 거리의 정확도를 높이기 위해 적합 정도를 스트레스 값(Stress Value)로 나타냄
  • 각 개체들을 공간상에 표현하기 위한 방법은 부적합도 기준으로 STRESS나 S-STRESS를 사용
  • 최적모형의 적합은 부적합도를 최소로하는 반복알고리즘 이용
  • STRESS 적합도 수준 M은 개체들을 공간상에 표현하기 위한 방법으로 STRESS나 S-STRESS를 부적합도 기준으로 사용
  • 최적모형의 적합은 부적합도를 최소로 하는 방법으로 일정 수준이하로 될 때까지 반복해서 수행
STRESS 적합도 수준
0 완벽
0.05 이내 매우 좋은
0.05~0.10 만족
0.10~0.15 보통
0.15 이상 나쁨

다차원척도법 종류

  • 계량적 MDS(Metric MDS)
    • 데이터가 구간척도나 비율척도인 경우 활용
    • N개의 케이스에 대해서 p개의 특성변수가 있는 경우, 각 개체들간의 유클리드 거리행렬을 계산하고 개체들간의 비유사성을 공간상에 표현

아래는 cmdscale 사례이다.

library(MASS)
loc <- cmdscale(eurodist)
x<-loc[,1]
y<--loc[,2]
plot(x,y,type="n",asp=1,main="Metric MDS")
text(x,y,rownames(loc),cex=0.7)
abline(v=0,h=0,lty=2,lwd=0.5)

Rplot

  • 비계량적 MDS(nonmetric MDS)
    • 데이터가 순서척도인 경우 활용
    • 개체들간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환하여 거리를 생성한 후 적용

아래는 isoMDS 사례이다.

library(MASS)
data(swiss)
swiss.x <- as.matrix(swiss[,-1]) # 1행빼고 넣기
swiss.dist <- dist(swiss.x) # dist는 행간 거리 구하기
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,h=0,lty=2,lwd=0.5)

Rplot01

아래는 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)

Rplot02

주성분 분석

주성분분석(Principal Component Analysis)

  • 여러 변수의 변량을 ‘주성분’이라는 서로 상관성이 높은 변수들의 선형 결합으로 만들어 기존의 상관성이 높은 변수들을 요약, 축소하는 기법
  • 첫 번째 주성분으로 전체 변동을 가장 많이 설명할 수 있도록 하고, 두 번째 주성분으로는 첫 번째 주성분과는 상관성이 없어서 첫 번째 주성분이 설명하지 못하는 나머지 변동을 정보의 손실 없이 가장 많이 설명할 수 있도록 변수들의 선형조합 만듬

주성분분석의 목적

  • 여러 변수들 간에 내재하는 상관관계, 연관성을 이용해 소수의 주성분으로 차원을 축소하여 데이터를 이해하기 쉽고 관리하기 쉽게해준다
  • 다중공선성이 존재하는 경우, 상관성이 없는(적은) 주성분으로 변수들을 축소하여 모형 개발에 활용
  • 회귀분석 등의 모형 개발시 입력변수들간의 상관관계가 높은 다중공선성(multicollinearity)이 존재할 경우 모형이 잘못 만들어짐
  • 연관성이 높은 변수를 주성분분석을 통해 차원 축소 후 군집분석을 수행하면 군집화 결과와 연산속도 개선
  • 다수의 센서데이터를 주성분분석으로 차원을 축소한 후에 시계열로 분포나 추세의 변화를 분석하면 기계의 고장 징후를 사전에 파악하는데 활용

주성분분석 vs 요인분석

  • 요인분석(Factor Analysis)
    • 등간척도(혹은 비율척도)로 측정한 두 개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법
  • 공통점
    • 모두 데이터를 축소하는데 활용
    • 원래 데이터를 활용해서 몇 개의 새로운 변수들을 만들 수 있음
  • 차이점
    1. 생성된 변수의 수
      • 요인분석은 몇 개라고 지정 없이 만들 수 있다.
      • 주성분분석은 제1주성분, 제2주성분, 제3주성분 정도로 활용
    2. 생성된 변수의 이름
      • 요인분석은 분석자가 요인의 이름을 명명
      • 주성분분석은 제1주성분, 제2주성분 등으로 표현
    3. 생성된 변수들 간의 관계
      • 요인분석은 새 변수들은 기본적으로 대등한관계, ‘어떤 것이 더 중요하다’라는 의미없음. 단, 분류/예측 다음 단계로 사용된다면 그 때 중요성의 의미가 부여
      • 주성분분석은 제1주성분이 가장 중요하고, 그 다음 제2주성분이 중요하게 취급
    4. 분석 방법의 의미
      • 요인분석은 목표변수를 고려하지 않고 그냥 데이터가 주어지면 변수들을 비슷한 성격들로 묶어서 새로운 [잠재]변수들을 만듬
      • 주성분분석은 목표 변수를 고려하여 목표 변수를 잘 예측/분류하기 위하여 원래 변수들의 선형 결합으로 이루어진 몇 개의 주성분(변수)들을 찾아내게 됨

주성분의 선택법

  • 주성분분석 결과에서 누적기여율(cumulative proportion)이 85%이상이면 주성분의 수로 결정할 수 있다
  • scree plot을 활용하여 고유값(eigenvalue)이 수평을 유지하기 전단계로 주성분의 수를 선택한다

주성분 분석 사례

USArrests 자료

  • 1973년 미국 50개주의 100,000명의 인구 당 체포된 세 가지 강력범죄수(assault, murder, rape)와 각 주마다 도시에 거주하는 인구의 비율(%)로 구성
  • 변수들 간의 척도의 차이가 상단히 크기 때문에 상관행렬을 사용하여 분석
  • 특이치 분해를 사용하는 경우 자료 행렬의 각 변수의 평균과 제곱의 합이 1로 표준화

4개의 변수들 간의 산점도

library(datasets)
data(USArrests)
pairs(USArrests, panel = panel.smooth, main = "USArrests data")

아래 결과를 보아 Murder와 UrbanPop비율간의 관련성이 작아 보인다

Rplot03

summary

US.prin <- princomp(USArrests, cor = TRUE)
summary(US.prin)
screeplot(US.prin, npcs=4, type = "lines")

아래 summary결과를 보면 제1주성분과 제2주성분까지의 누적분산비율은 대략 86.8%로 2개의 주성분 변수를 활용하여 전체 데이터의 86.6%를 설명할 수 있다

> summary(US.prin)
Importance of components:
                          Comp.1    Comp.2    Comp.3     Comp.4
Standard deviation     1.5748783 0.9948694 0.5971291 0.41644938
Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752
Cumulative Proportion  0.6200604 0.8675017 0.9566425 1.00000000

Rplot04

loading

  • 네 개의 변수가 각 주성분 Comp.1-Comp.4까지 기여하는 가중치가 제시
  • 제1주성분에서는 네 개의 변수가 평균적으로 기여
  • 제2주성분에서는 Murder, Asaalut와 UrbanPop, Rape의 계수의 부호가 서로 다르다 ```r

    loadings(US.prin)

Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Murder 0.536 0.418 0.341 0.649 Assault 0.583 0.188 0.268 -0.743 UrbanPop 0.278 -0.873 0.378 0.134 Rape 0.543 -0.167 -0.818

           Comp.1 Comp.2 Comp.3 Comp.4 SS loadings      1.00   1.00   1.00   1.00 Proportion Var   0.25   0.25   0.25   0.25 Cumulative Var   0.25   0.50   0.75   1.00 ``` ### Scores 각 주성분 Comp.1-Comp.4의 선형식을 통해 각 지역별로 얻은 결과를 계산  
> US.prin$scores
                    Comp.1      Comp.2      Comp.3       Comp.4
Alabama         0.98556588  1.13339238  0.44426879  0.156267145
Alaska          1.95013775  1.07321326 -2.04000333 -0.438583440
Arizona         1.76316354 -0.74595678 -0.05478082 -0.834652924
Arkansas       -0.14142029  1.11979678 -0.11457369 -0.182810896
California      2.52398013 -1.54293399 -0.59855680 -0.341996478
Colorado        1.51456286 -0.98755509 -1.09500699  0.001464887
Connecticut    -1.35864746 -1.08892789  0.64325757 -0.118469414
Delaware        0.04770931 -0.32535892  0.71863294 -0.881977637
Florida         3.01304227  0.03922851  0.57682949 -0.096284752
Georgia         1.63928304  1.27894240  0.34246008  1.076796812
Hawaii         -0.91265715 -1.57046001 -0.05078189  0.902806864
Idaho          -1.63979985  0.21097292 -0.25980134 -0.499104101
Illinois        1.37891072 -0.68184119  0.67749564 -0.122021292
Indiana        -0.50546136 -0.15156254 -0.22805484  0.424665700
Iowa           -2.25364607 -0.10405407 -0.16456432  0.017555916
Kansas         -0.79688112 -0.27016470 -0.02555331  0.206496428
Kentucky       -0.75085907  0.95844029  0.02836942  0.670556671
Louisiana       1.56481798  0.87105466  0.78348036  0.454728038
Maine          -2.39682949  0.37639158  0.06568239 -0.330459817
Maryland        1.76336939  0.42765519  0.15725013 -0.559069521
Massachusetts  -0.48616629 -1.47449650  0.60949748 -0.179598963
Michigan        2.10844115 -0.15539682 -0.38486858  0.102372019
Minnesota      -1.69268181 -0.63226125 -0.15307043  0.067316885
Mississippi     0.99649446  2.39379599  0.74080840  0.215508013
Missouri        0.69678733 -0.26335479 -0.37744383  0.225824461
Montana        -1.18545191  0.53687437 -0.24688932  0.123742227
Nebraska       -1.26563654 -0.19395373 -0.17557391  0.015892888
Nevada          2.87439454 -0.77560020 -1.16338049  0.314515476
New Hampshire  -2.38391541 -0.01808229 -0.03685539 -0.033137338
New Jersey      0.18156611 -1.44950571  0.76445355  0.243382700
New Mexico      1.98002375  0.14284878 -0.18369218 -0.339533597
New York        1.68257738 -0.82318414  0.64307509 -0.013484369
North Carolina  1.12337861  2.22800338  0.86357179 -0.954381667
North Dakota   -2.99222562  0.59911882 -0.30127728 -0.253987327
Ohio           -0.22596542 -0.74223824  0.03113912  0.473915911
Oklahoma       -0.31178286 -0.28785421  0.01530979  0.010332321
Oregon          0.05912208 -0.54141145 -0.93983298 -0.237780688
Pennsylvania   -0.88841582 -0.57110035  0.40062871  0.359061124
Rhode Island   -0.86377206 -1.49197842  1.36994570 -0.613569430
South Carolina  1.32072380  1.93340466  0.30053779 -0.131466685
South Dakota   -1.98777484  0.82334324 -0.38929333 -0.109571764
Tennessee       0.99974168  0.86025130 -0.18808295  0.652864291
Texas           1.35513821 -0.41248082  0.49206886  0.643195491
Utah           -0.55056526 -1.47150461 -0.29372804 -0.082314047
Vermont        -2.80141174  1.40228806 -0.84126309 -0.144889914
Virginia       -0.09633491  0.19973529 -0.01171254  0.211370813
Washington     -0.21690338 -0.97012418 -0.62487094 -0.220847793
West Virginia  -2.10858541  1.42484670 -0.10477467  0.131908831
Wisconsin      -2.07971417 -0.61126862  0.13886500  0.184103743
Wyoming        -0.62942666  0.32101297  0.24065923 -0.166651801

제 1-2주성분에 의한 행렬도

arrests.pca <- prcomp(USArrests, center = TRUE, scale = TRUE)
biplot(arrests.pca, scale = 0)

화면 캡처 2021-10-28 112743

  • 조지아, 메릴랜드, 뉴 멕시코 등은 폭행과 살인의 비율이 상대적으로 높은 지역
  • 미시간, 텍사스 등은 강간의 비율이 높은 지역
  • 콜로라도, 캘리포니아, 뉴저지 등은 도시에 거주하는 인구의 비율이 높은 지역
  • 아이다호, 뉴 햄프셔, 아이오와 등의 도시들은 도시에 거주하는 인구의 비율이 상대적으로 낮으면서 3대 강력범죄도 낮음

태그:

카테고리:

업데이트:

댓글남기기