1 Introduksi
1.1 Latar Belakang
Cluster analysis adalah unsupervised learning untuk mengelompokkan observasi tanpa label apriori — temukan natural grouping dalam data multivariat. Dua keluarga dominan: partitional clustering (k-means; MacQueen, 1967) yang mempartisi data ke $k$ cluster tetap dengan minimasi within-cluster sum of squares, dan hierarchical clustering (Ward, 1963) yang membangun dendrogram dari bottom-up (agglomerative) atau top-down (divisive).
Aplikasi sains pangan: segmentasi konsumen by preference (cluster sensory ratings), klasifikasi produk by chemical fingerprint, identifikasi cultivars by NIR spectra, outlier detection di QC data. Pemilihan jumlah cluster optimal memakai silhouette coefficient (Rousseeuw, 1987) atau gap statistic (Tibshirani, Walther, & Hastie, 2001).
1.2 Tujuan Modul
- Menerima matriks fitur (objek × variables) — sensory descriptors, chemical compositions, dst.
- Menjalankan k-means dan hierarchical clustering (Ward, average, complete linkage).
- Memilih jumlah cluster optimal via silhouette + elbow + gap statistic.
- Memvisualisasikan dendrogram dan PCA scatter dengan cluster coloring.
- Audiens: peneliti R&D, market researcher, analis sensory consumer.
1.3 Posisi di Antara Alternatif
Pilih Cluster Analysis Explorer untuk unsupervised grouping. Untuk dimensionality reduction, pakai PCA Explorer. Untuk supervised classification, pakai Class Modelling (SIMCA) atau Quick ML / Pattern Finder. Untuk preference segmentation sensory, pakai Preference Mapping.
2 Metode
2.1 Dasar Teoretis
Standarisasi data (z-score), karena cluster sensitif terhadap skala:
$$z_{ij} = \frac{x_{ij} - \bar{x}_j}{s_j}$$Distance metrics — Euclidean (default):
$$d(\mathbf{x}_i, \mathbf{x}_j) = \sqrt{\sum_{k=1}^{p} (x_{ik} - x_{jk})^2}$$Alternatif: Manhattan (city block), Mahalanobis (covariance-weighted), correlation-based.
k-means algorithm (MacQueen, 1967; Lloyd, 1982):
- Inisialisasi $k$ centroids (random atau k-means++, Arthur & Vassilvitskii, 2007).
- Assign tiap titik ke nearest centroid.
- Re-compute centroid = mean dari cluster members.
- Iterasi 2–3 sampai konvergen (no reassignment).
Objective: minimasi within-cluster sum of squares (WCSS):
Hierarchical clustering — Ward's linkage (Ward, 1963):
$$D(C_a, C_b) = \frac{n_a n_b}{n_a + n_b} \| \boldsymbol{\mu}_a - \boldsymbol{\mu}_b \|^2$$Merge pasangan cluster dengan increase WCSS minimum. Hasil: dendrogram dengan height = merge distance.
Linkage alternatif:
- Single (minimum pairwise distance) — chaining.
- Complete (maximum) — compact balls.
- Average (UPGMA) — middle ground.
- Ward (minimum variance) — paling populer.
Silhouette coefficient (Rousseeuw, 1987) untuk titik $i$:
$$s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}}$$dengan $a(i)$ = mean intra-cluster distance, $b(i)$ = mean nearest-cluster distance. Range $[-1, 1]$. Average silhouette > 0.5 → strong cluster structure; 0.25–0.5 reasonable; < 0.25 weak.
Elbow method: plot WCSS vs $k$, pilih titik "siku" sebelum diminishing returns.
Gap statistic (Tibshirani et al., 2001): bandingkan WCSS observed dengan WCSS dari $B$ null reference distributions.
2.2 Persamaan Inti
- WCSS: $\sum_c \sum_{i \in C_c} \| \mathbf{x}_i - \boldsymbol{\mu}_c \|^2$
- Ward linkage: $D_{ab} = (n_a n_b / (n_a + n_b)) \| \boldsymbol{\mu}_a - \boldsymbol{\mu}_b \|^2$
- Silhouette: $s(i) = (b - a) / \max(a, b)$
- Euclidean: $d = \sqrt{\sum (x_i - x_j)^2}$
2.3 Asumsi & Batas Validitas
| Asumsi | Konsekuensi jika dilanggar | Cara cek di SQalytics |
|---|---|---|
| Variabel di-standarisasi | Variabel besar dominate | Default z-score on |
| Tidak ada outlier ekstrem | k-means terganggu | Robustness check + boxplot |
| Cluster spherical (k-means) | Wrong assignment untuk elongated cluster | Pakai Ward atau DBSCAN |
| Jumlah cluster $k$ dipilih tepat | Over/under-segmentation | Silhouette + elbow + gap |
| Variables relevant | Noise variables blur cluster | Feature selection sebelum cluster |
| Distance metric appropriate | Wrong grouping | Pilih metric sesuai data |
3 Cara Kerja
3.1 Step-by-Step di SQalytics
- Buka
Cluster Analysis Explorerdari domain Mutu dan Analisis Lanjutan. - Muat matriks: rows = objek (produk/panelis/sampel), columns = fitur numerik.
- Pilih standarisasi: z-score (default), range, atau none.
- Pilih algoritma: k-means / hierarchical Ward / hierarchical average / hierarchical complete.
- Pilih jumlah cluster $k$ atau opsi auto (silhouette-maximizing).
- Klik Run Clustering.
- Tinjau: Tab
Cluster Assignment— tabel objek + cluster label; TabDendrogram(hierarchical) atauCentroid Plot(k-means); TabSilhouette Plot— per-cluster silhouette + average; TabPCA Projection— 2D scatter dengan cluster coloring; TabCluster Profile— mean per variabel per cluster.
3.2 Template Tabel Input + Contoh Data Sintetis
Sensory descriptors 12 cookie products (panel mean):
| Product | Crispness | Sweetness | Buttery | Cocoa | Aftertaste |
|---|---|---|---|---|---|
| A | 8.5 | 6.2 | 7.8 | 5.0 | 6.5 |
| B | 8.7 | 6.0 | 8.0 | 5.2 | 6.7 |
| C | 4.2 | 7.5 | 4.5 | 8.0 | 7.0 |
| D | 4.0 | 7.8 | 4.2 | 8.2 | 7.2 |
| E | 6.5 | 5.0 | 6.0 | 3.0 | 4.5 |
| F | 6.7 | 4.8 | 6.2 | 3.2 | 4.3 |
| … (12 products total, 5 descriptors) | |||||
docs/assets/example-data/id/quality-advanced/template_quality_cluster.csv.
3.3 Contoh Luaran
Optimal $k$ selection:
| $k$ | WCSS | Silhouette | Gap |
|---|---|---|---|
| 2 | 28.5 | 0.42 | 0.58 |
| 3 | 15.2 | 0.61 | 0.74 ✓ |
| 4 | 11.8 | 0.48 | 0.62 |
| 5 | 9.5 | 0.35 | 0.51 |
Pilih $k = 3$ (silhouette + gap maximum).
Cluster assignment (Ward linkage):
| Cluster | Members | Profile |
|---|---|---|
| 1: Crispy-buttery | A, B, G, H | High crispness (8.5), buttery (7.8), low cocoa |
| 2: Soft-cocoa | C, D, I, J | Soft texture (4.2), high cocoa (8.0), sweet |
| 3: Bland-balanced | E, F, K, L | Medium all attributes, low intensity |
Silhouette plot: average $s = 0.61$ → strong cluster structure.
PCA 2D projection: PC1 (43% variance) = crispness-vs-cocoa axis, PC2 (28%) = sweetness intensity. Clusters well-separated visual.
Cluster profile (z-score means):
| Variable | Cluster 1 | Cluster 2 | Cluster 3 |
|---|---|---|---|
| Crispness | +1.2 | −1.3 | −0.1 |
| Sweetness | −0.5 | +1.0 | −0.6 |
| Buttery | +1.1 | −1.2 | −0.2 |
| Cocoa | −1.0 | +1.4 | −0.5 |
| Aftertaste | +0.3 | +0.8 | −1.0 |
Preference Mapping untuk overlay consumer preference per cluster, atau ke PCA Explorer untuk loadings analysis detail."4 Kesimpulan
4.1 Relevansi Real-World
- Consumer segmentation by preference patterns.
- Product positioning analysis competitor mapping.
- Chemical fingerprint classification — adulteration detection, origin verification.
- Sensory descriptor space — characterize product portfolio.
- Outlier detection di production batch QC.
4.2 Where to Go from Here
⚙ Troubleshooting Cepat
i Riwayat Revisi
| Tanggal | Revisi | Penulis |
|---|---|---|
| 2026-05-12 | Draft v2 publikasi (KaTeX k-means + Ward + silhouette + gap + APA MacQueen/Ward/Rousseeuw/Tibshirani) | Claude |
| 2026-05-12 | Konversi MD → HTML (W5 quality-advanced batch) | Claude |
4 Referensi
- MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1, 281–297.
- Ward, J. H. (1963). Hierarchical grouping to optimize an objective function. Journal of the American Statistical Association, 58(301), 236–244. https://doi.org/10.1080/01621459.1963.10500845
- Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53–65. https://doi.org/10.1016/0377-0427(87)90125-7
- Tibshirani, R., Walther, G., & Hastie, T. (2001). Estimating the number of clusters in a data set via the gap statistic. Journal of the Royal Statistical Society B, 63(2), 411–423. https://doi.org/10.1111/1467-9868.00293
- Arthur, D., & Vassilvitskii, S. (2007). k-means++: The advantages of careful seeding. Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, 1027–1035.
- Kaufman, L., & Rousseeuw, P. J. (2005). Finding groups in data: An introduction to cluster analysis. John Wiley & Sons.