GAP 통계를 사용하여 R에서 k 개의 클러스터를 추정했습니다. 그러나 그것을 잘 해석하는지 잘 모르겠습니다.
위의 플롯에서 3 개의 클러스터를 사용해야한다고 가정합니다.
두 번째 그림에서 6 개의 군집을 선택해야합니다. GAP 통계에 대한 올바른 해석입니까?
설명이 있으면 감사하겠습니다.
댓글
h3>
Answer
이상적인 클러스터링을 얻으려면 $ k $를 선택하여 간격 통계를 최대화해야합니다. 다음은 Tibshirani et al. (2001)의 논문에서 2 개의 클러스터로 구성된 인공 데이터로 구성된 플롯에 제시된 예입니다. 보시다시피 2는 분명히 이상적인 $ k $입니다. 갭 통계는 $에서 최대화되기 때문입니다. k = 2 $ :
그러나 , 많은 실제 데이터 세트에서 클러스터가 잘 정의되어 있지 않으며 모델의 간결함과 갭 통계 최대화의 균형을 맞출 수 있기를 원합니다. 사례 : OP의 첫 번째 이미지. 갭 통계를 단독으로 최대화하는 경우 30 개 (또는 그 이상!) 군집이있는 모델을 선택해야합니다. 물론 해당 플롯이 계속 증가 할 것이라고 가정하면 결과는 따라서 Tibshirani는 1-standard-error 메소드를 제안합니다.
클러스터 크기 $ \ hat {k} $를 $ \ text {Gap} (k) \ geq \ text {Gap} (k + 1)이되도록 가장 작은 $ k $로 선택합니다.- s_ {k + 1} $.
격차 통계의 증가율이 “느려지기”시작하는 지점을 비공식적으로 식별합니다.
따라서 OP의 첫 번째 이미지에서 빨간색 오류 막대를 표준 오류로 간주하면 3은이 기준을 충족하는 가장 작은 $ k $입니다.
하지만 OP의 두 번째 이미지의 경우 $ k > 1 $에 대해 격차 통계가 즉시 감소합니다. 따라서 1- 표준 오류 기준을 충족하는 첫 번째 $ k $는 $ 1 $입니다. 이것은 데이터가 클러스터되지 않아야한다는 플롯의 방식입니다.
결과적으로 최적의 $ k $를 선택하는 추가 방법이 있습니다. R 함수의 기본 방법 clusGap
는 항상 그래프의 로컬 최대 값을 검색하고 하나의 표준 오류 내에서 가장 작은 $ k $를 선택합니다. 이 firstSEmax
방법을 사용하여 OP의 그래프 1과 2에 대해 각각 $ k = 30 $ 및 $ k = 19 $를 선택합니다. 그러나 내가 말했듯이 이것은 복잡성 문제로 고통받는 것 같습니다.
출처 : Robert Tibshirani, Guenther Walther, Trevor Hastie (2001). 갭 통계를 통해 데이터 세트의 클러스터 수를 추정합니다.
댓글
- 갭 통계에서 $ k $ 값을 추정 할 때 , $ k $가 실제 클러스터 수일 확률을 어떻게 계산 / 추정 할 수 있습니까? 아니면 내 질문이 무의미한가요?
- 격차 통계를 최대화하는 것과 모델의 간결함을 얻는 것 사이의 상충 관계를 지적 해 주셔서 감사합니다.
clusGap
를 사용했지만 ' maxSE를 구현하는 방법을 몰랐습니다.