Saya tidak menggunakan R tetapi di sini ada jadwal yang saya harap akan membantu Anda menghitung nilai kriteria pengelompokan BIC atau AIC untuk setiap solusi pengelompokan yang diberikan.
Pendekatan ini mengikuti Algoritma SPSS Analisis klaster dua langkah (lihat rumus di sana, mulai dari bab "Jumlah cluster", kemudian pindah ke "Jarak kemungkinan log" di mana ksi, kemungkinan log, didefinisikan). BIC (atau AIC) dihitung berdasarkan jarak log-likelihood. Saya menunjukkan perhitungan di bawah ini hanya untuk data kuantitatif (rumus yang diberikan dalam dokumen SPSS lebih umum dan memasukkan juga data kategorikal; Saya hanya membahas "bagian" data kuantitatifnya):
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.
Kriteria pengelompokan AIC dan BIC tidak hanya digunakan dengan pengelompokan K-means. Mereka mungkin berguna untuk metode pengelompokan apa pun yang memperlakukan kepadatan dalam-cluster sebagai varian dalam-cluster. Karena AIC dan BIC akan dihukum karena "parameter berlebihan", mereka cenderung memilih solusi dengan lebih sedikit klaster. "Kluster yang lebih sedikit semakin terpecah satu sama lain" bisa jadi moto mereka.
Mungkin ada berbagai versi kriteria pengelompokan BIC / AIC. Yang saya tunjukkan di sini menggunakan Vc
, dalam varian -cluster , sebagai istilah utama dari log-likelihood. Beberapa versi lain, mungkin lebih baik cocok untuk k-means clustering, mungkin mendasarkan log-likelihood pada dalam kluster jumlah-of-kotak .
Versi pdf dari dokumen SPSS yang sama yang saya maksud.
Dan inilah akhirnya formula itu sendiri, sesuai dengan pseudocode dan dokumen di atas; ini diambil dari deskripsi fungsi (makro) yang saya tulis untuk pengguna SPSS. Jika Anda memiliki saran untuk meningkatkan formula, silakan kirim komentar atau jawaban.