고급통계모형/군집분석clerstering

군집분석1

학위논문통계 2014. 6. 24. 13:03

 

오늘은 군집분석(cluster analysis)에 대해서 이야기를 해보죠.

 

 

 

1) 군집분석이란

 

 

 

군집분석은 흔히 우리가 유유상종이라는 말을 하죠. 그 말 그대로 연구대상을 비슷한 것끼리 묶는 기법입니다. 사실 통계 기법이라고 하기 보다는 컴퓨터학과의 수치해석쪽에 더 가까운 느낌의 기법입니다.

 

 

 

여기서 연구대상은 사람일수로도 있고, 생물체일수도 있고, 아니면 상장회사일수도 있고, 아니면 자동차 같은 상품일수도 있습니다. 연구대상의 속성, 즉 변수죠, 이 변수들을 갖고 같은 집단으로 분류하고 각 집단에 이름을 붙힐 수가 있다는 것이죠.

 

 

 

생물학에서 분류학도 이쪽 분석의 응용이 될 수 있고요, 또 우리가 많이 들어 본 사상체질로 사람을 분류하는 것도 이 분야이고요, 또 경영학에서 타켓 마케팅을 하기 위해 소비자 집단을 몇 개의 집단으로 분류하는 것도 이 분석의 응용이 되겠습니다. 또 병원에서 진단한 여러 값을 보고 환자의 질병을 분류하는 것도 이 분석 개념이 되겠고요. 다양한 분야에 응용이 될 수가 있지만 논문에서는 실제로 잘 쓰이지 않습니다. 결과가 잘 나온다는 보장이 없거든요.

 

 

 

흔히들 경영에서 블루오션을 개척해라 이런 말들을 많이 하죠. 이 블루오션을 찾으려면 일단 군집분석을 해야 합니다. 예를 들어 자동차 시장을 한번 생각해보죠. 시장에 나와 있는 자동차의 여러 가지 특성을 조사합니다. 가격, 연비, 크기, 기능, 디자인 수준 등 등...

 

 

 

그래서 이 각 자동차가 가지고 있는 이 변수들 값을 가지고 자동차를 군집합니다. 그러나 이 군집에서 빠진 공간이 블루오션이 될 가능성이 많다는 것이죠. 그러나 반대로 아직까지 블루오션으로 남아 있다는 이야기는 본질적으로 수요층이 없다는 사실일 수도 있습니다.

 

 

아래 그림을 한번 보시죠.

 

 

 

 

 

 

 

물론 현실 데이터에서는 이렇게 잘 군집이 되지 않겠죠. 푸른 곳이 바로 블루오션의 가능성이 있는 시장영역입니다.

 

 

또 이 경우 변수를 2개로 했기 때문에 2차원 공간에서 그림을 그려 쉽게 눈으로 군집을 파악할 수 있습니다. 그러나 변수가 3개만 되어도 하나의 그림을 그리기 힘듭니다. (X1, X2), (X1, X3), (X2, X3) 등 변수를 짝으로 해서 3개의 그림을 그려야 하고, 변수가 4개가 되면 6개의 2차원 그림을 그려야 합니다.

 

 

 

하여간 군집의 정보를 제공하는 속성변수가 많으면 먼저 변수를 축약하는 기법을 사용하는 것이 좋습니다. 주성분 분석이나 요인분석을 사용하는 것이죠. 불행히도 주성분 분석은 SPSS에서는 제공되지 않습니다. 요인수를 2개나 3개로 정해 요인분석을 해서 요인점수를 저장하여 이 요인 점수를 가지고 군집을 하시면 됩니다.

 

 

 

 

 

 

 

 

2) 개체간 거리, 유사성 측정

하여간 연구대상간에 비슷한 것 끼리 묶으려면 우선 두 대상간의 거리, 또는 반대 척도로 유사성 척도라는 것이 먼저 정의가 되어야 합니다. 유사성 척도를 사용한 다음의 예를 볼까요.

 

 

 

 

대상

X1

X2

X3

X5

X6

X7

1

1

1

1

1

1

0

2

1

1

1

1

0

1

3

0

0

0

0

0

1

4

0

0

0

0

1

0

 

 

 

각 대상에 7개의 이진 변수를 측정했습니다. 극단적인 예지만 보면 딱 군집이 되지요. (대상1, 대상2)로 같이 묶기고, (대상3, 대상4)로 같이 묶기죠. 대상1과 대상2는 7가지 값 중에서 5가지 변수 같이 일치합니다. 그래서 유사성 척도값은 5/7이 되고요. 마찬가지로 대상3과 대상4의 유사성 척도도 5/7이 되고요. 그러나 대상1과 대상3을 비교하면 같은 값을 가지는 변수가 없습니다. 그래서 유사성 척도는 0/7이 되고요.

 

 

 

위 예와 같이 유사성 척도를 사용하여 군집하는 경우는 이진 변수가 들어 있는 경우입니다. 만약 순위형, 연속형, 또는 명목형인데 범주가 3개 이상인 경우는 다시 이진 변수로 바꿔서 분석해야 합니다. 예를 들어 키가 변수에 들어 있으면 평균을 구해 평균보다 큰 사람을 1, 작은 사람을 0 이런 식으로 이진변수로 바꿔야 한다는 것이죠.

 

 

 

그러나 대체적으로 군집분석을 할 경우 대상의 속성변수들이 연속형일 경우가 많습니다. 그럴 경우 거리 개념을 사용하는데 여기서 통상 우리가 사용하는 유클리단 거리를 사용하지 않고 통계적인 거리, 즉 속성변수의 상관관계를 고려한 거리 개념을 사용한다는 것이죠.

 

 

 

 

 

 

3) 군집방법

 

군집방법에는 크게 위계적 군집과 비위계적 군집, 즉 K means 군집이라는 군집방식이 있습니다. 간단하게 이야기해 비위계적 군집방식, 즉 K means 군집방식은 군집수를 미리 지정하는 방법입니다. 여기서 K는 군집수인데 통상 군집수 K=2, 3, 4, 5 등 여러개 정해 놓고 결과를 본 다음 가장 바람직한 군집으로 된 것을 최종결과로 선택하면 됩니다.

 

 

 

위계적 군집방식은 다시 통합방식과 분할방식이 있습니다. 통합방식은 연구대상의 낱개로부터 시작하여 비슷한 것끼리 묶어 가는 방법이고 분할방식은 전체 연구대상을 처음으로 크게 2개로 나누고, 그 다음에 나눠진 2개를 또 다시 2개로 나누고 이런 방식으로 계속 쪼개가는 방법입니다.

 

 

 

위계적 군집방식은 각 개체간의 거리나 유사성을 다 구해야 하기 때문에 분석하는데 시간이 많이 걸립니다. 예를 들어 연구대상이 1000명이라 하면 각 짝끼리 거리를 구하려면 어마어마한 수의 거리를 구해야 하고 각 단계마다 소집단간의 거리를 또 구해야 하고 시간이 너무 많이 걸립니다. 그래서 연구대상 수가 많으면 K군집으로 하는 것이 낫습니다.

 

 

 

이에 비해 K means 군집은 이미 군집 수가 정해져 있기 때문에 초기에 각 군집의 평균값을 적당히 추측합니다. 그런 다음 이 초기 추측 평균값에 가까운 집단끼리 묶습니다. 그런 다음 묶인 K 군집의 평균을 다시 구하고 이 평균을 중심으로 새로 군집을 업데이트 합니다. 이런 식으로 적정한 수준에 이를때 까지 반복을 합니다. 생각보다 바로 끝납니다.

 

 

 

사실 이 정도 기초 지식만 가지고 있어도 이 군집분석을 할 수 있습니다. 나중에 더 필요한 사항이 있으면 계속 업데이트 하겠습니다.