Gostaria de saber se existe uma boa maneira de calcular o critério de agrupamento com base na fórmula BIC, para uma saída k-Médias em R? Estou um pouco confuso sobre como calcular esse BIC para que eu possa compará-lo com outros modelos de cluster. Atualmente, estou usando a implementação do pacote de estatísticas do k-means.
r
clustering
k-means
bic
UnivStudent
fonte
fonte
Respostas:
Para calcular o BIC para os resultados de kmeans, testei os seguintes métodos:
O código r da fórmula acima é:
o problema é que quando eu uso o código r acima, o BIC calculado era monótono aumentando. qual o motivo?
[ref2] Ramsey, SA, et al. (2008). "Descobrindo um programa de transcrição de macrófagos, integrando evidências de varredura de motivos e dinâmica de expressão". PLoS Comput Biol 4 (3): e1000021.
Eu usei a nova fórmula de /programming/15839774/how-to-calculate-bic-for-k-means-clustering-in-r
Este método forneceu o menor valor de BIC no número de cluster 155.
usando o método fornecido @ttnphns, o código R correspondente conforme listado abaixo. No entanto, o problema é qual a diferença entre Vc e V? E como calcular a multiplicação por elementos para dois vetores com comprimento diferente?
fonte
Vc
é a matriz P x K eV
era uma coluna propagada K vezes na mesma matriz de tamanho. Então (ponto 4 na minha resposta) você pode adicionarVc+V
. Em seguida, pegue o logaritmo, divida por 2 e calcule as somas da coluna. O vetor de linha resultante multiplica-se (valor por valor, ie elementar) por linhaNc
.Eu não uso R, mas aqui está um cronograma que, espero, ajudará você a calcular o valor dos critérios de cluster BIC ou AIC para qualquer solução de cluster.
Essa abordagem segue a análise de cluster em duas etapas dos algoritmos do SPSS (consulte as fórmulas lá, começando no capítulo "Número de clusters" e depois vá para "Distância da probabilidade do log" em que ksi, a probabilidade do log, é definida). O BIC (ou AIC) está sendo calculado com base na distância de probabilidade do log. Estou mostrando abaixo a computação apenas para dados quantitativos (a fórmula dada no documento SPSS é mais geral e incorpora também dados categóricos; estou discutindo apenas a "parte" dos dados quantitativos):
Os critérios de armazenamento em cluster AIC e BIC são usados não apenas com armazenamento em cluster K-means. Eles podem ser úteis para qualquer método de agrupamento que trate a densidade dentro do cluster como variação dentro do cluster. Como o AIC e o BIC devem penalizar por "parâmetros excessivos", eles inequivocamente tendem a preferir soluções com menos clusters. "Menos grupos mais dissociados um do outro" poderia ser o seu lema.
Pode haver várias versões dos critérios de agrupamento BIC / AIC. O que mostrei aqui usa
Vc
, variações dentro do cluster , como o principal termo da probabilidade de log. Alguma outra versão, talvez mais adequada para o cluster de k-means, pode basear a probabilidade de log nas somas de quadrados dentro do cluster .A versão pdf do mesmo documento SPSS a que me referi.
E aqui estão finalmente as próprias fórmulas, correspondentes ao pseudocódigo acima e ao documento; é extraído da descrição da função (macro) que escrevi para usuários do SPSS. Se você tiver alguma sugestão para melhorar as fórmulas, envie um comentário ou uma resposta.
fonte
Vc
Vc+V
Vc
Vc=0