No uso R, pero aquí hay un cronograma que espero lo ayude a calcular el valor de los criterios de agrupación BIC o AIC para cualquier solución de agrupación dada.
Este enfoque sigue los algoritmos de SPSS Análisis de conglomerados de dos pasos (consulte las fórmulas allí, comenzando desde el capítulo "Número de conglomerados", luego pase a "Distancia de probabilidad de registro" donde se define ksi, la probabilidad de registro). BIC (o AIC) se calcula en función de la distancia de probabilidad logarítmica. A continuación se muestran los cálculos solo para datos cuantitativos (la fórmula que figura en el documento SPSS es más general e incorpora también datos categóricos; solo se trata su "parte" de datos cuantitativos):
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.
Los criterios de agrupación AIC y BIC se utilizan no solo con la agrupación K-means. Pueden ser útiles para cualquier método de agrupación que trate la densidad dentro del grupo como la varianza dentro del grupo. Debido a que AIC y BIC deben penalizar por "parámetros excesivos", tienden inequívocamente a preferir soluciones con menos grupos. "Menos grupos más disociados unos de otros" podría ser su lema.
Puede haber varias versiones de los criterios de agrupación BIC / AIC. El que mostré aquí usa Vc
, dentro de las variaciones de conglomerados , como el término principal de la probabilidad logarítmica. Alguna otra versión, quizás más adecuada para la agrupación de k-medias, podría basar la probabilidad logarítmica en las sumas de cuadrados dentro del grupo .
La versión en pdf del mismo documento de SPSS al que me referí.
Y aquí están finalmente las fórmulas mismas, correspondientes al pseudocódigo anterior y al documento; está tomado de la descripción de la función (macro) que he escrito para usuarios de SPSS. Si tiene alguna sugerencia para mejorar las fórmulas, publique un comentario o una respuesta.