Apa itu Multidimensional Scaling?
Multidimensional Scaling (MDS) adalah teknik statistik yang bertujuan menampilkan struktur hubungan antar objek berdasarkan ukuran jarak (dissimilarity) yang diketahui. Ide dasarnya sederhana: jika kita memiliki matrix jarak antara n objek, MDS akan menempatkan objekobjek tersebut dalam ruang berdimensi k (biasanya k=2 atau 3) sehingga jarak Euclidean di ruang baru mendekati jarak asli.
Berbeda dengan teknik lain seperti PCA yang memanfaatkan kovarian data mentah, MDS bekerja langsung pada matriks jarak atau dissimilarity. Karena itu, MDS dapat dipakai pada data nonnumerik (mis. persepsi, preferensi) selama jarak dapat didefinisikan.
Jenisjenis MDS
- Metric MDS mengasumsikan bahwa nilai jarak bersifat rasional dan biasanya meminimalkan stress atau strain dengan fungsi kuadrat.
- Nonmetric MDS hanya memperlakukan urutan peringkat jarak (ranking) sebagai informasi; fungsi transformasi monotonic diterapkan agar urutan tetap terjaga.
Kedua pendekatan memiliki algoritma optimasi yang berbeda, namun tujuan akhir tetap menghasilkan konfigurasi titik yang logis bagi mata manusia.
Matematika Dasar
Misalkan D adalah matriks jarak berukuran n n dengan elemen dij. MDS mencari konfigurasi X = [x, x, , x] dengan x sehingga:
= x - x d
Dalam metric MDS, fungsi objektif yang paling umum adalah stress Kruskal:
Stress = (Optimasi biasanya dilakukan dengan algoritma iteratif seperti SMACOF (Scaling by MAjorizing a COmplicated Function) atau gradient descent.
LangkahLangkah Praktis
- Kumpulkan data jarak: Bisa berupa Euclidean distance, Manhattan, atau jarak kustom (mis. 1minuskorelasi).
- Praproses: Pastikan matriks bersifat simetris dan diagonal nol. Jika ada nilai yang hilang, gunakan imputasi atau hapus baris/kolom.
- Pilih jenis MDS: Metric bila skala jarak penting, nonmetric bila hanya urutan yang relevan.
- Tentukan dimensi target: 2D untuk visualisasi umum, 3D bila butuh kedalaman lebih.
- Lakukan optimasi: Gunakan paket statistik (R:
stats::cmdscale, Python:sklearn.manifold.MDS). - Evaluasi hasil: Nilai stress < 0.1 dianggap sangat baik; 0.10.2 baik; >0.2 perlu peninjauan.
- Interpretasi & visualisasi: Plot titik, beri label, gunakan warna/ukuran untuk variabel tambahan.
Contoh Implementasi dengan Python
import numpy as npfrom sklearn.manifold import MDSimport matplotlib.pyplot as plt# contoh matriks jarak 5 objekD = np.array([[0, 2, 4, 6, 8], [2, 0, 5, 7, 9], [4, 5, 0, 3, 5], [6, 7, 3, 0, 2], [8, 9, 5, 2, 0]])mds = MDS(dissimilarity='precomputed', random_state=42)X = mds.fit_transform(D) # X berukuran (5, 2)plt.figure(figsize=(6,5))plt.scatter(X[:,0], X[:,1], c='steelblue')for i, (x,y) in enumerate(X): plt.text(x+0.02, y+0.02, f'Obj{i+1}')plt.title('Hasil MDS 2dimensi')plt.xlabel('Dimensi 1')plt.ylabel('Dimensi 2')plt.grid(True)plt.show() Script di atas menghasilkan plot yang menampilkan lima objek dalam ruang dua dimensi, dimana jarak antar titik merefleksikan jarak asal pada matriks D.
Kelebihan & Keterbatasan
Kelebihan
- Fleksibel: Dapat memakai hampir semua tipe jarak.
- Interpretatif: Visualisasi yang intuitif untuk pola klaster atau outlier.
- Nonmetric: Tidak memerlukan asumsi linearitas pada data.
Keterbatasan
- Kompleksitas komputasi O(n) untuk membuat matriks jarak; menjadi berat bila n > 10.000.
- Solusi tidak unik rotasi, refleksi, dan translasi tidak memengaruhi stress.
- Jika stress tinggi, representasi 2 atau 3dimensi mungkin menyesatkan.
Aplikasi Nyata
Berikut beberapa bidang yang secara rutin memanfaatkan MDS:
| Bidang | Contoh Penggunaan |
|---|---|
| Pemasaran | Memetakan persepsi konsumen terhadap merek berdasarkan survei similarity. |
| Bioinformatika | Visualisasi hubungan evolusi antar spesies menggunakan jarak genetika. |
| Psikologi | Analisis data skala Likert untuk menemukan dimensi utama persepsi. |
| Pengolahan citra | Menilai kesamaan bentuk setelah ekstraksi fitur. |
| Rekomendasi | Menampilkan item serupa berdasarkan jarak vektor embedding. |
Perbandingan dengan Metode Lain
Berikut ringkasan perbedaan utama antara MDS, PCA, dan tSNE:
| Metode | Input | Tujuan | Kekuatan | Kelemahan |
|---|---|---|---|---|
| PCA | Data mentah (matriks fitur) | Mengurangi dimensi dengan memaksimalkan varians | Sederhana, cepat, linier | Hanya menangkap struktur linier |
| MDS | Matriks jarak/dissimilarity | Mengkonservasi jarak | Fleksibel terhadap tipe jarak | Komputasi berat, stress tinggi bila dimensi terlalu rendah |
| tSNE | Matriks jarak atau data mentah | Menjaga struktur lokal | Visualisasi klaster yang jelas | Parameter sensitif, sulit menginterpretasi skala global |
Tips Praktis untuk Hasil Optimal
- Normalisasi jarak: Jika skala jarak sangat bervariasi, skala ulang (mis. minmax) dapat menurunkan stress.
- Pilih jumlah dimensi dengan elbow method: Jalankan MDS dengan k=15, plot stress vs k, pilih elbow.
- Gunakan inisialisasi yang baik: Inisialisasi random seed atau koordinat PCA dapat mempercepat konvergensi.
- Periksa stabilitas: Jalankan beberapa kali dengan seed berbeda; jika konfigurasi berubah drastis, data mungkin tidak dapat direpresentasikan dalam dimensi rendah.
Kesimpulan
Multidimensional Scaling merupakan alat visualisasi yang kuat untuk memahami struktur jarak antar objek. Dengan pilihan antara metric dan nonmetric, serta kemampuan menggunakan berbagai jenis dissimilarity, MDS cocok untuk banyak domain mulai dari pemasaran hingga ilmu hayati. Meskipun memiliki keterbatasan komputasi dan sensitif terhadap nilai stress, penerapan hatihatitermasuk praproses yang baik, pemilihan dimensi, dan evaluasi stressdapat menghasilkan peta dua atau tiga dimensi yang informatif dan mudah dipahami.
