Para obter um cluster ideal, você deve selecionar para maximizar a estatística de gap. Aqui está o exemplo dado por Tibshirani et al. (2001) em seu artigo, o gráfico formado por dados artificiais com 2 clusters. Como você pode ver, 2 é claramente o ideal , porque a estatística de gap é maximizada em :k k = 2kkk = 2
No entanto, em muitos conjuntos de dados do mundo real, os clusters não são tão bem definidos e queremos equilibrar a maximização da estatística de lacunas com a parcimônia do modelo. Caso em questão: primeira imagem do OP. Se nós estamos maximizando a estatística lacuna por si só , então devemos escolher o modelo com 30 (ou até mais!) Clusters. Supondo que esse gráfico continue aumentando, é claro, os resultados são menos úteis. Portanto, Tibshirani sugere o método de erro 1 padrão :
Escolha o tamanho do cluster para ser o menor modo que . kk^kIntervalo ( k ) ≥ Intervalo ( k + 1 ) - sk + 1
Que informalmente está identificando o ponto em que a taxa de aumento da estatística do gap começa a "desacelerar".
Portanto, na primeira imagem do OP, se considerarmos as barras de erro vermelhas como erro padrão, 3 é o menor que satisfaz esse critério:k
Para a segunda imagem do OP, no entanto, você verá que a estatística de intervalo diminui imediatamente para . Portanto, o primeiro que satisfaz o critério de erro 1 padrão é . Essa é a maneira da plotagem dizer que os dados não devem ser agrupados.k 1k > 1k1 1
Como se vê, existem outras maneiras de escolher o ideal . O método padrão da função R , por exemplo, sempre procura o máximo local do gráfico e seleciona o menor dentro de um erro padrão do máximo local. Usando esse método, selecionaríamos e para os gráficos 1 e 2 do OP, respectivamente. Como eu disse, no entanto, isso parece sofrer de um problema de complexidade.k k = 30 k = 19kclusGap
kfirstSEmax
k=30k=19
Fonte: Robert Tibshirani, Guenther Walther e Trevor Hastie (2001). Estimando o número de clusters em um conjunto de dados por meio da estatística de gap.