이진 데이터 클러스터링이 중요한지 어떻게 테스트 할 수 있습니까?


12

장바구니를 분석하고 있습니다. 데이터 세트가 구매 한 상품과 함께 거래 벡터 세트입니다.

거래에 K-수단을 적용 할 때, 난 항상 얻을 것이다 어떤 결과를. 임의 행렬은 아마도 일부 군집을 보여줄 것입니다.

내가 찾은 클러스터링이 중요한지 또는 우연의 일치인지 테스트하는 방법이 있습니까? 그렇다면 어떻게 할 수 있습니까?

답변:


14

쇼핑 카트 분석과 관련하여 주요 목표는 고객이 구매 한 제품의 가장 빈번한 조합을 개별화하는 것입니다. 여기서 association rules가장 자연스러운 방법론을 나타냅니다 (실제로 이러한 목적으로 개발 된 것임). 고객이 구매 한 제품의 조합과 이러한 조합이 반복되는 횟수를 분석하면 해당 조건에 따라 '조건이있는 경우 결과'유형의 규칙이 생성됩니다. Log-linear models고려 된 변수 사이의 연관성을 조사하기 위해 고려할 수도 있습니다 .

이제 클러스터링과 관련하여 유용한 정보가 있습니다.

처음에 고려하십시오 Variable clustering. 변수 군집화는 공선 성, 중복성을 평가하고 변수를 단일 변수로 점수를 매길 수있는 군집으로 분리하여 데이터를 줄이는 데 사용됩니다. varclus기능 찾기 (패키지 Hmisc in R)

군집 안정성 평가 : 기능 clusterboot{R package fpc}

군집 검증을위한 거리 기반 통계 : 함수 cluster.stats{R package fpc}

mbq가 언급했듯이, 가장 좋은 군집 수를 평가하기 위해 실루엣 너비를 사용하십시오. 시청 . 실루엣 너비에 대해서는 옵틸 기능 도 참조하십시오 .

간격 통계 를 통해 데이터 세트의 군집 수 추정

유사성 지수 및 거리 측정을 계산하려면 dsvdisvegdist를 참조하십시오.

EM 클러스터링 알고리즘은 교차 검증을 통해 생성 할 클러스터 수를 결정할 수 있습니다 (만약 생성 할 클러스터 수를 지정할 수없는 경우). EM 알고리즘이 최대로 수렴되는 것이 보장되지만 이는 로컬 최대 값이며 반드시 전역 최대 값과 같을 필요는 없습니다. 전체 최대 값을 얻을 수있는 가능성을 높이려면 매개 변수 값에 대한 초기 추측 값이 다른 전체 절차를 여러 번 반복해야합니다. 전체 로그 우도 그림을 사용하여 얻은 최종 구성을 비교할 수 있습니다 . 로컬 최대 값 중 가장 큰 값만 선택하십시오 . 오픈 소스 프로젝트 WEKA 에서 EM 클러스터 러 구현을 찾을 수 있습니다.

이것은 또한 흥미로운 링크입니다.

또한 검색 여기 에 대한Finding the Right Number of Clusters in k-Means and EM Clustering: v-Fold Cross-Validation

마지막으로 clusterfly 를 사용하여 클러스터링 결과를 탐색 할 수 있습니다


8

이것은 Monte Carlo를 사용하여 결과가 올바른지 보여주는 방법입니다.

Null 가설 H_0은 데이터 세트에 흥미로운 군집이 없다는 것입니다. 우리의 대안 가설 H_1은 데이터 세트에 흥미로운 클러스터링이 포함되어 있다는 것입니다.

따라서 우리는 흥미로운 행과 열 여백을 갖는 랜덤 데이터 셋의 클러스터링 구조보다 더 흥미로운 것으로 생각합니다. 물론 다른 제약 조건을 선택할 수도 있지만 제약 조건을 느슨하게하면 결과가 너무 일반적이되고 제약 조건을 좁 히면 클러스터링이 많이 고정되므로 결과가 자동으로 중요하지 않게됩니다. 우리가 볼 수 있듯이 여백은 무작위로 기존의 방법 때문에 좋은 선택입니다.

테스트 통계량으로 클러스터링 오류 (클러스터 거리의 제곱), Π_0에서 T를 정의하겠습니다. 원래 데이터 세트의 값은 t 입니다.

이 분포에서 표본을 추출 할 수 있다는 점을 제외하고는이 분포에 대해 아무것도 모릅니다. 몬테 카를로에게 좋은 후보입니다.

이제 우리 는 Π_0에서 n (iid) 랜덤 샘플을 그리고 p_emp = 1 / (n + 1) * (Σ_i = 1-n I (t_i> = t) + 1) 공식 으로 경험적 p- 값을 계산합니다.

랜덤 샘플링은 스왑 랜덤 화로 수행 할 수 있습니다. 간단히 말하면 두 개의 반대쪽 모서리 1과 다른 두 모서리에서 0으로 사각형을 검색합니다. 그러면 모서리가 뒤집 힙니다. 이것은 열과 행 여백을 유지합니다. 데이터 세트가 충분히 무작위 화 될 때까지 절차가 충분히 반복됩니다 (이는 약간의 실험이 필요함). 이에 대한 자세한 정보는 Gionis et.의 Swap Randomization을 통한 데이터 마이닝 결과 평가 에서 찾을 수 있습니다 . 알.

이를 수행하는 한 가지 방법은 데이터 분포를 정의하고 클러스터링 오류를 테스트 통계 t로 취하는 것입니다.

예를 들어, 데이터 분포와 동일한 행 및 열 마진을 가진 모든 데이터 세트를 고려하면이 분포에서 n 개의 랜덤 행렬 Xi를 가져 와서 클러스터링 오류를 계산할 수 있습니다. 그런 다음 공식으로 황제 p- 값을 계산할 수 있습니다


4

silhouette 과 같이 클러스터 품질을 결정하는 통계를 어느 정도 정의합니다 (예 : k 최적화에 사용됨). 이제 가능한 Monte Carlo는 다음과 같습니다. 원래와 비슷한 많은 임의의 데이터 세트를 생성하고 (예를 들어 각 열의 행 사이의 값을 섞음) 군집화하고 의미를 테스트하는 데 사용할 수있는 평균 실루엣의 분포를 얻습니다. 실제 데이터의 실루엣. 여전히 나는이 아이디어를 시도한 적이 없다고 생각합니다.


1
이것은 휴먼 브레인 매핑 2010 컨퍼런스에서 본 포스터를 떠올리게합니다. Tom Nichols는 파라 메트릭 부트 스트랩을 사용하여 계층 적 클러스터링에서 cophenetic 상관 관계 및 실루엣의 안정성을 평가했지만 그의 포스터 : j.mp/9yXObA를 참조하십시오 .
chl

@chl 감사합니다; 실제로 최근에 나는 실험실에서 비슷한 일을 보았습니다. / - : 결과는 클러스터하지만 중요한없는 것이 었습니다

나는 이것이 부트 스트래핑처럼 들린다는 것에 동의한다.
Vass

(FYI : 실루엣 값 해석 ). 또한 k = 1 군집에 대해 실루엣 값이 정의되지 않았으므로 실루엣 값을 사용하여 가설 k = 1 (즉, 데이터 집합이 클러스터되지 않음) 대 k> 1 (데이터 집합이 군집 됨)을 비교할 수 없습니다.
Franck Dernoncourt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.