Passion/Algorithm

Cluster Analysis (군집 분석)

sunshout 2009. 1. 21. 13:16
1. 개념
Cluster Analysis는 개체 및 속성을 의미있는 집단으로 그룹핑하고 분석하는 방법이다.
개체는 동질적인 집단으로 또는 배타적인 집단으로 분류될 수 있다. 군집분석이 판별분석과 다른 점은 분류는 이미 알려진 그룹의 구조와 수대로 나누어 각 그룹에 새로운 개체를 할당하는 것이 목적이지만, 군집분석은 그룹의 수나 구조가 가정되어 있지 않고 유사성(similarity) 또는 근접성(proximity)에 근거한 그룹화이다.

군집분석의 예로는 환자들의 증후들을 이용하여 몇 개의 동질적인 집단으로 나누어서 이들이 가지고 있는 공통된 특성들을 조사하거나 성격에 따른 개인의 분류, 소비자행동의 유사성을 바탕으로 시장세분화를 하는 데 이용될 수 있다.
 
2. 군집화하는 방법 

군집분석은 특성들의 유사성, 즉 특성자료가 얼마나 비슷한 값을 갖는지를 수학적 거리로 환산하여 거리가 가까운 대상들을 동일한 집단으로 편입시키게 된다. 즉 요인분석이나 판별분석 등은 자료의 분산, 즉 상관관계를 이용하여 유사한 집단분류를 하게 되지만, 군집분석은 상관관계를 바탕으로 하지 않고 단지 측정치의 차이를 이용하는 방법이다

군집의 추출방식에는 계층적 군집화 방법과 비계층적 방법이 있는데 비교적 계층적인 방법이 널리 이용된다. 

* 계층적 군집화 

계층적 군집분석은 군집들 사이의 거리를 이용하여 가까운 거리에 있는 군집들을 차례로 묶거나 먼 거리에 있는 군집들을 차례로 분리해 나가는 방법으로 군집화가 이루어지는 방법이다.

계층적 군집화는 거리계산 방식의 차이에 따라 단일결합법((single linkage): 최단거리법, 완전결합법(complete linkage): 최장거리법, 평균거리법 (average linkage), 워드법 (Ward method) 등이 있는데, 평균거리법과 워드법이 가장 많이 이용된다. 

* 비계층적 군집방법 

비계층적 군집방법은 사전에 미리 정해진 군집의 숫자(K)에 따라 대상들이 군집들에 할당되는 방법이다. 비계층적 군집화 방법 중 가장 보편적으로 이용하는 방법이 K-평균법이다. K-평균법은 순차적으로 군집화 과정을 반복하며, 군집화 과정에서 발생할 수 있는 오류를 최소화할 때까지 군집화를 계속한다. 

군집분석에서는 어떤 군집들간의 유의성 검정과 같은 통계적 수치를 제공하여 주지 않기 때문에 분류된 군집간의 통계적으로 유의적인 차이를 알아낼 수는 없다. 그렇기 때문에 연구자의 직관, 이해에 따라 어느 정도의 차이를 보이는 군집을 분류하고, 분류된 군집들의 수치적인 특징으로 그 군집들의 속성을 부여해야 한다. 

참조:

http://www.mathworks.com/access/helpdesk/help/toolbox/stats/index.html?/access/helpdesk/help/toolbox/stats/linkage.html&http://www.google.co.kr/search?complete=1&hl=ko&newwindow=1&q=matlab+hierarchical+clustering&btnG=검색&lr=&aq=0&oq=matlab+hierarch

오픈 소스 클러스터링
http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/cluster/