1 MATRIKS

Matriks adalah susunan bilangan yang membentuk persegi atau persegi pajang yang diapit oleh kurung siku dan tersusun secara teratur dalam baris-baris dan kolom-kolom. Jika suatu matriks terdiri dari \(m\) baris dan \(n\) kolom, maka matriks tersebut dikatakan berukuran (ordo) \(m \times n\). Sebagai contoh, matriks A dengan ordo 3 x 3 dapat dituliskan sebagai berikut :

\[ A = \begin{bmatrix} 6 & 14 & 5 \\ 1 & 9 & 1 \\ 12 & 8 & 7 \end{bmatrix} \]

Matriks \(A\) di atas merupakan matriks persegi berordo \(3 \times 3\) karena terdiri dari 3 baris dan 3 kolom sehingga jumlah elemennya adalah 9 elemen. Setiap elemen matriks dituliskan sebagai \(a_{ij}\) dengan \(i\) menyatakan baris dan \(j\) menyatakan kolom. Sebagai contoh, \(a_{12} = 14\) menunjukkan elemen pada baris ke-1 dan kolom ke-2.

Dalam R, matriks dapat dibuat dengan menggunakan fungsi matrix(). Fungsi ini membutuhkan data sebagai isi matriks yang mencakup jumlah baris (nrow) dan jumlah kolom (ncol). Selain itu, ada juga byrow digunakan untuk mengatur cara pengisian elemen. Apabila matriks ingin disajikan berdasarkan kolom, kita dapat menyatakan byrow = FALSE yang merupakan nilai default di R.

# input data #
X = matrix(c(6,8,7,
             5,7,6,
             8,6,9), nrow = 3, ncol = 3, byrow = FALSE) ; X
##      [,1] [,2] [,3]
## [1,]    6    5    8
## [2,]    8    7    6
## [3,]    7    6    9

Sebaliknya, jika ingin menyatakan matriks berdasarkan baris, kita dapat menyatakan matriks dengan byrow = TRUE

Y = matrix(c(6,8,7,
             5,7,6,
             8,6,9), nrow = 3, ncol = 3, byrow = TRUE) ; Y
##      [,1] [,2] [,3]
## [1,]    6    8    7
## [2,]    5    7    6
## [3,]    8    6    9

1.1 Operasi Matriks

1.1.1 Penjumlahan dan Pengurangan Matriks

Penjumlahan dan pengrangan matriks hanya dapat dilakukan pada dua matriks yang berordo sama, yaitu dengan menjumlahkan elemen-elemen yang seposisi. Secara umum dapat dituliskan sebagai berikut:

\[ (A + B)_{ij} = a_{ij} + b_{ij} \\ (A - B)_{ij} = a_{ij} - b_{ij} \]

Dalam R, penjumlahan dan pengurangan matriks \(X\) dan \(Y\) dapat ditulis dengan syntax:

penjumlahan <- X + Y; penjumlahan
##      [,1] [,2] [,3]
## [1,]   12   13   15
## [2,]   13   14   12
## [3,]   15   12   18
pengurangan <- X - Y; pengurangan
##      [,1] [,2] [,3]
## [1,]    0   -3    1
## [2,]    3    0    0
## [3,]   -1    0    0

1.1.2 Perkalian Antar Matriks

Perkalian matriks hanya dapat dilakukan apabila jumlah kolom pada matriks pertama sama dengan jumlah baris pada matriks kedua.Hasil perkalian berupa sebuah matriks baru, di mana setiap elemennya diperoleh dengan cara mengalikan elemen-elemen pada baris matriks pertama dengan elemen-elemen pada kolom matriks kedua, kemudian menjumlahkan hasil perkalian tersebut. SEbagai contoh, jika matriks \(A\) berordo \(m \times n\) dan matriks \(B\) berrordo \(n \times p\), maka hasil perkalian \(A \times B\) dapat dinyatakan dengan matriks \(C\) dimana matriks \(C\) berordo \(m \times p\). Setiap elemen \(c_{ij}\) dari matriks \(C\) dihitung dengan rumus :

\[ c_{ij} = \sum_{k=1}^n a_{ik} \cdot b_{kj} \]

Dalam R, perkalian matriks \(X\) dan \(Y\) dapat ditulis dengan syntax :

X %*% Y
##      [,1] [,2] [,3]
## [1,]  125  131  144
## [2,]  131  149  152
## [3,]  144  152  166
Y %*% X
##      [,1] [,2] [,3]
## [1,]  149  128  159
## [2,]  128  110  136
## [3,]  159  136  181

Hasil dari \(X \times Y\) tidak akan sama dengan hasil \(Y \times X\), karena perkalian matriks tidak bersifat komutatif.

1.1.3 Perkalian Antara Elemen

Perkalian antar elemen pada dua matriks dengan ordo yang sama, di mana setiap elemen pada posisi tertentu dalam matriks pertama dikalikan langsung dengan elemen yang berada pada posisi yang sama dalam matriks kedua. Hasilnya adalah sebuah matriks baru dengan ordo yang sama. SEcara umum, jika \(A = [a_{ij}]\) dan \(B = [b_{ij}]\) adalah dua matriks berordo \(m \times n\), maka hasil perkalian antar elemen \(A \circ B\) yang dinyatakan dengan matriks \(C\) dapat ditulis sebagai berikut :

\[ c_{ij} = a_{ij} \cdot b_{ij} \]

Selain itu, suatu matriks juga bisa dikalian dengan skalar. Caranya, setiap elemen matriks dikalikan dengan bilangan skalar tersebut. Hasilnya tetap berupa matriks dengan ordo yang sama, hanya nilainya berubah sesuai perkalian. Secara umum, jika \(k\) adalahs skalar dan \(A = [a_{ij}]\) dimana matriks \(A\) berordo \(m \times n\), maka hasil perkaloan skalar \(k \times A\) dapat ditulis sebagia berikut :

\[ c_{ij} = k \cdot a_{ij} \]

Dalam R, perkalian antar elemen matriks dan skalar dapat ditulis dengan syntax sepert di bawah ini:

X*Y #Perkalian antar elemen
##      [,1] [,2] [,3]
## [1,]   36   40   56
## [2,]   40   49   36
## [3,]   56   36   81
2*X #Perkalian dengan skalar
##      [,1] [,2] [,3]
## [1,]   12   10   16
## [2,]   16   14   12
## [3,]   14   12   18

1.1.4 Transpose Matriks

Transpose matriks adalah operasi yang menukar baris menjadi kolom, sedangkan kolom menjadi baris. Misalnya \(A*\)berordo \(m \times n\) ditranspose menjadi \(A^T\), sehingga ordonya menjadi \(n \times m\). Adapun, ilustrasinya sebagai berikut :

\[ A = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix} \] maka hasil transpose adalah:

\[ A^T = \begin{bmatrix} a_{11} & a_{21} & \dots & a_{m1} \\ a_{12} & a_{22} & \dots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \dots & a_{mn} \end{bmatrix} \]

Dalam R, untuk melakukan operasi transpose, kita dapat menggunakan syntax \(t\)**.

transX = t(X); transX
##      [,1] [,2] [,3]
## [1,]    6    8    7
## [2,]    5    7    6
## [3,]    8    6    9

1.1.5 Invers Matriks

Invers matriks adalah suatu matriks yang jika dikalikan dengan matriks asalnya akan menghasilkan matriks identitas. Jika sebuah matriks \(A\) berukuran \(n \times n\) dan memiliki invers, maka matriks tersebut disebut invertibel, dan inversnya dinotasikan sebagai \(A^{-1}\). Hubungan yang berlaku adalah

\[ A \cdot A^{-1} = A^{-1} \cdot A = I, \]

di mana \(I\) adalah matriks identitas berukuran \(n \times n\). Tidak semua matriks memiliki invers; hanya matriks persegi dengan determinan tidak sama dengan nol yang bisa diinverskan. dan \(A^{-1}\) dapat dihitung dengan rumus umum sebagai berikut :

\[ A^{-1} = \frac{1}{det(A)} adj(A) \]

Dengan syarat, det(A) \(\neq 0\). Dalam R, perhitungan invers matriks dilakukan dengan fungsi solve() sebagai berikut :

inv_X = solve(X); inv_X
##       [,1]  [,2] [,3]
## [1,]  6.75  0.75 -6.5
## [2,] -7.50 -0.50  7.0
## [3,] -0.25 -0.25  0.5

1.1.6 Determinan Matriks

Determinan adalah sebuah nilai tunggal (bilangan real atau kompleks) yang dihitung dari suatu matriks persegi. Determinan dapat ditulis sebagai \(|A|\) atau \(det(A)\). Determinan dapat memberikan informasi tentang sifat matriks tersebut, seperti apakah matriks tersebut memiliki invers atau dapat digunakan untuk menyelesaikan sistem persamaan linear. Bentuk rumus umum determinan matriks \(2x2\) adalah sebagai berikut :

\[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \to det(A) =ad-bc \] Jika kita ingin menghitung determinan matriks dengan ordo yang lebih tinggi tentu saja akan jauh lebih kompleks. Oleh karena itu, kita dapat menggunakan R dengan syntax \(det()\) seperti dibawah ini :

deter = det(X)

1.2 Pembuatan Matriks

1.2.1 Membuat Matriks dengan Angka Berurutan

Dalam R, kita dapat membuat matriks dari sebuah deret angka dengan menggunakan fungsi matrix(). Fungsi ini membutuhkan beberapa argumen penting, yaitu data yang ingin dimasukkan, jumlah baris (nrow), dan jumlah kolom (ncol). Jika data yang diberikan berupa urutan bilangan, maka elemen matriks akan terisi sesuai urutan tersebut. Secara default, pengisian dilakukan per kolom terlebih dahulu, dari atas ke bawah, lalu berlanjut ke kolom berikutnya. Misalnya, kita ingin membuat matriks A dengan ukuran 4 baris \(\times\) 5 kolom. Data yang digunakan adalah deret angka dari 21 sampai 40. Karena jumlah datanya ada 20, tepat sesuai dengan kapasitas matriks (4 \(\times\) 5 = 20), maka semua elemen akan terisi penuh. Maka syntax yang dituliskan adalah sebagai berikut :

A <- matrix(21:40, nrow=4, ncol=5) ; A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   21   25   29   33   37
## [2,]   22   26   30   34   38
## [3,]   23   27   31   35   39
## [4,]   24   28   32   36   40

Pada contoh tersebut, Angka 21 menempati posisi baris pertama kolom pertama, angka 22 pada baris kedua kolom pertama, dan seterusnya hingga angka 40 yang berada pada baris keempat kolom kelima.

1.2.2 Membuat Matriks dari Vektor

Selain menggunakan deret angka secara langsung, kita juga bisa membuat matriks dari sebuah vektor. Jika menggunakan vektor, kita dapat menentukan sendiri angka-angka yang ingin dimasukkan ke dalam matriks, kemudian mengatur bagaimana elemen tersebut akan ditempatkan ke dalam baris dan kolom. Contohnya sebagai berikut :

b <- c(4,7,2,8,5,9,6,3,1,10,12,11) 
B <- matrix(b, nrow=3, ncol=4, byrow=TRUE) ; B
##      [,1] [,2] [,3] [,4]
## [1,]    4    7    2    8
## [2,]    5    9    6    3
## [3,]    1   10   12   11

Pada contoh ini, kita terlebih dahulu membuat sebuah vektor bernama b yang berisi kumpulan angka acak, yaitu 4, 7, 2, 8, 5, 9, 6, 3, 1, 10, 12, dan 11. Selanjutnya, vektor tersebut digunakan sebagai data untuk membentuk matriks \(B\) berukuran \(3 \times 4\). Karena digunakan argumen byrow=TRUE, maka angka pertama akan ditempatkan pada baris pertama kolom pertama, angka kedua akan ditempatkan di sebelahnya, dan begitu seterusnya hingga satu baris penuh. Setelah baris pertama penuh, pengisian berlanjut ke baris kedua, kemudian ke baris ketiga, sampai seluruh angka dalam vektor tersusun ke dalam bentuk matriks.

1.2.3 Membuat Matriks dengan Nama Baris dan Kolom

Selain menggunakan deret angka berurutan dan vektor, dalam R kita juga dapat membuat matriks dengan menambahkan nama pada baris dan kolom. Dengan cara ini, matriks menjadi lebih informatif karena setiap elemen dapat diidentifikasi berdasarkan nama baris dan kolomnya, bukan hanya posisinya saja. Penamaan dilakukan dengan menambahkan argumen dimnames pada fungsi matrix(). Contohnya seperti di bawah ini :

sel <- c(15,9,27,18)
nama_kolom <- c("C1", "C2")
nama_baris <- c("R1", "R2")
C <- matrix(sel, nrow=2, ncol=2,
            byrow=TRUE, dimnames=list(nama_baris,
                                      nama_kolom)) ; C
##    C1 C2
## R1 15  9
## R2 27 18

Pada contoh tersebut, kita dapat menghasilkan matriks berukuran \(2 \times 2\) dengan elemen yang diambil dari vektor \(sel\), yaitu 15,9,27,18. Karena digunakan argumen byrow=TRUE, maka pengisian elemen dilakukan per baris sehingga baris pertama berisi angka 15 dan 9, sedangkan baris kedua berisi angka 27 dan 18. Selain itu, matriks ini juga diberi nama untuk baris dan kolom melalui argumen dimnames, di mana baris dinamai \(R1\) dan \(R2\), sedangkan kolom dinamai \(C1\) dan \(C2\).

1.2.4 Memanggil Komponen Matriks

Setelah sebuah matriks dibuat, kita dapat memanggil atau mengakses komponen tertentu di dalamnya. Komponen matriks dapat dipanggil berdasarkan posisi baris dan kolom dengan menggunakan indeks. Cara ini memudahkan kita untuk mengambil, mengubah, maupun menganalisis elemen tertentu dari matriks sesuai kebutuhan. Dalam R, pemanggilan komponen matriks dilakukan dengan tanda kurung siku [ ], di mana posisi baris dituliskan sebelum koma dan posisi kolom dituliskan setelah koma. Jika salah satu bagian dibiarkan kosong, maka artinya kita mengambil semua baris atau semua kolom. Berikut adalah beberapa contoh untuk memanggil komponen matriks :

A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   21   25   29   33   37
## [2,]   22   26   30   34   38
## [3,]   23   27   31   35   39
## [4,]   24   28   32   36   40
A[,2]         # Kolom 2
## [1] 25 26 27 28
A[3,]         # Baris 3
## [1] 23 27 31 35 39
A[3,2]        # Sel(3, 2)
## [1] 27
A[c(1,3),2]   # Sel(1,2) dan sel(3,2)
## [1] 25 27
A[,1:3]       # kolom(1,2,3)
##      [,1] [,2] [,3]
## [1,]   21   25   29
## [2,]   22   26   30
## [3,]   23   27   31
## [4,]   24   28   32
A[2:4,]       # baris(2,3,4)
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   22   26   30   34   38
## [2,]   23   27   31   35   39
## [3,]   24   28   32   36   40

2 NILAI DAN VEKTOR EIGEN

Nilai eigen (eigenvalue) adalah bilangan skalar yang merepresentasikan besarnya varians atau informasi yang dapat dijelaskan oleh sebuah komponen atau dimensi utama, seperti seberapa besar suatu vektor berubah arah atau panjangnya ketika dilakukan transformasi linier oleh sebuah matriks. Sedangkan, vektor eigen (eigenvector) adalah vektor tak nol yang arah perubahannya tetap ketika dilakukan transformasi tersebut. Eigen value dan eigen vector ini sangat berguna dalam analisis data multivariat misalnya Principal Komponen Analysis, Factor Analysis, dll.

Nilai dan vektor eigen dari sebuah matriks A memenuhi persamaan:

\[ Av=\lambda v \]

Jika sebuah matriks \(A\) mengalikan vektor \(v\) dan menghasilkan hasil yang searah dengan \(v\) itu sendiri, maka \(v\) disebut vektor eigen dari \(A\), dan skalar pengalinya yaitu \(\lambda\) disebut nilai eigen yang bersesuaian.

Dalam R, perhitungan nilai eigen (eigenvalue) dan vektor eigen (eigenvector) dapat dilakukan dengan fungsi eigen()

eigX = eigen(X); eigX
## eigen() decomposition
## $values
## [1] 20.7053175  1.1225924  0.1720901
## 
## $vectors
##            [,1]       [,2]         [,3]
## [1,] -0.5324979  0.4222398 -0.646809099
## [2,] -0.5805048 -0.8617727  0.762632456
## [3,] -0.6160033  0.2811785 -0.005452145
eigvalX = eigX$values; eigvalX
## [1] 20.7053175  1.1225924  0.1720901
eigvecX = eigX$vectors; eigvecX
##            [,1]       [,2]         [,3]
## [1,] -0.5324979  0.4222398 -0.646809099
## [2,] -0.5805048 -0.8617727  0.762632456
## [3,] -0.6160033  0.2811785 -0.005452145

Perintah eigX = eigen(X) digunakan untuk menghitung nilai eigen dan vektor eigen dari matriks \(X\), kemudian ketika \(eigX\) dipanggil, R akan menampilkan kedua hasil tersebut secara bersamaan. Jika hanya nilai eigennya yang ingin dilihat, maka digunakan eigX$values, sedangkan jika hanya vektor eigennya yang diperlukan maka dipanggil eigX$vectors.

3 DEKOMPOSISI SINGULAR VALUE (SVD)

Dekomposisi Singular Value (SVD) adalah salah satu teknik dalam aljabar linear yang digunakan untuk memfaktorkan sebuah matriks menjadi tiga komponen penting. Jika ada sebuah matriks \(A\) berukuran \(m x n\), maka SVD menuliskan:

\[ A = U \Sigma V^t \] di mana \(U\) adalah matriks ortogonal berukuran \(n \times n\), \(\Sigma\) adalah matriks diagonal berukuran \(m \times n\) yang elemen-elemen diagonal utamanya adalah nilai-nilai singular dari matriks A dan elemen-elemen lainnya 0, dan \(V^T\) adalah transpose dari matriks ortogonal \(V\) berukuran \(n \times n\). Nilai singular dalam \(\Sigma\) dapat dianggap sebagai akar kuadrat dari nilai eigen matriks \(A^TA\) atau \(AA^T\).

library(MASS)
a <- matrix(c(5,-3,6,2,-4,8,-2,5,-1,7,3,9), 4, 3, byrow=TRUE)
a
##      [,1] [,2] [,3]
## [1,]    5   -3    6
## [2,]    2   -4    8
## [3,]   -2    5   -1
## [4,]    7    3    9
svd_result <- svd(a)
singular_value <- svd_result$d ; singular_value
## [1] 16.07076  7.41936  3.11187
U <- svd_result$u ; U
##            [,1]       [,2]       [,3]
## [1,] -0.5046975  0.2278362 -0.3742460
## [2,] -0.5178195  0.4138180  0.7413297
## [3,]  0.1646416 -0.6063789  0.5337354
## [4,] -0.6708477 -0.6396483 -0.1596770
V <- svd_result$v ; V
##            [,1]        [,2]       [,3]
## [1,] -0.5341591 -0.17494276 -0.8270847
## [2,]  0.1490928 -0.98251336  0.1115295
## [3,] -0.8321330 -0.06373793  0.5509011

Pertama-tama digunakan fungsi matrix() untuk membentuk sebuah matriks \(a\) berukuran \(4 \times 3\) dengan elemen yang diisi secara baris (byrow=TRUE). Selanjutnya, fungsi svd(a) dipanggil untuk melakukan Singular Value Decomposition (SVD) terhadap matriks tersebut. Hasil dari svd() berupa sebuah list yang terdiri atas tiga komponen utama, yaitu u, d, dan v. Komponen d disimpan ke dalam objek singular_value dan berisi nilai-nilai singular, yang dapat dipandang sebagai ukuran seberapa besar kontribusi tiap dimensi dalam membentuk matriks asal. Komponen u disimpan ke dalam objek U dan merupakan matriks ortogonal yang kolom-kolomnya disebut left singular vectors, sedangkan komponen v disimpan ke dalam objek V dan merupakan matriks ortogonal lain yang kolom-kolomnya disebut right singular vectors. Dengan demikian, dari syntax ini kita memperoleh secara lengkap hasil faktorisasi SVD, yaitu \(A = U \Sigma V^T\).

4 KONSEP JARAK

Dalam analisis data multivariat, konsep jarak digunakan untuk mengukur tingkat kemiripan atau perbedaan antara satu objek data dengan objek data lainnya berdasarkan banyak variabel sekaligus. Setiap objek biasanya direpresentasikan sebagai sebuah titik dalam ruang berdimensi banyak, sehingga jarak menjadi alat untuk mengetahui seberapa dekat atau jauh posisi dua titik tersebut dalam ruang tersebut. Misalnya, jarak Euclidean mengukur panjang garis lurus yang menghubungkan dua titik, sedangkan jarak Manhattan menghitung selisih absolut antar koordinat. Selain itu, ada pula jarak Mahalanobis yang memperhitungkan korelasi antar variabel sehingga lebih sesuai digunakan pada data yang saling berkorelasi. Dengan demikian, konsep jarak sangat penting karena menjadi dasar dalam berbagai metode analisis multivariat, seperti cluster analysis, multidimensional scaling, atau discriminant analysis, di mana pemahaman tentang kedekatan atau perbedaan antar objek data diperlukan untuk menarik kesimpulan yang tepat. Sebelum melakukan analisis lebih lanjut, data perlu dipilih dan dipersiapkan terlebih dahulu, kemudian data tersebut dilakukan standarisasi agar setiap variabel berada pada skala yang sama.

set.seed(321)
ss <- sample(1:50, 15)
df <- USArrests[ss, ]
df.scaled <- scale(df); df.scaled
##                  Murder     Assault   UrbanPop        Rape
## Wyoming      -0.3721741 -0.02296746 -0.3418930 -0.62039386
## Illinois      0.4221896  1.02244775  1.2520675  0.62633064
## Mississippi   1.6799322  1.14124493 -1.4507350 -0.39776448
## Kansas       -0.5486994 -0.56943449  0.0739228 -0.26418686
## New York      0.5766492  1.08184634  1.4599754  0.93801176
## Kentucky      0.2677300 -0.64071280 -0.8963140 -0.51650015
## Oklahoma     -0.4163054 -0.14176464  0.2125281  0.03265231
## Hawaii       -0.7031590 -1.38913505  1.2520675  0.06233622
## Missouri      0.1132704  0.17898775  0.3511333  1.24969289
## New Mexico    0.6428462  1.45011760  0.3511333  1.82852926
## Louisiana     1.5254725  1.02244775  0.0739228  0.35917539
## South Dakota -1.0341439 -0.91394632 -1.3814324 -1.03596869
## Iowa         -1.3871944 -1.27033787 -0.5498008 -1.25859806
## North Dakota -1.6961136 -1.40101477 -1.4507350 -1.85227639
## Texas         0.9296998  0.45222127  1.0441596  0.84896001
## attr(,"scaled:center")
##     Murder    Assault   UrbanPop       Rape 
##   8.486667 162.933333  64.933333  19.780000 
## attr(,"scaled:scale")
##    Murder   Assault  UrbanPop      Rape 
##  4.531929 84.177081 14.429467  6.737655

4.1 Jarak Euclidean

Jarak Euclidean adalah ukuran jarak lurus terpendek antara dua titik dalam ruang, dihitung dengan akar kuadrat dari jumlah kuadrat selisih tiap koordinatnya. Contoh aplikasinya yaitu, untuk menghitung jarak garis lurus antar dua koordinat (GPS), Clustering (K-Means, Hierarchical) → objek yang jaraknya dekat digabungkan. Rumus umum nya adalah

\[ d_{ij}=\sqrt{\sum_{i=1}^p(x_{ki}-x_{kj})^2} \] Keterangan : \(x_{ki}\) = Vektor ke - k pada baris ke - i \(x_{kj}\)= Vektor ke - k pada baris ke - j

Dalam R, syntax yang dipakai untuk menghitung jarak euclidean adalah sebagai berikut :

library(factoextra)
## Warning: package 'factoextra' was built under R version 4.4.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
dist.eucl <- dist(df.scaled, method = "euclidean"); dist.eucl
##                Wyoming  Illinois Mississippi    Kansas  New York  Kentucky
## Illinois     2.4122476                                                    
## Mississippi  2.6164146 3.1543527                                          
## Kansas       0.7934567 2.3786048   3.1993198                              
## New York     2.7921742 0.4095812   3.3878156 2.7128511                    
## Kentucky     1.0532156 2.9515362   2.3433244 1.2948587 3.2757206          
## Oklahoma     0.8659748 1.8685718   2.9986711 0.5547563 2.2043102 1.4993175
## Hawaii       2.2322175 2.7203365   4.4270510 1.4800030 2.9246694 2.5403456
## Missouri     2.0625111 1.4167282   3.0563398 1.8349434 1.5351057 2.3176129
## New Mexico   3.1109091 1.5775154   3.0617092 3.1551035 1.4705638 3.4011133
## Louisiana    2.4137967 1.6360410   1.7133330 2.6879097 1.7776353 2.4609320
## South Dakota 1.5765126 3.9457686   3.4644086 1.7515852 4.3067435 1.5082173
## Iowa         1.7426214 3.9154083   4.0958166 1.6038155 4.2724405 1.9508929
## North Dakota 2.5296038 4.8794481   4.4694938 2.6181473 5.2524274 2.5546862
## Texas        2.4496576 0.8218968   2.9692463 2.3259192 0.8377979 2.6949264
##               Oklahoma    Hawaii  Missouri New Mexico Louisiana South Dakota
## Illinois                                                                    
## Mississippi                                                                 
## Kansas                                                                      
## New York                                                                    
## Kentucky                                                                    
## Oklahoma                                                                    
## Hawaii       1.6491638                                                      
## Missouri     1.3724911 2.3123720                                            
## New Mexico   2.6268378 3.7154012 1.4937447                                  
## Louisiana    2.2916633 3.5012381 1.8909275  1.7882330                       
## South Dakota 2.1588538 2.9115203 3.2767510  4.4281177 3.7902169             
## Iowa         2.1130016 2.3395756 3.3845451  4.6758935 4.0922753    0.9964108
## North Dakota 3.0891779 3.4578871 4.3173165  5.5131433 4.8442635    1.1604313
## Texas        1.8768374 2.5920693 1.1756214  1.5867966 1.3643137    3.8935265
##                   Iowa North Dakota
## Illinois                           
## Mississippi                        
## Kansas                             
## New York                           
## Kentucky                           
## Oklahoma                           
## Hawaii                             
## Missouri                           
## New Mexico                         
## Louisiana                          
## South Dakota                       
## Iowa                               
## North Dakota 1.1298867             
## Texas        3.9137858    4.8837032
fviz_dist(dist.eucl)

4.2 Jarak Chebyshev

Jarak Chebysev adalah satu ukuran jarak (distance metric) antara dua titik dalam ruang vektor berbentuk selisih terbesar di antara semua koordinat kedua titik. Contoh aplikasinya yaitu, menghitung jarak langkah raja antara dua posisi. Jarak Chebyshev berguna di quality control multivariat, misalnya mengecek dimensi produk (lebar, panjang, tinggi) → fokus pada dimensi terburuk. Berikut bentuk umum dari rumus Jarak Chebysev :

\[ d_{ij}=\max_i \, |x_{ki} - x_{kj}| \]

Dalam R, syntax yang dipakai untuk menghitung jarak chebyshev adalah sebagai berikut :

dist.cheb <- dist(df.scaled, method = "maximum"); dist.cheb
##                Wyoming  Illinois Mississippi    Kansas  New York  Kentucky
## Illinois     1.5939604                                                    
## Mississippi  2.0521063 2.7028025                                          
## Kansas       0.5464670 1.5918822   2.2286315                              
## New York     1.8018683 0.3116811   2.9107104 1.6512808                    
## Kentucky     0.6399041 2.1483815   1.7819577 0.9702368 2.3562894          
## Oklahoma     0.6530462 1.1642124   2.0962376 0.4276699 1.2474473 1.1088421
## Hawaii       1.5939604 2.4115828   2.7028025 1.1781447 2.4709814 2.1483815
## Missouri     1.8700867 0.9009342   1.8018683 1.5138797 1.1088421 1.7661930
## New Mexico   2.4489231 1.2021986   2.2262937 2.0927161 1.1088421 2.3450294
## Louisiana    1.8976467 1.1781447   1.5246578 2.0741719 1.3860526 1.6631605
## South Dakota 1.0395394 2.6334999   2.7140760 1.4553552 2.8414078 1.3018739
## Iowa         1.2473704 2.2927856   3.0671266 0.9944112 2.3521842 1.6549244
## North Dakota 1.3780473 2.7028025   3.3760458 1.5880895 2.9107104 1.9638436
## Texas        1.4693539 0.5702265   2.4948946 1.4783991 0.6296251 1.9404736
##               Oklahoma    Hawaii  Missouri New Mexico Louisiana South Dakota
## Illinois                                                                    
## Mississippi                                                                 
## Kansas                                                                      
## New York                                                                    
## Kentucky                                                                    
## Oklahoma                                                                    
## Hawaii       1.2473704                                                      
## Missouri     1.2170406 1.5681228                                            
## New Mexico   1.7958770 2.8392526 1.2711298                                  
## Louisiana    1.9417780 2.4115828 1.4122022  1.4693539                       
## South Dakota 1.5939604 2.6334999 2.2856616  2.8644979 2.5596164             
## Iowa         1.2912504 1.8018683 2.5082909  3.0871273 2.9126670    0.8316315
## North Dakota 1.8849287 2.7028025 3.1019693  3.6808057 3.2215862    0.8163077
## Texas        1.3460052 1.8413563 0.8164294  0.9978963 0.9702368    2.4255920
##                   Iowa North Dakota
## Illinois                           
## Mississippi                        
## Kansas                             
## New York                           
## Kentucky                           
## Oklahoma                           
## Hawaii                             
## Missouri                           
## New Mexico                         
## Louisiana                          
## South Dakota                       
## Iowa                               
## North Dakota 0.9009342             
## Texas        2.3168942    2.7012364
fviz_dist(dist.cheb)

4.3 Jarak Manhattan

Jarak Manhatan adalah Jumlah perbedaan absolut antar koordinat, seperti berjalan di jalan kota berbentuk grid [jarak berbasis grid (jumlah selisih)]. Contoh apliaksinya yaitu, menghitung jarak dalam gudang/grid jalan yang tidak memungkinkan jalur diagonal,menghitung jarak antar dokumen berdasarkan frekuensi kata (NLP). Berikut bentuk umum dari rumus jarak manhatan :

\[ d_{ij}=\sum_{i=1}^p|x_{ki}-x_{kj}| \]

Dalam R, syntax yang dipakai untuk menghitung jarak manhattan adalah sebagai berikut :

dist.man <- dist(df.scaled, method = "manhattan"); dist.man
##                 Wyoming   Illinois Mississippi     Kansas   New York   Kentucky
## Illinois      4.6804639                                                        
## Mississippi   4.5477901  5.1034373                                             
## Kansas        1.4950151  4.6314334   5.5975464                                 
## New York      5.4139111  0.7334472   5.4091682  5.3648806                      
## Kentucky      1.9159642  5.1088324   3.8673166  2.1102578  5.8422796           
## Oklahoma      1.3703957  3.6359252   5.4729270  0.9955082  4.3693724  2.8409781
## Hawaii        3.9738430  4.1009258   8.0763743  2.4788279  4.8343730  4.4465291
## Missouri      3.2505127  2.6766756   5.9782446  3.2014823  2.7867606  3.9878005
## New Mexico    5.6300548  2.7514592   5.3741207  5.5810243  2.4338278  6.0584233
## Louisiana     4.3384469  2.5485829   2.5548545  4.2894164  2.9731109  4.7668154
## South Dakota  3.0080629  7.6885267   5.4767741  3.0570933  8.4219740  2.5796943
## Iowa          3.1085028  7.7889667   7.2404771  3.1575333  8.5224139  3.3731605
## North Dakota  5.0427114  9.7231753   7.3728174  5.0917419 10.4566225  4.6143429
## Texas         4.6324690  1.5082739   5.1808752  4.5834386  1.4875431  5.0608376
##                Oklahoma     Hawaii   Missouri New Mexico  Louisiana
## Illinois                                                           
## Mississippi                                                        
## Kansas                                                             
## New York                                                           
## Kentucky                                                           
## Oklahoma                                                           
## Hawaii        2.6034473                                            
## Missouri      2.2059740  4.4728430                                 
## New Mexico    4.5855161  6.8523850  2.3795420                      
## Louisiana     3.5711187  6.1151982  3.4233902  3.0568606           
## South Dakota  4.0526016  4.5379784  6.2585756  8.6381176  7.3465098
## Iowa          4.1530415  3.9256352  6.3590155  8.7385576  7.4469497
## North Dakota  6.0872501  5.6222495  8.2932241 10.6727662  9.3811583
## Texas         3.5879303  4.4687467  2.1834220  2.9573454  2.6260207
##              South Dakota       Iowa North Dakota
## Illinois                                         
## Mississippi                                      
## Kansas                                           
## New York                                         
## Kentucky                                         
## Oklahoma                                         
## Hawaii                                           
## Missouri                                         
## New Mexico                                       
## Louisiana                                        
## South Dakota                                     
## Iowa            1.7637030                        
## North Dakota    2.0346485  1.9342086             
## Texas           7.6405319  7.7409718    9.6751804
fviz_dist(dist.man)

4.4 Jarak Mahalanobis

Jarak Mahalanobis adalah jarak antar titik yang mempertimbangkan skala (varians) dan korelasi antar variabel. Contoh aplikasinya yaitu, mendeteksi transaksi keuangan yang tidak wajar, memisahkan kelompok dengan varians dan korelasi berbeda (Analisis Diskriminan)

Berikut bentuk umum dari rumus Jarak Mahalanobis :

\[ d_{ij}=\sqrt{(y_{i}-y_{j})^TS^{-1}(y_{i}-y_{j})} \]

Keterangan : \(y_{i}\) = \((y_{i1},y_{i2},...,y_{ip})\) adalah observasi ke-i \(y_{j}\) = \((y_{j1},y_{j2},...,y_{jp})\) adalah observasi ke-j

Dalam R, syntax yang dipakai untuk menghitung jarak mahalanobis adalah sebagai berikut :

library(StatMatch)
## Warning: package 'StatMatch' was built under R version 4.4.3
## Loading required package: proxy
## Warning: package 'proxy' was built under R version 4.4.3
## 
## Attaching package: 'proxy'
## The following objects are masked from 'package:stats':
## 
##     as.dist, dist
## The following object is masked from 'package:base':
## 
##     as.matrix
## Loading required package: survey
## Warning: package 'survey' was built under R version 4.4.3
## Loading required package: grid
## Loading required package: Matrix
## Loading required package: survival
## 
## Attaching package: 'survey'
## The following object is masked from 'package:graphics':
## 
##     dotchart
## Loading required package: lpSolve
## Warning: package 'lpSolve' was built under R version 4.4.2
## Loading required package: dplyr
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
dist.mah <- mahalanobis.dist(df.scaled); dist.mah
##               Wyoming  Illinois Mississippi    Kansas  New York Kentucky
## Wyoming      0.000000 1.7186109    2.820779 1.4195095 1.8695558 2.867847
## Illinois     1.718611 0.0000000    3.658323 2.2905255 0.4722069 3.878642
## Mississippi  2.820779 3.6583235    0.000000 3.2139075 3.6566922 2.544477
## Kansas       1.419510 2.2905255    3.213907 0.0000000 2.1522535 2.048031
## New York     1.869556 0.4722069    3.656692 2.1522535 0.0000000 3.698342
## Kentucky     2.867847 3.8786421    2.544477 2.0480310 3.6983422 0.000000
## Oklahoma     1.146496 1.8980286    3.237573 0.6499978 1.7772007 2.505941
## Hawaii       3.466671 3.6449604    4.722203 2.2108491 3.3748818 2.753554
## Missouri     3.198071 3.6796400    3.956918 2.2592572 3.3618939 2.642756
## New Mexico   3.281318 3.5101406    4.057258 3.1016653 3.2869855 3.870023
## Louisiana    2.284940 2.5550539    1.688058 2.2700723 2.4136664 2.119635
## South Dakota 1.826205 3.3564158    3.087365 1.6274307 3.3404110 2.261154
## Iowa         1.327907 2.6329606    3.559587 1.1128197 2.6839965 2.621704
## North Dakota 1.582582 3.1919907    3.553572 1.9466491 3.3317039 3.040465
## Texas        2.540604 2.4769381    3.093919 1.7462066 2.1399545 2.108949
##               Oklahoma   Hawaii Missouri New Mexico Louisiana South Dakota
## Wyoming      1.1464956 3.466671 3.198071   3.281318  2.284940     1.826205
## Illinois     1.8980286 3.644960 3.679640   3.510141  2.555054     3.356416
## Mississippi  3.2375727 4.722203 3.956918   4.057258  1.688058     3.087365
## Kansas       0.6499978 2.210849 2.259257   3.101665  2.270072     1.627431
## New York     1.7772007 3.374882 3.361894   3.286985  2.413666     3.340411
## Kentucky     2.5059414 2.753554 2.642756   3.870023  2.119635     2.261154
## Oklahoma     0.0000000 2.705865 2.203038   2.660216  2.350208     1.672866
## Hawaii       2.7058650 0.000000 3.193764   4.645567  3.383255     3.551072
## Missouri     2.2030382 3.193764 0.000000   1.836797  3.256319     2.505784
## New Mexico   2.6602159 4.645567 1.836797   0.000000  3.676879     3.026024
## Louisiana    2.3502077 3.383255 3.256319   3.676879  0.000000     3.021642
## South Dakota 1.6728664 3.551072 2.505784   3.026024  3.021642     0.000000
## Iowa         1.3299426 2.790197 3.145245   3.792086  2.954252     1.518854
## North Dakota 1.9813596 3.780966 3.590548   3.950259  3.434074     1.304743
## Texas        1.9635201 2.082005 2.576037   3.501666  1.527269     3.090805
##                  Iowa North Dakota    Texas
## Wyoming      1.327907     1.582582 2.540604
## Illinois     2.632961     3.191991 2.476938
## Mississippi  3.559587     3.553572 3.093919
## Kansas       1.112820     1.946649 1.746207
## New York     2.683996     3.331704 2.139954
## Kentucky     2.621704     3.040465 2.108949
## Oklahoma     1.329943     1.981360 1.963520
## Hawaii       2.790197     3.780966 2.082005
## Missouri     3.145245     3.590548 2.576037
## New Mexico   3.792086     3.950259 3.501666
## Louisiana    2.954252     3.434074 1.527269
## South Dakota 1.518854     1.304743 3.090805
## Iowa         0.000000     1.045923 2.734770
## North Dakota 1.045923     0.000000 3.563193
## Texas        2.734770     3.563193 0.000000
dist.mah_matrix <- as.matrix(dist.mah);dist.mah_matrix
##               Wyoming  Illinois Mississippi    Kansas  New York Kentucky
## Wyoming      0.000000 1.7186109    2.820779 1.4195095 1.8695558 2.867847
## Illinois     1.718611 0.0000000    3.658323 2.2905255 0.4722069 3.878642
## Mississippi  2.820779 3.6583235    0.000000 3.2139075 3.6566922 2.544477
## Kansas       1.419510 2.2905255    3.213907 0.0000000 2.1522535 2.048031
## New York     1.869556 0.4722069    3.656692 2.1522535 0.0000000 3.698342
## Kentucky     2.867847 3.8786421    2.544477 2.0480310 3.6983422 0.000000
## Oklahoma     1.146496 1.8980286    3.237573 0.6499978 1.7772007 2.505941
## Hawaii       3.466671 3.6449604    4.722203 2.2108491 3.3748818 2.753554
## Missouri     3.198071 3.6796400    3.956918 2.2592572 3.3618939 2.642756
## New Mexico   3.281318 3.5101406    4.057258 3.1016653 3.2869855 3.870023
## Louisiana    2.284940 2.5550539    1.688058 2.2700723 2.4136664 2.119635
## South Dakota 1.826205 3.3564158    3.087365 1.6274307 3.3404110 2.261154
## Iowa         1.327907 2.6329606    3.559587 1.1128197 2.6839965 2.621704
## North Dakota 1.582582 3.1919907    3.553572 1.9466491 3.3317039 3.040465
## Texas        2.540604 2.4769381    3.093919 1.7462066 2.1399545 2.108949
##               Oklahoma   Hawaii Missouri New Mexico Louisiana South Dakota
## Wyoming      1.1464956 3.466671 3.198071   3.281318  2.284940     1.826205
## Illinois     1.8980286 3.644960 3.679640   3.510141  2.555054     3.356416
## Mississippi  3.2375727 4.722203 3.956918   4.057258  1.688058     3.087365
## Kansas       0.6499978 2.210849 2.259257   3.101665  2.270072     1.627431
## New York     1.7772007 3.374882 3.361894   3.286985  2.413666     3.340411
## Kentucky     2.5059414 2.753554 2.642756   3.870023  2.119635     2.261154
## Oklahoma     0.0000000 2.705865 2.203038   2.660216  2.350208     1.672866
## Hawaii       2.7058650 0.000000 3.193764   4.645567  3.383255     3.551072
## Missouri     2.2030382 3.193764 0.000000   1.836797  3.256319     2.505784
## New Mexico   2.6602159 4.645567 1.836797   0.000000  3.676879     3.026024
## Louisiana    2.3502077 3.383255 3.256319   3.676879  0.000000     3.021642
## South Dakota 1.6728664 3.551072 2.505784   3.026024  3.021642     0.000000
## Iowa         1.3299426 2.790197 3.145245   3.792086  2.954252     1.518854
## North Dakota 1.9813596 3.780966 3.590548   3.950259  3.434074     1.304743
## Texas        1.9635201 2.082005 2.576037   3.501666  1.527269     3.090805
##                  Iowa North Dakota    Texas
## Wyoming      1.327907     1.582582 2.540604
## Illinois     2.632961     3.191991 2.476938
## Mississippi  3.559587     3.553572 3.093919
## Kansas       1.112820     1.946649 1.746207
## New York     2.683996     3.331704 2.139954
## Kentucky     2.621704     3.040465 2.108949
## Oklahoma     1.329943     1.981360 1.963520
## Hawaii       2.790197     3.780966 2.082005
## Missouri     3.145245     3.590548 2.576037
## New Mexico   3.792086     3.950259 3.501666
## Louisiana    2.954252     3.434074 1.527269
## South Dakota 1.518854     1.304743 3.090805
## Iowa         0.000000     1.045923 2.734770
## North Dakota 1.045923     0.000000 3.563193
## Texas        2.734770     3.563193 0.000000

4.5 Jarak Minkowski

Jarak Minkowski adalah ukuran jarak antara dua titik dalam ruang vektor yang ditentukan oleh sebuah parameter p untuk mencari jarak umum karena menjadi bentuk dasar yang mencakup berbagai jenis jarak lain. Contoh aplikasinya yaitudalam analisis klaster, di mana jarak Minkowski digunakan untuk mengukur kedekatan antar objek data dengan fleksibilitas memilih parameter \(p\) sesuai karakteristik data, atau dalam k-nearest neighbors (KNN) untuk menentukan tetangga terdekat berdasarkan nilai \(p\) yang sesuai.

Secara umum, jika dua titik

\[ X = (x_{1},x_{2},...,x_{n}) \] Dan \[ Y = (y_{1},y_{2},...,y_{n}) \]

maka jarak minkowski didefinisikan sebagai berikut :

\[ D(X,Y) =(\sum_{i=1}^n|x_{i}-y_{i}|^p)^\frac{1}{p} \]

Catatan : \(p=1\) artinya Jarak Manhattan \(p=2\) artinya Jarak Euclidean \(p =\infty\) artinya Jarak Chebyshev

Berikut adalah contoh syntax di R :

# p=1 jarak Manhattan, p=2 jarak Euclidean, p->tak hingga jarak chebyshev
set.seed(123)

# Data random (5 observasi dengan 3 variabel)
data <- matrix(runif(15, min = 1, max = 10), nrow = 5, ncol = 3)
colnames(data) <- c("X1", "X2", "X3")
print("Data random:")
## [1] "Data random:"
print(data)
##            X1       X2       X3
## [1,] 3.588198 1.410008 9.611500
## [2,] 8.094746 5.752949 5.080007
## [3,] 4.680792 9.031771 7.098136
## [4,] 8.947157 5.962915 6.153701
## [5,] 9.464206 5.109533 1.926322
# Tentukan dua titik yang akan dihitung jaraknya
p1 <- data[1, ];p1
##       X1       X2       X3 
## 3.588198 1.410008 9.611500
p2 <- data[2, ];p2
##       X1       X2       X3 
## 8.094746 5.752949 5.080007
# Fungsi jarak Minkowski
minkowski_distance <- function(x, y, p) {
  sum(abs(x - y)^p)^(1/p)
}

# Contoh penggunaan dengan p = 1 (Manhattan), p = 2 (Euclidean), p = 3 (Minkowski umum)
dist_p1 <- minkowski_distance(p1, p2, p = 1);dist_p1
## [1] 13.38098
dist_p2 <- minkowski_distance(p1, p2, p = 2);dist_p2
## [1] 7.726871
dist_p3 <- minkowski_distance(p1, p2, p = 3);dist_p3
## [1] 6.435156
dist_inf <- max(abs(p1 - p2));dist_inf
## [1] 4.531493

5 VEKTOR RATA-RATA

vektor rata-rata adalah sebuah vektor yang setiap elemennya merupakan rata-rata dari masing-masing variabel dalam dataset. Vektor ini merepresentasikan titik pusat dari semua data dalam ruang berdimensi banyak dan sering digunakan sebagai acuan untuk mengukur penyebaran atau perbedaan data, seperti dalam perhitungan jarak antar objek, analisis variansi, atau principal component analysis (PCA). Jika terdapat data dengan \(n\) observasi dan \(p\) variabel, maka vektor rata-rata ditulis sebagai:

\[ \bar{x} = \begin{bmatrix} \bar{x}_1 \\ \bar{x}_2 \\ \vdots \\ \bar{x}_p \end{bmatrix} = \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n x_{i1} \\ \frac{1}{n}\sum_{i=1}^n x_{i2} \\ \vdots \\ \frac{1}{n}\sum_{i=1}^n x_{ip} \end{bmatrix} \]

Untuk memasukkan data ke dalam R menggunakan syntax berikut :

BB = c(6.2,11.5,8.7,10.1,7.8,6.9,12.0,3.1,14.8,9.4)
PM = c(61,73,68,70,64,60,76,49,84,71)
RTB = c(115,138,127,123,131,120,143,95,160,128)
lizard = as.matrix(cbind(BB,PM,RTB)); lizard
##         BB PM RTB
##  [1,]  6.2 61 115
##  [2,] 11.5 73 138
##  [3,]  8.7 68 127
##  [4,] 10.1 70 123
##  [5,]  7.8 64 131
##  [6,]  6.9 60 120
##  [7,] 12.0 76 143
##  [8,]  3.1 49  95
##  [9,] 14.8 84 160
## [10,]  9.4 71 128

5.1 Matriks Rata-Rata

Matriks rata-rata adalah matriks yang setiap elemennya merupakan rata-rata dari elemen-elemen tertentu dalam kumpulan data atau matriks lain. Dalam konteks analisis data multivariat, matriks rata-rata sering digunakan untuk mewakili titik pusat (centroid) dari data dalam bentuk matriks, misalnya pada setiap baris mewakili rata-rata suatu variabel, atau setiap kolom mewakili rata-rata suatu observasi. Matriks ini membantu dalam perhitungan penyimpangan, jarak antar objek, atau transformasi data seperti sentralisasi sebelum analisis lebih lanjut. Secara matematis, matriks rata-rata dituliskan sebagai:

\[ \bar{x} = \begin{bmatrix} \bar{BB} \\ \bar{PM} \\ \bar{RTB} \end{bmatrix} = \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n BB_i \\ \frac{1}{n}\sum_{i=1}^n PM_i \\ \frac{1}{n}\sum_{i=1}^n RTB_i \end{bmatrix} \]

Dalam R, kita dapat membuat matriks rata-rata menggunakan syntax berikut :

vecMeans = as.matrix(colMeans(lizard)); vecMeans
##       [,1]
## BB    9.05
## PM   67.60
## RTB 128.00
vecRata = matrix(c(mean(BB), mean(PM), mean(RTB)), nrow=3, ncol=1); vecRata
##        [,1]
## [1,]   9.05
## [2,]  67.60
## [3,] 128.00

5.2 Matriks Kovarians

Matriks kovarians adalah sebuah matriks persegi dan simetris yang elemen-elemennya merepresentasikan kovarians antara setiap pasang variabel dalam suatu kumpulan data. Elemen diagonal utama matriks ini berisi varian dari masing-masing variabel. Matriks kovarians dapat ditulis sebagia berikut :

\[ \Sigma = \begin{bmatrix} \text{cov}(X, X) & \text{cov}(X, Y) & \text{cov}(X, Z) \\ \text{cov}(Y, X) & \text{cov}(Y, Y) & \text{cov}(Y, Z) \\ \text{cov}(Z, X) & \text{cov}(Z, Y) & \text{cov}(Z, Z) \end{bmatrix} = \begin{bmatrix} \sigma^2_X & \sigma_{XY} & \sigma_{XZ} \\ \sigma_{YX} & \sigma^2_Y & \sigma_{YZ} \\ \sigma_{ZX} & \sigma_{ZY} & \sigma^2_Z \end{bmatrix} \]

Dalam R, kita dapat menuliskan syntax yang berupa package sebagai berikut :

varkov = cov(lizard); varkov
##           BB        PM       RTB
## BB  10.98056  31.80000  54.96667
## PM  31.80000  94.04444 160.22222
## RTB 54.96667 160.22222 300.66667

5.3 Matriks Korelasi

Matriks korelasi adalah matriks yang berisi nilai koefisien korelasi antar pasangan variabel dalam suatu dataset. Setiap elemen dalam matriks ini menunjukkan seberapa kuat dan arah hubungan linier antara dua variabel, dengan nilai berkisar antara -1 hingga 1. Nilai 1 menunjukkan korelasi positif sempurna, -1 menunjukkan korelasi negatif sempurna, dan 0 menunjukkan tidak ada hubungan linier. Matriks korelasi dapat ditulis sebagai berikut :

\[ R = \begin{bmatrix} 1 & r_{12} & r_{13} \\ r_{21} & 1 & r_{23} \\ r_{31} & r_{32} & 1 \end{bmatrix} \]

Adapaun syntax yang berupa package untuk matriks korelasi di R adalah :

korel = cor(lizard); korel
##            BB        PM       RTB
## BB  1.0000000 0.9895743 0.9566313
## PM  0.9895743 1.0000000 0.9528259
## RTB 0.9566313 0.9528259 1.0000000

5.4 Matriks Standardisasi

Matriks standardisasi adalah matriks yang diperoleh dari sebuah matriks data asli dengan cara menyelaraskan skala setiap variabel, biasanya dengan mengurangi rata-rata dan membagi dengan standar deviasi masing-masing variabel. Dengan kata lain, setiap elemen \(x_{ij}\) diubah menjadi:

\[ z_{ij} = \frac{x_{ij} - \bar{x}_j}{s_j} \] di mana \(\bar{x}_j\) adalah rata-rata variabel ke-\(j\) dan \(s_{j}\) adalah standar deviasinya. Hasilnya adalah matriks baru di mana setiap variabel memiliki rata-rata nol dan standar deviasi satu.

Dalam R, kita bisa menuliskannya sebagi berikut :

n = nrow(lizard);n
## [1] 10
u = matrix(1,n,1); u
##       [,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
##        BB   PM RTB
## [1,] 9.05 67.6 128
D = lizard - u %*% xbar; D
##          BB    PM RTB
##  [1,] -2.85  -6.6 -13
##  [2,]  2.45   5.4  10
##  [3,] -0.35   0.4  -1
##  [4,]  1.05   2.4  -5
##  [5,] -1.25  -3.6   3
##  [6,] -2.15  -7.6  -8
##  [7,]  2.95   8.4  15
##  [8,] -5.95 -18.6 -33
##  [9,]  5.75  16.4  32
## [10,]  0.35   3.4   0
S = (1/(n-1))*t(D)%*%D; S
##           BB        PM       RTB
## BB  10.98056  31.80000  54.96667
## PM  31.80000  94.04444 160.22222
## RTB 54.96667 160.22222 300.66667
Ds = diag(sqrt(diag(S))); Ds
##          [,1]     [,2]     [,3]
## [1,] 3.313692 0.000000  0.00000
## [2,] 0.000000 9.697651  0.00000
## [3,] 0.000000 0.000000 17.33974
R = solve(Ds) %*% S %*% solve(Ds); R
##           [,1]      [,2]      [,3]
## [1,] 1.0000000 0.9895743 0.9566313
## [2,] 0.9895743 1.0000000 0.9528259
## [3,] 0.9566313 0.9528259 1.0000000