본문 바로가기
AI 관련/ADsP, ADP

ADSP 요약정리 - 4장 정형데이터 마이닝 - 군집분석 (Clustering Analysis)

by 팀장일기 2021. 10. 6.

제 4절 군집분석(Clustering Analysis)

 1. 군집분석 개요

   - 특성에 따라 고객을 여러 개의 배타적인 집단으로 나누는 것

    * 결과는 구체적인 군집분석 방법에 따라 다름 

    * 군집 개수, 구조에 대한 가정 없이 데이터로부터 거리 기준에 의해 자발적인 군집화 유도 

   - 군집분석의 목적

    * 적절한 군집으로 나누는 것

    * 각 군집의 특성, 군집간의 차이 등에 대해 분석 

   - 나누는 방법에 따른 군집화 구분 

    * 임의적 방법 : 논란여지 많으나 많이 사용되옴 

    * 통계적 기법 활용 : 1,2 세대 알고리즘 이용해 사용돼 왔으나 실무적용성에 대한 논란

 

 2. 전통적 군집분석

  가. 기존 세분화 방법의 유형 

   - 임의로 나누는 방법 : 고객등급/ 고객구분 (신규/ 기존), 4분면, 9개 집단 등 다양

   - 통계적 기법 : clustering, k-means 등 

 

   나. 전통적 세분화 방법의 문제점 

   - 변수를 선정하고 구간대로 나눈 다음 이를 기준으로 격자형으로 단순히 나누고 집단이 적으면 병합(merge)하는 방식과 단순 clustering, k-means 

   - ㄷㄴ순 격자형 : 작업에 오랜시간 소요, 후처리로 병합할 때 원칙이 명확하지 않음. 

    * 분리된 격자 셀의 프로파일을 보고 유사한 근처 집단으로 나눠야 하는데 차이 안나는 경우 존재

    * 세분화 변수와 프로파일링 변수는 달라야 함. 

   -격자, clustering, k-means : 변수의 특성으로 인한 변동에 따라 의미 없이 고객집단 이동 

    * 세분화를 안정적으로 관리하면서 전략 수립과 액션을 할 수 없고 자연스런 변화에 마치 의미있는 것처럼 끌려다님. 세분집단 수가 많은 경우 더 심함. 

   -(해결) k-means에 SRM 결합한 방식 : 세분집단의 변화가 많지 않음. 집단은 안정적으로 유지되며 해당 집단에 속한 고객이 변화 --> 세분화를 통한 고객관리 가능 

 

  다. 목표기반 (target- based) 세분화 방법

   - 고객가치 또는 특정상품을 구매하는 고객을 타깃으로 세분화 하는 방법

    * 해당 집단이 많이 존재하는 집단 / 그렇지 않은 집단으로 구분, 이 집단들도 다른 변수에 의해 집단의 특성이 구분됨. 

 

  라. 프로파일링 방법

   - 집단 간에 동일한 변수로 할 수 도 있고 서로 다른 변수로 집단의 특성을 규명할 때 사용할 수 도 있음. 

    * 동일변수를 기준으로 집단을 비교할 때 집단 간에 차이가 명확 할 수 있으며 그런 변수들이 프로파일링 변수로 선정되며 집단별로 유의미한 변수가 다를 수 있음. 

    * 격자방식에서는 집단간에 차이가 나지 않거나 프로파일링 변수가 나오지 않을 수 있으며 때에 따라서는 무의미한 변수로 집단 간에 차이가 있다고 몰아가기도 함. --> 누가 사용해도 동일한 결과가 나오는 프로파일링 기법 필요

   - 자동화한 방식으로 세분화 되고 프로파일링 돼야 동일한 데이터에 대해 일관된 품질의 결과가 나오고 세분화한 집단의 프로파일링은 집단을 변별하는 가장 유의미한 변수 순서로 표시되야하며 이것도 자동으로 이뤄져야 함. 

    * 고정된 변수로 다양한 세부닙단을 비교 가능해야 함

 

  마. 세분화 수행기간

   - 세분화는 데이터 입수가 된 순간에서 마트 생성에 반나절 ~1일, 군집분석을 통한 세분화 및 보고서 작성에 1일이면 됨. 

   - 군집분석 전 프로파일링 하는 것은 무모 

    * 프로파일링 먼저 하려면 구조적 특성이나 도메인에 대한 이해 등 시간이 걸림

   - (대안) 군집분석 :  일단 군집을 3~10개정도 사이로 나눠 군집내 분산크기 통계에 따라 몇개로 나누는 경우가 적합한지 판단 가능, 군집 개수 내에서의 프로파일 보면 한 번에 데이터 전체에 대한 특성 파악 가능 

    * 군집분석 실행시간 30분이내, 보고서 작성까지 최대 1일정도 

    * 프로파일링은 군집분석 보고서에 자동으로 군집별 measure 등의 평균값 나와 평균의 차이 보여줌 

 

  바. 세분집단 개수 

   - 전략적으로 집단을 MECE(Mutualy Exdusive and Collectively Exhaustive)하게 나누는데 어느 정도 규모 갖춰야 의미 있으므로 보통 3~10개정도로 나뉨 

    * 효율성을 판단하는 정형화한 방법 : 2~15개정도로 군집개수를 늘렸을 때 집단 내 분산의 크기가 줄어듦을 파악 

 

  사. 거리 

   - 군집분석에선 관측 데이터 간 유사성이나 근접성을 측정해 어느 군집으로 묶을 수 있는지 판단. 측도로 데이터 간의 거리 (distance) 이용 

   - 관측값들이 얼마나 유사한지 측정하는 방법

    * 유클리드 거리 

    * 표준화 거리 

    * 마할라노비스 거리 

    * 체비세프 거리 

    * 맨하탄 거리

    * 캔버라 거리 

    * 민코우스키 거리 

 

 3. 계층적 군집방법 

   - n 개의 군집으로 시작해 점차 군집의 개수를 줄여나가는 방법 

    * 관측벡터간의 거리뿐만 아니라 군집간 거리에 대한 정의 필요 

    

  가. 최단연결법

   - n x n 거리행렬에서 거리가 가장 가까운 데이터가 U와 V라면 먼저 두 데이터를 묶어 군집 형성 후 군집과 나머지 (n-2) 개의 다른 데이터 또는 군집과 거리 계산 

    * 수정된 거리행렬에서 거리가 가장 가까운 데이터 또는 군집을 새로운 군집으로 함. 

 

  나. 최장연결법

   - n x n거리행렬에서 거리가 가장 먼 데이터가 U와 V라면 우선 두 데이터를 묶어 군집형성 후 군집과 나머지 다른 데이터 또는 군집과의 거리 계산 

    * 수정된 거리행렬에서 거리가 가장 가까운 데이터 또는 군집을 새로운 군집으로 함. 

 

  다. 평균연결법

   - n x n 거리행렬에서 거리가 가장 가까운 데이터가  U와 V라면 두 데이터를 묶어 군집형성 후 나머지 다른 데이터와 군집과 거리계산해  평균거리를구한후 가장 가까운 데이터와 다시 군집현성

    * 과정 반복하면 모든 데이터를 포함하는 하나의 군집형성

 

  라. 와드연결법

   - 군집내 편차들의 제곱합을 고려, 군집간 정보 손실을 최소화하기 위해 군집화 진행 

 

 4. 비계층적 군집방법

   - n개의 개체를 g개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성하는 것 

    * k-평균법(k-means method)가 대표적 

     - 원하는 군집개수, 초기값 정해 seed 중심으로 군집 형성 -> 각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류 --> 각 군집의 seed값 다시 계산 --> 모든 개체가 군집으로 할당될 때까지 반복 

     - k-평균범은 한 개체가 속해있던 군집에서 다른 군집으로 이동해 재배치가 가능. 초기값에 의존. 군집의 초기값 선택이 최종 군집 선택에 영향 미침. 몇 가지 초기값 선택 후 결과 비교하는게 유용 

 

  가. 비계층적 군집화의 장점 

   - 주어진 데이터의 내부구조에 대한 사전 정보없이 의미 있는 자료구조 찾을 수 있음. 

   - 다양한 형태의 데이터에 적용 가능 

   - 분석방법의 적용이 용이

 

  나. 비계층적 군집화의 단점 

   - 가중치와 거리정의가 어려움 

   - 초기 군집수를 결정하기 어려움

   - 사전에 주어진 목적이 없으므로 결과 해석이 어려움 

 

 5. 최신 군집분석 기법들의 적용 

  가. k-means

   - 일반적으로 k -means 사용할 경우 최적 k값의 정확도에 많은 영향. 데이터 학습할 때 일정한 변화줘서 정확도가 어떻게 변하는지 보면 됨. 

 

  나. PAM(Partitioning Around Medoids) 

   - 좀더 탄탄한 ( robust) k-means. 결측값 허용. 프로파일링 시 실제 관측값으로 표현

   - 대용량 데이터 처리 시간 급상승하는 단점 

 

  다. overall cluster. R

  라. Hierarchical clustering

  마. Density-based clustering

  바. Fuzzy Clustering 

   - 숫자 변수만 가능하고 NA 허용됨. k개의 cluster가 생성되는데 개수는 관측값 / 2개 까지 가능 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글