Je n'utilise pas R mais voici un calendrier qui, je l'espère, vous aidera à calculer la valeur des critères de clustering BIC ou AIC pour une solution de clustering donnée.
Cette approche suit les algorithmes SPSS Une analyse de cluster en deux étapes (voir les formules, à partir du chapitre "Nombre de clusters", puis passer à "Distance de vraisemblance log" où ksi, la log-vraisemblance, est définie). Le BIC (ou AIC) est calculé sur la base de la distance log-vraisemblance. Je montre ci-dessous le calcul pour les données quantitatives uniquement (la formule donnée dans le document SPSS est plus générale et incorpore également des données catégoriques; je ne parle que de sa "partie" de données quantitatives):
X is data matrix, N objects x P quantitative variables.
Y is column of length N designating cluster membership; clusters 1, 2,..., K.
1. Compute 1 x K row Nc showing number of objects in each cluster.
2. Compute P x K matrix Vc containing variances by clusters.
Use denominator "n", not "n-1", to compute those, because there may be clusters with just one object.
3. Compute P x 1 column containing variances for the whole sample. Use "n-1" denominator.
Then propagate the column to get P x K matrix V.
4. Compute log-likelihood LL, 1 x K row. LL = -Nc &* csum( ln(Vc + V)/2 ),
where "&*" means usual, elementwise multiplication;
"csum" means sum of elements within columns.
5. Compute BIC value. BIC = -2 * rsum(LL) + 2*K*P * ln(N),
where "rsum" means sum of elements within row.
6. Also could compute AIC value. AIC = -2 * rsum(LL) + 4*K*P
Note: By default SPSS TwoStep cluster procedure standardizes all
quantitative variables, therefore V consists of just 1s, it is constant 1.
V serves simply as an insurance against ln(0) case.
Les critères de classification AIC et BIC ne sont pas utilisés uniquement avec la classification K-means. Ils peuvent être utiles pour toute méthode de clustering qui traite la densité intra-cluster comme une variance intra-cluster. Parce que AIC et BIC doivent pénaliser les "paramètres excessifs", ils ont tendance à préférer sans ambiguïté les solutions avec moins de clusters. "Moins de clusters plus dissociés les uns des autres" pourrait être leur devise.
Il peut exister différentes versions des critères de clustering BIC / AIC. Celui que j'ai montré ici utilise Vc
les variances intra-grappes comme terme principal de la log-vraisemblance. Une autre version, peut-être mieux adaptée au clustering k-means, pourrait baser la vraisemblance logarithmique sur les sommes des carrés intra-cluster .
La version pdf du même document SPSS auquel j'ai fait référence.
Et voici enfin les formules elles-mêmes, correspondant au pseudocode ci-dessus et au document; il est tiré de la description de la fonction (macro) que j'ai écrite pour les utilisateurs SPSS. Si vous avez des suggestions pour améliorer les formules, veuillez poster un commentaire ou une réponse.