💡 Dekomposisi Matriks dan Konsep Jarak
Penjelasan, Rumus, Contoh, Implementasi dari Praktikum 1
Disusun oleh Nurul Syfa Mauludina
Tanggal: 2025-09-11
Matriks adalah angka-angka yang disusun sedemikian sehingga menyerupai persegipanjang berdasarkan urutan baris dan kolom. Angka-angka yang menyusun matriks disebut sebagai unsur atau elemen. Umumnya, matriks berada di dalam tanda kurung dan dinyatakan sebagai huruf kapital. Sementara itu, unsur atau elemen dinyatakan sebagai huruf kecil serta memiliki indeks. Indeks tersebut menyatakan letak baris dan kolom unsur. Baris adalah susunan angka yang arahnya horizontal atau mendatar. Sementara kolom adalah susunan angka yang arahnya vertikal. Perhatikan contoh matriks berikut.Berikut contoh matriks berukuran 2 x 2: \[ A = \begin{bmatrix} 3 & 5 \\ 6 & 8 \end{bmatrix}\]
Operasi matriks mencakup penjumlahan, pengurangan, perkalian(skalar/antar matriks), serta transpose.Operasi ini penting untuk memanipulasi data multivariat yang biasanyaberbentuk tabel.
# input data #
X = matrix(c(10, 8, 7,
4, 5, 6,
7, 8, 1), nrow = 3, ncol = 3); X
## [,1] [,2] [,3]
## [1,] 10 4 7
## [2,] 8 5 8
## [3,] 7 6 1
Matriks A adalah matriks berordo 3x3, artinya memiliki 3 baris dan 3 kolom. Pada sintaks R, nrow digunakan untuk menentukan jumlah baris yang diinginkan, sedangkan ncol untuk menentukan jumlah kolom. Secara default, R akan mengisi elemen matriks secara kolom terlebih dahulu (dari atas ke bawah). Jika ingin mengisi elemen berdasarkan baris terlebih dahulu, gunakan argumen byrow = TRUE.
Y = matrix(c(6, 3, 4,
5, 1, 7,
2, 8, 9), nrow = 3, ncol = 3, byrow = TRUE); Y
## [,1] [,2] [,3]
## [1,] 6 3 4
## [2,] 5 1 7
## [3,] 2 8 9
Matriks Y merupakan matriks dengan ordo 3x3 yang disusun berdasarkan barisnya terlebih dahulu.
Penjumlahan matriks merupakan operasi dasar yang dilakukan dengan menambahkan dua matriks yang memiliki ukuran sama, di mana setiap elemen pada posisi yang sama dijumlahkan. Hasil dari operasi ini adalah matriks baru dengan elemen-elemen yang merupakan hasil penjumlahan elemen-elemen seposisi dari kedua matriks tersebut. \[(A + B)_{ij} = a_{ij} + b_{ij}\]
X + Y
## [,1] [,2] [,3]
## [1,] 16 7 11
## [2,] 13 6 15
## [3,] 9 14 10
Pengurangan matriks adalah operasi dalam aljabar linear yang dilakukan dengan mengurangkan elemen-elemen pada dua matriks yang memiliki ukuran sama. Sama seperti penjumlahan matriks, operasi ini hanya bisa dilakukan jika kedua matriks memiliki dimensi yang identik. \[ (A - B)_{ij} = a_{ij} - b_{ij}\]
X - Y
## [,1] [,2] [,3]
## [1,] 4 1 3
## [2,] 3 4 1
## [3,] 5 -2 -8
Y - X
## [,1] [,2] [,3]
## [1,] -4 -1 -3
## [2,] -3 -4 -1
## [3,] -5 2 8
Perkalian matriks adalah operasi yang mengombinasikan dua matriks dengan mengalikan elemen baris dari matriks pertama dengan elemen kolom dari matriks kedua. Perkalian ini hanya dapat dilakukan jika jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua. Operasi ini bersifat tidak komutatif, artinya hasil AB tidak selalu sama dengan BA. Perkalian matriks sering digunakan dalam transformasi linear, penyelesaian sistem persamaan, dan representasi berbagai model matematika. Secara umum, terdapat tiga jenis perkalian matriks dalam R. \[ (AB)_{ij} = \sum_{k=1}^n a_{ik} b_{kj} \]
X %*% Y
## [,1] [,2] [,3]
## [1,] 94 90 131
## [2,] 89 93 139
## [3,] 74 35 79
Y %*% X
## [,1] [,2] [,3]
## [1,] 112 63 70
## [2,] 107 67 50
## [3,] 147 102 87
Misalkan ada matriks X dan Y, jika ingin mengalikan elemen X1 dengan Y1 maka hanya mengunakaan * saja.
X*Y
## [,1] [,2] [,3]
## [1,] 60 12 28
## [2,] 40 5 56
## [3,] 14 48 9
2*Y
## [,1] [,2] [,3]
## [1,] 12 6 8
## [2,] 10 2 14
## [3,] 4 16 18
Transpose adalah operasi pada matriks yang menukar posisi baris menjadi kolom dan kolom menjadi baris. Operasi ini berguna untuk menganalisis sifat simetri matriks, merapikan atau mengatur ulang data, serta digunakan dalam perhitungan dot product dan berbagai operasi aljabar linear lainnya.
transX = t(X); transX
## [,1] [,2] [,3]
## [1,] 10 8 7
## [2,] 4 5 6
## [3,] 7 8 1
transY = t(Y); transY
## [,1] [,2] [,3]
## [1,] 6 5 2
## [2,] 3 1 8
## [3,] 4 7 9
Invers matriks adalah kebalikan dari sebuah matriks persegi, yaitu matriks yang apabila dikalikan dengan matriks asal akan menghasilkan matriks identitas. Tidak semua matriks memiliki invers, dan syarat utamanya adalah determinan matriks tidak bernilai nol. Invers banyak digunakan untuk menyelesaikan sistem persamaan linear. Invers dari matriks \(\boldsymbol{A}\) dilambangkan dengan \(\boldsymbol{A}^{-1}\), dan memenuhi: \[\boldsymbol{A} \times \boldsymbol{A}^{-1} = \boldsymbol{A}^{-1} \times \boldsymbol{A} = \boldsymbol{I}\] di mana \(\boldsymbol{I}\) adalah matriks identitas.
inv_X = solve(X); inv_X
## [,1] [,2] [,3]
## [1,] 0.29251701 -0.2585034 0.02040816
## [2,] -0.32653061 0.2653061 0.16326531
## [3,] -0.08843537 0.2176871 -0.12244898
inv_Y = solve(Y); inv_Y
## [,1] [,2] [,3]
## [1,] 0.2107623 -0.02242152 -0.07623318
## [2,] 0.1390135 -0.20627803 0.09865471
## [3,] -0.1704036 0.18834081 0.04035874
Determinan matriks adalah sebuah nilai skalar yang dihitung dari elemen-elemen matriks persegi, yaitu matriks yang memiliki jumlah baris dan kolom sama. Nilai ini memberikan informasi penting mengenai sifat matriks, seperti apakah matriks tersebut dapat diinvers atau tidak, serta berperan sebagai faktor skala dalam transformasi linear. Determinan membantu memahami karakteristik matriks, termasuk invertibilitas dan perilaku transformasinya terhadap ruang.Determinan matriks \(\boldsymbol{A}\) dilambangkan dengan \(\det(\boldsymbol{A})\) atau ∣\(\boldsymbol{A}\)∣.
\[\det(A) = \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc \\det(A) = \begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix} = a(ei - fh) - b(di - fg) + c(dh - eg)\]
Contoh :
det(X)
## [1] -147
det(Y)
## [1] -223
eigX = eigen(X); eigX
## eigen() decomposition
## $values
## [1] 18.965820 -4.637242 1.671421
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.6343697 -0.2728951 -0.6047536
## [2,] -0.6244251 -0.4701917 0.7388204
## [3,] -0.4557064 0.8393140 0.2973508
eigY = eigen(Y); eigY
## eigen() decomposition
## $values
## [1] 15.734832 3.899540 -3.634372
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.4565596 -0.8318945 0.04397517
## [2,] -0.5034181 -0.1351721 -0.84718692
## [3,] -0.7335691 0.5382193 0.52947191
Eigen value adalah bilangan skalar yang dihasilkan dari suatu transformasi linear dan menunjukkan seberapa besar sebuah matriks dapat meregangkan atau mengecilkan panjang vektor tertentu tanpa mengubah arah vektor tersebut. Eigen value sangat penting dalam analisis data multivariat, seperti pada Principal Component Analysis (PCA), untuk mengetahui besarnya kontribusi masing-masing komponen utama terhadap variasi data.
Fokus pada mencari Eigen Value saja.
eigvalX = eigX$values; eigvalX
## [1] 18.965820 -4.637242 1.671421
eigvalY = eigY$values; eigvalY
## [1] 15.734832 3.899540 -3.634372
Eigen vector adalah vektor khusus yang arah atau orientasinya tetap saat dikalikan dengan suatu matriks, sementara panjangnya berubah sesuai dengan eigen value yang bersesuaian. Eigen vector banyak dimanfaatkan dalam Principal Component Analysis (PCA) maupun Analisis Faktor untuk menentukan sumbu atau arah baru yang merepresentasikan variasi terbesar dalam data.
Fokus pada mencari Eigen Vector saja.
eigvecX = eigX$vectors; eigvecX
## [,1] [,2] [,3]
## [1,] -0.6343697 -0.2728951 -0.6047536
## [2,] -0.6244251 -0.4701917 0.7388204
## [3,] -0.4557064 0.8393140 0.2973508
eigvecY = eigY$vectors; eigvecY
## [,1] [,2] [,3]
## [1,] -0.4565596 -0.8318945 0.04397517
## [2,] -0.5034181 -0.1351721 -0.84718692
## [3,] -0.7335691 0.5382193 0.52947191
Singular Value Decomposition (SVD) adalah metode dekomposisi matriks yang memecah sebuah matriks menjadi tiga matriks komponen, yaitu (U, Σ, dan Vᵀ) dan Teknik ini banyak digunakan untuk mereduksi dimensi data berukuran besar, melakukan kompresi data, serta membantu dalam pengenalan pola dan analisis struktur data.
a <- matrix(c(4,6,-1,-3,3,6,8,-2,4,1,-2,8),5,2, byrow=TRUE)
## Warning in matrix(c(4, 6, -1, -3, 3, 6, 8, -2, 4, 1, -2, 8), 5, 2, byrow =
## TRUE): data length [12] is not a sub-multiple or multiple of the number of rows
## [5]
a
## [,1] [,2]
## [1,] 4 6
## [2,] -1 -3
## [3,] 3 6
## [4,] 8 -2
## [5,] 4 1
svd_result <- svd(a)
singular_value <- svd_result$d ; singular_value
## [1] 11.422867 7.843349
U <- svd_result$u ; U
## [,1] [,2]
## [1,] -0.5941923 0.3105134
## [2,] 0.2267879 -0.2312211
## [3,] -0.5238841 0.3864778
## [4,] -0.4581458 -0.8125060
## [5,] -0.3333927 -0.2014626
V <- svd_result$v ; V
## [,1] [,2]
## [1,] -0.8031212 -0.5958157
## [2,] -0.5958157 0.8031212
Matriks jarak adalah matriks yang memuat nilai jarak antara setiap pasangan objek dalam suatu dataset, sehingga memudahkan analisis kedekatan, kesamaan, maupun perbedaan antar objek dalam ruang data.
Sebelum melakukan perhitungan berbagai jenis matriks jarak, terlebih dahulu kita akan menyiapkan sebuah dataset. Pada contoh ini, kita menggunakan teknik random sampling dari dataset bawaan agar analisis lebih fleksibel dan tidak terbatas pada penggunaan keseluruhan data.
library(factoextra) # Menggunakan library untuk visualisasi konsep jarak
set.seed(987) #Menentukan seed agar hasil sampling konsisten
ss <- sample(1:50, 15) # ambil 15 data secara acak dari 50 observasi
df <- USArrests[ss, ]
# Melakukan standardisasi data (penting bila skala antar variabel berbeda)
df.scaled <- scale(df)
df.scaled
## Murder Assault UrbanPop Rape
## Washington -0.87419078 -0.41645232 0.5587028 0.74899841
## Missouri 0.29036177 -0.02229573 0.2762126 1.03235216
## New Hampshire -1.31672075 -1.46753657 -1.0420749 -1.61700540
## New York 0.77947384 0.88545886 1.7828270 0.73483072
## Virginia 0.17390651 -0.28506679 -0.3829312 -0.03022440
## Minnesota -1.17697444 -1.28837449 -0.1004410 -0.85195027
## Iowa -1.29342970 -1.47948071 -0.9479115 -1.36198702
## Illinois 0.61643648 0.82573816 1.5003368 0.43730929
## Idaho -1.20026550 -0.71505580 -1.2304017 -0.95112409
## Louisiana 1.78098903 0.82573816 -0.1004410 0.18229091
## Alabama 1.26858591 0.67046435 -0.8537481 0.04061404
## Kentucky 0.45339913 -0.84644133 -1.4187285 -0.65360265
## Arizona 0.08074231 1.36322442 1.2178466 1.42904741
## Delaware -0.43166081 0.69435263 0.4645394 -0.72444109
## New Mexico 0.84934699 1.25572717 0.2762126 1.58489197
## attr(,"scaled:center")
## Murder Assault UrbanPop Rape
## 7.753333 179.866667 67.066667 20.913333
## attr(,"scaled:scale")
## Murder Assault UrbanPop Rape
## 4.293495 83.723070 10.619838 7.058315
Jarak Euclidean adalah ukuran jarak terpendek secara garis lurus antara dua titik dalam suatu ruang, seperti jarak yang diukur menggunakan penggaris. Ukuran jarak ini banyak digunakan dalam geometri dan machine learning.
Metode ini sering diterapkan pada algoritma seperti K-Means Clustering, Nearest Neighbor, serta visualisasi data karena sifatnya yang intuitif dan mudah dipahami.
\[\boldsymbol{d} = \sqrt{(q_1 - p_1)^2 + (q_2 - p_2)^2 +...+(q_n - p_n)^2}\] Contoh aplikasi : Membandingkan pola irama jantung antar pasien untuk analisis medis serta digunakan dalam pemrosesan citra guna mengidentifikasi tepi atau batas objek pada gambar.
Jarak Chebyshev adalah ukuran jarak yang dihitung berdasarkan selisih terbesar antara koordinat dua titik.
Metode ini sering dimanfaatkan dalam optimasi rute pada sistem berbasis grid, pengukuran kedekatan pada ruang diskrit, serta untuk membatasi penyimpangan maksimum antar variabel dalam analisis data.
\[\boldsymbol{d = max(|q_1-p_1|, |q_2-p_2|,..., |q_n-p_n|)}\] Menentukan jumlah langkah tersingkat bagi bidak raja di papan catur dan merancang jalur pergerakan efisien untuk robot dalam area berbasis grid.
Jarak Manhattan (city-block distance) menghitung jarak sebagai jumlah nilai mutlak perbedaan antar koordinat. Sering dipakai dalam data diskrit atau grid.
\[\boldsymbol{d}_{ij}=\sum_{l=1}^{p} \lvert x_{li}-x_{lj} \rvert\] Contoh aplikasi : Menentukan rute optimal robot pembersih lantai di pusat perbelanjaan besar dengan sistem koordinat grid serta menganalisis efisiensi distribusi barang di pusat logistik menggunakan jalur konveyor otomatis berbasis titik simpul.
Jarak Mahalanobis mempertimbangkan korelasi antar variabel dan skala data. Cocok untuk mendeteksi outlier multivariat karena memperhitungkan bentuk distribusi data. Berbeda dengan jarak Euclidean yang menganggap semua dimensi independen dan berskala sama, jarak Mahalanobis mengukur jarak dalam satuan standar deviasi sepanjang sumbu principal dari distribusi.
\[ d_{\text{Mahalanobis}}(x,y) = \sqrt{(x - y)^T S^{-1} (x - y)} \]
Contoh aplikasi : Mengidentifikasi aktivitas keuangan yang berpotensi penipuan pada jaringan perbankan dan menemukan penyimpangan proses pada lini produksi untuk meningkatkan pengendalian mutu.
library(StatMatch)
dist.mah <- mahalanobis.dist(df.scaled); dist.mah
## Washington Missouri New Hampshire New York Virginia Minnesota
## Washington 0.000000 1.391561 2.7681746 2.9646029 2.077788 1.969342
## Missouri 1.391561 0.000000 2.9442625 2.7367692 1.426448 2.282130
## New Hampshire 2.768175 2.944263 0.0000000 3.1813281 1.837486 1.381168
## New York 2.964603 2.736769 3.1813281 0.0000000 2.472299 2.449910
## Virginia 2.077788 1.426448 1.8374861 2.4722992 0.000000 1.757724
## Minnesota 1.969342 2.282130 1.3811684 2.4499097 1.757724 0.000000
## Iowa 2.404300 2.593198 0.4311868 3.0931327 1.614645 1.096876
## Illinois 2.966345 2.801109 2.8434321 0.5486707 2.294777 2.323277
## Idaho 2.930180 3.196034 1.8528228 4.0514037 2.321421 2.769682
## Louisiana 3.849330 2.923615 3.0995297 2.5754339 1.966634 3.253944
## Alabama 3.714903 2.950470 2.8976602 3.4627573 1.904616 3.462809
## Kentucky 3.180569 2.295660 2.2821285 3.3971966 1.305240 2.540991
## Arizona 2.317103 2.650411 3.3742785 3.0550818 2.655587 3.262177
## Delaware 4.003370 4.260989 2.7619437 3.2706430 3.268832 3.370946
## New Mexico 2.559941 2.139745 3.5468376 3.5570411 2.235503 3.574727
## Iowa Illinois Idaho Louisiana Alabama Kentucky Arizona
## Washington 2.4042998 2.9663446 2.930180 3.849330 3.714903 3.180569 2.317103
## Missouri 2.5931978 2.8011087 3.196034 2.923615 2.950470 2.295660 2.650411
## New Hampshire 0.4311868 2.8434321 1.852823 3.099530 2.897660 2.282128 3.374279
## New York 3.0931327 0.5486707 4.051404 2.575434 3.462757 3.397197 3.055082
## Virginia 1.6146452 2.2947767 2.321421 1.966634 1.904616 1.305240 2.655587
## Minnesota 1.0968756 2.3232769 2.769682 3.253944 3.462809 2.540991 3.262177
## Iowa 0.0000000 2.8112692 1.908218 3.109979 2.928878 2.143999 3.258598
## Illinois 2.8112692 0.0000000 3.652250 2.374971 3.143011 3.241928 2.819825
## Idaho 1.9082179 3.6522499 0.000000 3.563058 2.592473 2.896820 2.629911
## Louisiana 3.1099787 2.3749710 3.563058 0.000000 1.490176 1.966751 3.584279
## Alabama 2.9288784 3.1430110 2.592473 1.490176 0.000000 1.912314 3.111864
## Kentucky 2.1439991 3.2419282 2.896820 1.966751 1.912314 0.000000 3.849622
## Arizona 3.2585981 2.8198247 2.629911 3.584279 3.111864 3.849622 0.000000
## Delaware 3.0141888 2.7350711 2.580083 3.453475 3.165780 4.070603 2.784678
## New Mexico 3.3752547 3.3824395 2.672078 3.054035 2.289059 3.066682 1.625440
## Delaware New Mexico
## Washington 4.003370 2.559941
## Missouri 4.260989 2.139745
## New Hampshire 2.761944 3.546838
## New York 3.270643 3.557041
## Virginia 3.268832 2.235503
## Minnesota 3.370946 3.574727
## Iowa 3.014189 3.375255
## Illinois 2.735071 3.382439
## Idaho 2.580083 2.672078
## Louisiana 3.453475 3.054035
## Alabama 3.165780 2.289059
## Kentucky 4.070603 3.066682
## Arizona 2.784678 1.625440
## Delaware 0.000000 3.651082
## New Mexico 3.651082 0.000000
dist.mah_matrix <- as.matrix(dist.mah) ; dist.mah_matrix
## Washington Missouri New Hampshire New York Virginia Minnesota
## Washington 0.000000 1.391561 2.7681746 2.9646029 2.077788 1.969342
## Missouri 1.391561 0.000000 2.9442625 2.7367692 1.426448 2.282130
## New Hampshire 2.768175 2.944263 0.0000000 3.1813281 1.837486 1.381168
## New York 2.964603 2.736769 3.1813281 0.0000000 2.472299 2.449910
## Virginia 2.077788 1.426448 1.8374861 2.4722992 0.000000 1.757724
## Minnesota 1.969342 2.282130 1.3811684 2.4499097 1.757724 0.000000
## Iowa 2.404300 2.593198 0.4311868 3.0931327 1.614645 1.096876
## Illinois 2.966345 2.801109 2.8434321 0.5486707 2.294777 2.323277
## Idaho 2.930180 3.196034 1.8528228 4.0514037 2.321421 2.769682
## Louisiana 3.849330 2.923615 3.0995297 2.5754339 1.966634 3.253944
## Alabama 3.714903 2.950470 2.8976602 3.4627573 1.904616 3.462809
## Kentucky 3.180569 2.295660 2.2821285 3.3971966 1.305240 2.540991
## Arizona 2.317103 2.650411 3.3742785 3.0550818 2.655587 3.262177
## Delaware 4.003370 4.260989 2.7619437 3.2706430 3.268832 3.370946
## New Mexico 2.559941 2.139745 3.5468376 3.5570411 2.235503 3.574727
## Iowa Illinois Idaho Louisiana Alabama Kentucky Arizona
## Washington 2.4042998 2.9663446 2.930180 3.849330 3.714903 3.180569 2.317103
## Missouri 2.5931978 2.8011087 3.196034 2.923615 2.950470 2.295660 2.650411
## New Hampshire 0.4311868 2.8434321 1.852823 3.099530 2.897660 2.282128 3.374279
## New York 3.0931327 0.5486707 4.051404 2.575434 3.462757 3.397197 3.055082
## Virginia 1.6146452 2.2947767 2.321421 1.966634 1.904616 1.305240 2.655587
## Minnesota 1.0968756 2.3232769 2.769682 3.253944 3.462809 2.540991 3.262177
## Iowa 0.0000000 2.8112692 1.908218 3.109979 2.928878 2.143999 3.258598
## Illinois 2.8112692 0.0000000 3.652250 2.374971 3.143011 3.241928 2.819825
## Idaho 1.9082179 3.6522499 0.000000 3.563058 2.592473 2.896820 2.629911
## Louisiana 3.1099787 2.3749710 3.563058 0.000000 1.490176 1.966751 3.584279
## Alabama 2.9288784 3.1430110 2.592473 1.490176 0.000000 1.912314 3.111864
## Kentucky 2.1439991 3.2419282 2.896820 1.966751 1.912314 0.000000 3.849622
## Arizona 3.2585981 2.8198247 2.629911 3.584279 3.111864 3.849622 0.000000
## Delaware 3.0141888 2.7350711 2.580083 3.453475 3.165780 4.070603 2.784678
## New Mexico 3.3752547 3.3824395 2.672078 3.054035 2.289059 3.066682 1.625440
## Delaware New Mexico
## Washington 4.003370 2.559941
## Missouri 4.260989 2.139745
## New Hampshire 2.761944 3.546838
## New York 3.270643 3.557041
## Virginia 3.268832 2.235503
## Minnesota 3.370946 3.574727
## Iowa 3.014189 3.375255
## Illinois 2.735071 3.382439
## Idaho 2.580083 2.672078
## Louisiana 3.453475 3.054035
## Alabama 3.165780 2.289059
## Kentucky 4.070603 3.066682
## Arizona 2.784678 1.625440
## Delaware 0.000000 3.651082
## New Mexico 3.651082 0.000000
Jarak Minkowski merupakan bentuk umum yang mencakup beberapa ukuran jarak lain sebagai kasus khusus, seperti jarak Manhattan, jarak Euclidean, dan jarak Chebyshev. \[ d_{\text{Minkowski}}(x,y;q) = \left( \sum_{i=1}^p |x_i - y_i|^q \right)^{\frac{1}{q}}\]
catatan: - \(q=1\) ⟶ Jarak
Manhattan
- \(q=2\) ⟶ Jarak Euclidean
- \(q \to \infty\) ⟶ Jarak
Chebyshev
matriks adalah sebagai berikut
#(5 observasi, 3 variabel)
data <- matrix(c(
2,4,5,
3,6,7,
4,5,8,
5,9,6,
2,3,1
), nrow = 5, byrow = TRUE)
colnames(data) <- c("X1", "X2", "X3")
rownames(data) <- paste("Obs", 1:5, sep = "")
data
## X1 X2 X3
## Obs1 2 4 5
## Obs2 3 6 7
## Obs3 4 5 8
## Obs4 5 9 6
## Obs5 2 3 1
Vektor rata-rata adalah sebuah vektor yang berisi nilai rata-rata dari setiap variabel dalam sebuah dataset multivariat. Jika suatu data memiliki p variabel dan n pengamatan, maka vektor rata-rata terdiri dari p elemen, di mana setiap elemen mewakili rata-rata satu variabel.
Misal kita mempunyai dataset sebagai berikut :
# input data kadal
BB = c(7.2,10.5,9.7,12.1,7.5,6.9,11.0,2.1,13.7,9.4)
PM = c(63,75,67,74,58,59,86,45,84,70)
RTB = c(112,126,135,124,130,120,133,100,160,128)
lizard = as.matrix(cbind(BB,PM,RTB)); lizard
## BB PM RTB
## [1,] 7.2 63 112
## [2,] 10.5 75 126
## [3,] 9.7 67 135
## [4,] 12.1 74 124
## [5,] 7.5 58 130
## [6,] 6.9 59 120
## [7,] 11.0 86 133
## [8,] 2.1 45 100
## [9,] 13.7 84 160
## [10,] 9.4 70 128
Matriks rata-rata adalah matriks yang dibentuk dengan menyalin vektor rata-rata ke seluruh baris sehingga ukurannya sama dengan matriks data asli. Setiap barisnya identik dan berisi rata-rata setiap variabel. Matriks ini digunakan untuk memusatkan data (centering) dengan cara mengurangkannya dari matriks data, yang penting dalam perhitungan kovarians, korelasi, serta analisis multivariat seperti PCA dan analisis faktor.
vecMeans = as.matrix(colMeans(lizard)); vecMeans
## [,1]
## BB 9.01
## PM 68.10
## RTB 126.80
vecRata = matrix(c(mean(BB), mean(PM), mean(RTB)), nrow=3, ncol=1); vecRata
## [,1]
## [1,] 9.01
## [2,] 68.10
## [3,] 126.80
Matriks kovarians menggambarkan hubungan variabilitas antar variabel. Setiap elemen menunjukkan kovarians antara dua variabel. Matriks ini adalah dasar analisis multivariat seperti PCA, DFA, dan MANOVA.
varkov = cov(lizard); varkov
## BB PM RTB
## BB 10.67878 37.99889 42.86889
## PM 37.99889 156.10000 148.24444
## RTB 42.86889 148.24444 245.73333
Matriks korelasi adalah matriks berukuran p×p yang menampilkan koefisien korelasi antar variabel dalam dataset. Nilai diagonalnya selalu 1, sedangkan elemen lainnya menunjukkan kekuatan dan arah hubungan antar variabel dengan rentang -1 hingga 1.
korel = cor(lizard); korel
## BB PM RTB
## BB 1.0000000 0.9306978 0.8368535
## PM 0.9306978 1.0000000 0.7569112
## RTB 0.8368535 0.7569112 1.0000000
Matriks standardisasi diperoleh dengan menstandarkan data (mengurangkan rata-rata dan membagi dengan simpangan baku). Matriks ini penting untuk memastikan semua variabel memiliki skala yang sama sebelum analisis multivariat, sehingga tidak ada variabel dengan skala besar yang mendominasi hasil analisis.
n = nrow(lizard);n
## [1] 10
u = matrix(1,n,1); u #baris, n=banyaknya baris, kolom jadi ordonya 1x1
## [,1]
## [1,] 1
## [2,] 1
## [3,] 1
## [4,] 1
## [5,] 1
## [6,] 1
## [7,] 1
## [8,] 1
## [9,] 1
## [10,] 1
xbar = cbind((1/n)*t(u)%*%lizard); xbar #cbind = collumn bind
## BB PM RTB
## [1,] 9.01 68.1 126.8
D = lizard - u %*% xbar; D
## BB PM RTB
## [1,] -1.81 -5.1 -14.8
## [2,] 1.49 6.9 -0.8
## [3,] 0.69 -1.1 8.2
## [4,] 3.09 5.9 -2.8
## [5,] -1.51 -10.1 3.2
## [6,] -2.11 -9.1 -6.8
## [7,] 1.99 17.9 6.2
## [8,] -6.91 -23.1 -26.8
## [9,] 4.69 15.9 33.2
## [10,] 0.39 1.9 1.2
S = (1/(n-1))*t(D)%*%D; S
## BB PM RTB
## BB 10.67878 37.99889 42.86889
## PM 37.99889 156.10000 148.24444
## RTB 42.86889 148.24444 245.73333
Ds = diag(sqrt(diag(S))); Ds
## [,1] [,2] [,3]
## [1,] 3.26784 0.000 0.00000
## [2,] 0.00000 12.494 0.00000
## [3,] 0.00000 0.000 15.67588
R = solve(Ds) %*% S %*% solve(Ds); R
## [,1] [,2] [,3]
## [1,] 1.0000000 0.9306978 0.8368535
## [2,] 0.9306978 1.0000000 0.7569112
## [3,] 0.8368535 0.7569112 1.0000000