Pendahuluan

Analisis Multivariat adalah bagian dari statistika yang membahas tentang sejumlah pengukuran (atau variabel) diperoleh secara simultan dari setiap obyek atau individu. Unit pengamatannya dapat berbentuk benda, individu, kejadian, dan lainnya yang memberikan data pengamatan. Klasifikasi teknik analisis multivariat dibagi menjadi dua yaitu teknik dependensi dan independensi. Adapun, tujuan penggunaan analisis multivariat ini meliputi reduksi data dan penyederhanaan struktur, klasifikasi dan pengelompokan, penyelidikan keterkaitan antar variabel/hubungan antar variabel, prediksi, pembentukan dan pengujian hipotesis. Dalam konteks analisis multivariat, data biasanya direpresentasikan dalam bentuk matriks, dimana baris mewakili unit pengamatan dan kolom mewakili variabel. Representasi matriks ini mempermudah penerapan aljabar linear untuk menghitung vektor, matriks kovarians, dan nilai eigen, yang menjadi dasar metode seperti PCA (Principal Component Analysis) atau SVD (Singular Value Decomposition). Selain itu, konsep jarak menjadi penting dalam analisis multivariat, terutama untuk pengelompokan (clustering) atau reduksi dimensi.

Operasi Matriks

Definisi Matriks: Susunan angka-angka di dalam kotak yang dibagi ke dalam baris dan kolom. Misalkan terdiri dari \(n\) baris dan \(p\) kolom, maka matriks tersebut berukuran (ordo) \(n × p\). Contoh:

\[ \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \]

# Membuat dua matriks
X = matrix(c(6.5,8.2,7.9,
             5.4,7.0,6.7,
             8.1,6.9,9.2), nrow = 3, ncol = 3); X
##      [,1] [,2] [,3]
## [1,]  6.5  5.4  8.1
## [2,]  8.2  7.0  6.9
## [3,]  7.9  6.7  9.2
Y = matrix(c(7.3,6.8,8.5,
             8.9,7.6,6.1,
             9.4,8.0,7.2), nrow = 3, ncol = 3, byrow = TRUE); Y
##      [,1] [,2] [,3]
## [1,]  7.3  6.8  8.5
## [2,]  8.9  7.6  6.1
## [3,]  9.4  8.0  7.2

Penjumlahan Matriks

Dua matriks berordo sama dapat dijumlahkan.

\[ \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} + \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} = \begin{bmatrix} a_{11}+b_{11} & a_{12}+b_{12} \\ a_{21}+b_{21} & a_{22}+b_{22} \end{bmatrix} \]

# Penjumlahan 
X + Y
##      [,1] [,2] [,3]
## [1,] 13.8 12.2 16.6
## [2,] 17.1 14.6 13.0
## [3,] 17.3 14.7 16.4

Pengurangan Matriks

Dua matriks berordo sama dapat dikurangkan.

\[ \begin{bmatrix} c_{11} & c_{12} \\ c_{21} & c_{22} \end{bmatrix} + \begin{bmatrix} d_{11} & d_{12} \\ d_{21} & d_{22} \end{bmatrix} = \begin{bmatrix} c_{11}+d_{11} & c_{12}+d_{12} \\ c_{21}+d_{21} & c_{22}+d_{22} \end{bmatrix} \]

# Pengurangan
X - Y
##      [,1] [,2] [,3]
## [1,] -0.8 -1.4 -0.4
## [2,] -0.7 -0.6  0.8
## [3,] -1.5 -1.3  2.0
Y - X
##      [,1] [,2] [,3]
## [1,]  0.8  1.4  0.4
## [2,]  0.7  0.6 -0.8
## [3,]  1.5  1.3 -2.0

Perkalian Matriks

Perkalian Skalar dengan Matriks

Contoh:

\[ k \begin{bmatrix} p & q \\ r & s \end{bmatrix} = \begin{bmatrix} kp & kq \\ kr & ks \end{bmatrix} \]

# Perkalian skalar dengan matriks 
2*X
##      [,1] [,2] [,3]
## [1,] 13.0 10.8 16.2
## [2,] 16.4 14.0 13.8
## [3,] 15.8 13.4 18.4

Perkalian antar Elemen Matriks

Perkalian tiap elemen pada matriks-mariks dengan ordo sama. Misalkan:

\[ X = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad Y = \begin{bmatrix} e & f \\ g & h \end{bmatrix}\\ X * Y = \begin{bmatrix} a \cdot e & b \cdot f \\ c \cdot g & d \cdot h \end{bmatrix} \]

# Perkalian antar elemen 
X*Y
##       [,1]  [,2]  [,3]
## [1,] 47.45 36.72 68.85
## [2,] 72.98 53.20 42.09
## [3,] 74.26 53.60 66.24

Perkalian Matriks dengan Matriks

Misalkan \(A\) berordo \(p × q\) dan \(B\) berordo \(m × n\). Untuk \(AB\), haruslah \(q = m\), dengan hasil berordo \(p × n\). Untuk \(BA\), haruslah \(n = p\), dengan hasil berordo \(m × q\). Misalkan:

\[ A_{2 \times 3} = \begin{bmatrix} p & q & r \\ s & t & u \end{bmatrix}, \quad B_{3 \times 2} = \begin{bmatrix} x & y \\ z & w \\ m & n \end{bmatrix} \\ AB_{2 \times 2} = \begin{bmatrix} p & q & r \\ s & t & u \end{bmatrix} \times \begin{bmatrix} x & y \\ z & w \\ m & n \end{bmatrix} = \begin{bmatrix} px + qz + rm & py + qw + rn \\ sx + tz + um & sy + tw + un \end{bmatrix} \\ BA_{3 \times 3} = \begin{bmatrix} p & q & r \\ s & t & u \end{bmatrix} \times \begin{bmatrix} x & y \\ z & w \\ m & n \end{bmatrix} = \begin{bmatrix} xp + ys & xq + yt & xr + yu \\ zp + ws & zq + wt & zr + wu \\ mp + ns & mq + nt & mr + nu \end{bmatrix} \]

X %*% Y
##        [,1]   [,2]   [,3]
## [1,] 171.65 150.04 146.51
## [2,] 187.02 164.16 162.08
## [3,] 203.78 178.24 174.26
Y %*% X
##        [,1]   [,2]   [,3]
## [1,] 170.36 143.97 184.25
## [2,] 168.36 142.13 180.65
## [3,] 183.58 155.00 197.58

Transpose Matriks

Transpose matriks adalah proses mengubah matriks dengan menukar posisi elemen baris menjadi kolom dan kolom menjadi baris. Notasinya ditulis dengan \(X^T\) atau \(X'\). Misalkan:

\[ X = \begin{bmatrix} a & b & c \\ d & e & f \end{bmatrix}\\ X^T = \begin{bmatrix} a & d \\ b & e \\ c & f \end{bmatrix} \]

# Transpose
transX = t(X); transX
##      [,1] [,2] [,3]
## [1,]  6.5  8.2  7.9
## [2,]  5.4  7.0  6.7
## [3,]  8.1  6.9  9.2
transY = t(Y); transY
##      [,1] [,2] [,3]
## [1,]  7.3  8.9  9.4
## [2,]  6.8  7.6  8.0
## [3,]  8.5  6.1  7.2

Invers Matriks

Jika \(AB = BA = I,\) maka matriks \(A\) dan \(B\) adalah saling inverse

  1. Jika \(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\), maka \(A^{-1} = \frac {1}{ad-bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}\)

  2. \((AB)^{-1} = B^{-1}A^{-1}\)

  3. \(A^{-1} = \frac{1}{det(A)}adj(A)\)

# Invers
inv_X = solve(X); inv_X
##            [,1]      [,2]       [,3]
## [1,]  8.3848639  2.118136 -8.9709275
## [2,] -9.6585141 -1.933549  9.9538533
## [3,] -0.1661283 -0.410706  0.5629903
inv_Y = solve(Y); inv_Y
##             [,1]      [,2]      [,3]
## [1,] -1.27147766 -4.089347  4.965636
## [2,]  1.44759450  5.871993 -6.683849
## [3,]  0.05154639 -1.185567  1.082474

Determinan Matriks

Determinan matriks adalah nilai skalar atau angka yang dihitung dari matriks persegi dan dapat memberikan informasi penting mengenai sifat matriks tersebut, seperti keberadaan invers. Untuk matriks \(_{2x2}\), determinan dihitung dengan mengurangkan hasil perkalian diagonal sekunder dari hasil perkalian diagonal utama sedangkan untuk matriks \(_{3x3}\) digunakan metode seperti Aturan Sarrus atau Metode Ekspansi Kofaktor.

  1. Untuk \(A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}\), maka \(\det(A) = ad - bc\)

  2. \(\det(A) = \sum_{j=1}^{n} (-1)^{i+j} a_{ij} \det(M_{ij}), \quad A = [a_{ij}]_{n \times n}\)

dengan:

\(a_{ij} =\) elemen baris ke-\(i\) dan kolom ke-\(j\) pada matriks \(A\)

\(M_{ij} =\) submatriks yang diperoleh dari \(A\) dengan menghapus baris ke-\(i\) dan kolom ke-\(j\).

# Determinan
det(X)
## [1] 2.167
det(Y)
## [1] -4.656

Contoh Lain Matriks

Matriks dengan elemen berurutan

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

dimana \(nrow\) menunjukkan jumlah baris dan \(ncol\) menunjukkan jumlah kolom.

Mengontrol urutan pengisian elemen ke dalam matriks di R

Mengurutkan matriks berdasarkan kolom

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

Mengurutkan matriks berdasarkan baris

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

Penamaan baris dan kolom pada matriks di R

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

Memanggil Komponen Matriks di R

Memanggil baris atau kolom

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
A[,2]         # Kolom 2
## [1] 25 26 27 28
A[3,]         # Baris 3
## [1] 23 27 31 35 39
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

Memanggil sel

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

Eigen Value dan Eigen Vector

Eigen value menunjukkan jumlah variasi (informasi) yang dapat dijelaskan oleh satu komponen. Sedangkan eigen vector menunjukkan jumlah variasi (informasi) yang dijelaskan suatu komponen lainnya. Eigen value dan eigen vector ini sangat berguna dalam analisis data multivariat misalnya dalam Principal Komponen Analysis, Factor Analysis, dll.

Jika \(A\) adalah matriks persegi dan \(\mathbf{x}\) adalah vektor tak nol, maka \(\mathbf{x}\) disebut vektor eigen dari \(A\) jika terdapat skalar \(λ\) sedemikian sehingga memenuhi:

\[ A\mathbf{x} = λ\mathbf{x} \] Nilai skalar \(λ\) inilah yang disebut eigen value dan \(\mathbf{x}\) berkorespondensi terhadap \(λ\). Untuk menghitung nilai eigen dan vektor eigen dari \(A\), kita perlu memindahkan semua suku ke satu sisi sehingga mendapatkan persamaan:

\[ (A - λI)\mathbf{x} = 0 \]

Karena \(\mathbf{x}\) tidak boleh sama dengan nol, maka agar persamaan tersebut memiliki solusi non-trivial, determinannya haruslah sama dengan nol. Sehingga, nilai \(λ\) didapatkan dengan menyelesaikan:

\[ det(A - λI) = 0 \]

Kemudian, substitusikan setiap nilai \(λ\) ke dalam \((A - λI)\mathbf{x} = 0\) untuk mendapatkan vektor eigen yang sesuai \((\mathbf{x})\)

Teorema 1: Jika \(A\) berukuran \(n×n\) dan \(λ_i\) adalah nilai eigen ke-\(i\) dari \(A\), maka perkalian dari seluruh \(λ_i\) untuk \(i = 1, 2, ..., n\) adalah \(det(A)\)

\[ det(A) = |A| = λ_1 × λ_2 × ... × λ_n = \prod_{i=1}^{n} λ_n \]

Teorema 2: Jika \(A\) berukuran \(n×n\) dan \(λ_i\) adalah nilai eigen ke-\(i\) dari \(A\), maka penjumlahan dari seluruh \(λ_i\) untuk \(i = 1, 2, ..., n\) adalah \(trace(A)\)

\[ trace(A) = λ_1 + λ_2 + ... + λ_n = \sum_{i=1}^{n} λ_n \]

Mencari nilai eigen:

eigX = eigen(X); eigX
## eigen() decomposition
## $values
## [1] 22.0140019  0.4816027  0.2043953
## 
## $vectors
##           [,1]       [,2]        [,3]
## [1,] 0.5268942  0.5218595  0.61121520
## [2,] 0.5752916 -0.8360039 -0.78978922
## [3,] 0.6256373  0.1695881  0.05146821
eigY = eigen(Y); eigY
## eigen() decomposition
## $values
## [1] 23.230397 -1.286223  0.155826
## 
## $vectors
##            [,1]       [,2]       [,3]
## [1,] -0.5633011 -0.7710948  0.5522886
## [2,] -0.5584126  0.5270180 -0.8126545
## [3,] -0.6089887  0.3573023  0.1859299
eigvalX = eigX$values; eigvalX
## [1] 22.0140019  0.4816027  0.2043953
eigvalY = eigY$values; eigvalY
## [1] 23.230397 -1.286223  0.155826

Mencari vektor eigen:

eigvecX = eigX$vectors; eigvecX
##           [,1]       [,2]        [,3]
## [1,] 0.5268942  0.5218595  0.61121520
## [2,] 0.5752916 -0.8360039 -0.78978922
## [3,] 0.6256373  0.1695881  0.05146821
eigvecY = eigY$vectors; eigvecY
##            [,1]       [,2]       [,3]
## [1,] -0.5633011 -0.7710948  0.5522886
## [2,] -0.5584126  0.5270180 -0.8126545
## [3,] -0.6089887  0.3573023  0.1859299

Dekomposisi Nilai Eigen

Jika matriks \(A\) memiliki \(n\) eigenvalue berbeda, maka kita bisa tulis:

\[ A = XΛ^{-1} \]

dengan \(X\) adalah matriks yang kolom-kolmnya berisi eigen vector dan \(Λ\) adalah matriks diagonal berisi eigen value.

Jika \(A\) adalah matriks yang simetris \((A = A^T)\), maka \(X\) bisa dbuat ortogonal \((X^{-1} X^T)\), sehngga memenuhi:

\[ A = XΛX^T \]

atau ekuivalen dengan

\[ X^TAX = Λ \]

Lalu, didapatkan bahwa

\[ A^n = XΛ^nX^T \]

Persamaan ini dapat mempermudah perhitungan pangkat matriks.

Dekomposisi Singular Value (SVD)

SVD memecah sebuah matriks \(A_{m×n}\) menjadi tiga matriks. SVD suatu matriks \(A_{m×n}\) dapat diuraikan sebagai berikut:

\[ A_{m×n} = U_{m×m} D_{m×n} V^{T}_{n×n} \]

dengan:

\(U =\) matriks ortogonal berukuran \(m×m\) dengan kolom-kolomnya merupakan left singular vectors dari \(A\) atau kumpulan eigen vektor dari \(AA^{T}\)

\(D =\) matriks diagonal berukuran \(m×n\), yang elemen diagonalnya adalah nilai singular yang non-negatif dan diurutkan menurun

\(V =\) matriks ortogonal berukuran \(n×n\) dengan kolom-kolomnya merupakan right singular vectors dari \(A\) atau kumpulan eigen vektor \(A^{T}A\)

Matriks ortogonal adalah matriks kuadrat yang baris dan kolomnya berupa vektor satuan yang saling ortogonal. Dengan kata lain, sebuah matriks \(A\) dikatakan ortogonal jika memenuhi:

\[ A^{T}A = AA^T = I \\ A^{-1} = A^T \]

Selanjutnya, untuk sebuah matriks \(A\) berukuran \(m×n\) dan \(λ_{1}, λ_{2}, ..., λ_{n}\) adalah nilai-nilai eigen dari \(A^{T}A\), maka \(σ_{1} = \sqrt{λ_{1}}, \quad σ_{2} = \sqrt{λ_{2}}, \quad ... \quad , \quad σ_{n} = \sqrt{λ_{n}}\) disebut nilai-nilai singular dari matriks \(A\). Sedangkan, singular vectors adalah vektor-vektor khusus yang muncul dari Singular Value Decomposition (SVD):

\[ Av_{i} = σ_{i}u_{i} \]

dengan:

\(v_{i}\) = right singular vector

\(u_{i}\) = left singular vector

\(σ_{i}\) = singular value

Dari persamaan di atas, diperoleh:

  1. \(u_{i} = \frac{1}{σ_{i}} A v_{i}\)

  2. \(A^{T}Av_{i} = σ^2_{i} v_{i}\)

  3. \(A^{T}Au_{i} = σ^2_{i} u_{i}\)

Untuk mencari matriks SVD di R, dapat menggunakan syntax berikut:

library(MASS)
## Warning: package 'MASS' was built under R version 4.4.3
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)

# Matriks D
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
# Matriks U
D <- svd_result$d ; D
## [1] 16.07076  7.41936  3.11187
# Matriks V
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

Singular Value Decomposition (SVD) banyak dipakai di berbagai bidang karena berguna untuk memecah matriks menjadi komponen yang lebih sederhana sehingga mudah dianalisis. Metode ini dipakai dalam reduksi dimensi (seperti PCA), kompresi data dan gambar, sistem rekomendasi, penyelesaian persamaan linear, hingga pengurangan noise. SVD dapat membantu merangkum informasi utama dari data yang kompleks dan menjadikannya lebih efisien serta stabil untuk berbagai keperluan analisis maupun komputasi.

Matriks Jarak

Matriks jarak adalah matriks persegi yang menunjukkan jarak antar pasangan objek, seperti titik, lokasi, atau data observasi lainnya. Matriks ini simetris dan memiliki nilai nol pada diagonal utamanya, yang berarti bahwa jarak suatu objek dari dirinya sendiri adalah nol. Matriks jarak digunakan dalam berbagai bidang, seperti geografi (misalnya Google Maps) hingga bioinformatika dan machine learning untuk analisis dan pengelompokan data. Berikut adalah dataset sampel yang akan digunakan untuk menghitung jarak antar pengamatan.

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

Jarak Euclidean

Jarak Euclidean merupakan jarak lurus (garis terpendek) antara dua titik di ruang \(p\)-dimensi (jarak lurus standar). Jarak euclidean dapat dihitung dengan:

\[ d_{ij} = \sqrt{(\mathbf{x}_i - \mathbf{x}_j)^t (\mathbf{x}_i - \mathbf{x}_j)} \]

Contoh aplikasi:

  • Menghitung jarak garis lurus antar dua koordinat (GPS)

  • Perencanaan rute terpendek

  • Clustering (K-Means, Hierarchical): mengelompokkan objek yang jaraknya dekat

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)

Heatmap tersebut menunjukkan tingkat kemiripan pola kriminalitas antar negara di USA. Warna merah menunjukkan pola kriminalitas antar dua negara serupa atau jaraknya kecil, sementara warna biru menunjukkan pola kriminalitas antara dua negara sangat berbeda dengan jarak yang besar. Dalam heatmap tersebut dapat terlihat pola warna merah di diagonal utama yang menggambarkan setiap negara bagian yang dibandingkan dengan dirinya sendiri memiliki jarak 0. Lalu, dapat terlihat bahwa New York dan Illinois memiliki warna merah yang sedikit lebih muda menunjukkan bahwa tingkat kriminalitas di antara kedua negara tersebut serupa. Sedangkan, untuk North Dakota dengan New Mexico memiliki warna biru paling pekat yang menunjukkan bahwa pola kriminalitas antar kedua negara tersebut sangat berbeda. Dengan demikian, visualisasi ini membantu memahami kelompok negara bagian mana yang cenderung serupa dalam hal kriminalitas dan mana yang berbeda secara signifikan.

Jarak Chebyshev

Jarak Chebyshev merupakan jarak yang ditentukan oleh selisih terbesar atau jarak maksimum di antara perbedaan koordinat. Jarak ini berfokus pada dimensi dengan selisih terbesar. Jarak chebyshev dapat dihitung dengan:

\[ d_{ij} = \max_{1\le \ell \le p} (|x_{\ell i} - x_{\ell j}|) \]

Contoh aplikasi:

  • Jarak langkah raja antara dua posisi

  • Berguna di quality control multivariat, misalnya mengecek dimensi produk (lebar, panjang, tinggi) dan fokus pada dimensi terburuk

  • Algoritma machine learning seperti pengelompokan dan klasifikasi data, serta dalam optimasi data berdimensi tinggi

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)

Secara umum, visualisasi heatmap untuk jarak Euclidean dan Chebyshev tidak jauh berbeda, pola yang digunakan tetap sama yaitu gradasi dari merah ke biru. Hanya saja rentang skala yang digunakan pada jarak ini lebih kecil yaitu dari 0 sampai 3. Selain itu, Jika dilihat berdasarkan hasil perhitungan jarak, terdapat beberapa perbedaan hasil seperti pada negara New York dan Illinois, pada jarak Euclidean jarak antar keduanya ialah sebesar 0,41, sedangkan pada jarak Chebyshev hasil yang ditunjukkan adalah sebesar 0,31. Hal ini tentu saja terjadi karena faktor yang diperhitungkan pada kedua metode tidak sama sehingga hasil jaraknya pun berbeda.

Jarak Manhattan

Jarak Manhattan adalah jumlah perbedaan absolut antar koordinat, seperti berjalan di jalan kota berbentuk grid (jarak berbasis grid).

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

Contoh aplikasi:

  • Menghitung jarak dalam gudang/grid jalan yang tidak memungkinkan jalur diagonal

  • Menghitung jarak antar dokumen berdasarkan frekuensi kata (NLP)

  • Merancang rute di wilayah yang tata letaknya seperti grid

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)

Untuk interpretasi heatmap jarak Manhattan juga tidak berbeda dengan dua jarak sebelumnya yaitu Euclidean dan Chebyshev, hanya rentang skala yang digunakan lebih besar dari keduanya yaitu dari 0 sampai 10. Sementara itu, pada jarak Manhattan ini, angka yang dihasilkan dari jarak antara New York dan Illinois lebih besar dari dua jarak sebelumnya yaitu 0,73. Perbedaan jarak ini menunjukkan bahwa cara pengukuran kedekatan antara objek sangat bergantung pada definisi jarak yang dipakai, sehingga interpretasinya juga harus disesuaikan dengan jarak yang digunakan.

Jarak Mahalanobis

Jarak Mahalanobis adalah jarak antar titik yang mempertimbangkan skala (varians) dan korelasi antar variabel. Jarak Mahalanobis dapat dihitung dengan:

\[ d_{ij} = \sqrt {(y_i - y_j)^T S^{-1} (y_i - y_j)} \]

Contoh aplikasi:

  • Misalnya mendeteksi transaksi keuangan yang tidak wajar

  • Memisahkan kelompok dengan varians dan korelasi berbeda (Analisis Diskriminan)

  • Menemukan outlier multivariat

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
## Loading required package: dplyr
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## 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

Pada matriks ini, angka atau jarak yang lebih kecil menunjukkan pola kriminalitas yang serupa dan dihitung dengan mempertimbangkan korelasi antar jenis kriminalitas. Contohnya jarak antara Hawaii dan Mississippi sebesar 4,72 menunjukkan pola kriminalitas yang relatif berbeda di antara kedua negara tersebut, sementara jarak antara Kansas dan Oklahoma sebesar 0,65 menunjukkan pola kriminalitas antara kedua negara tersebut cukup serupa.

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.

\[ d_{ij} = (\sum_{k=1}^{D} |x_{ik} - x_{jk}|^p)^\frac{1}{p} \]

Jika \(p=1\) jarak Manhattan \((\ell _{1} norm)\)

Jika \(p=2\) jarak Euclidean \((\ell _{2} norm)\)

Jika \(p→\infty\) jarak Chebyshev \((\ell _{\infty} norm)\)

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

Jarak ini menjadi bentuk dasar yang mencakup berbagai jenis jarak lain. Untuk \(p = 1\) (Manhattan), jarak sebesar 13,38 menunjukkan total perbedaan absolut antar variabel, setiap selisih antar variabel dijumlahkan sehingga memberikan gambaran akumulatif perbedaan. Dengan \(p = 2\) (Euclidean), jarak menjadi 7,73, yang merepresentasikan jarak lurus dan memberikan ukuran jarak yang seimbang dan tidak dipengaruhi oleh salah satu variabel. Saat \(p=3\), jarak sebesar 6,44 (Minkowski umum) menunjukkan bahwa variabel dengan selisih lebih besar memiliki bobot lebih besar dibandingkan Euclidean, namun tetap mempertimbangkan semua variabel. Terakhir, ketika \(p→\infty\) (Chebyshev), jarak hanya 4,53, yang berarti jarak hanya memperhatikan perbedaan terbesar antar variabel. Perbedaan nilai \(p\) pada jarak Minkowski menunjukkan sensitivitas jarak terhadap variabel yang berbeda, semakin besar \(p\), semakin fokus jarak terhadap perbedaan terbesar antar variabel.

Vektor Rata-Rata

Vektor rata-rata atau biasa disebut vektor observasi merupakan vektor kolom dimana setiap elemennya mewakili rata-rata (mean) dari setiap variabel dalam sekumpulan titik data. Vektor rata-rata dapat dihitung sebagai berikut:

\[ \mathbf {\bar {x}} = \frac {1}{n} \sum_{i = 1} ^ {n} \mathbf{x_i} \]

dengan \(i\) menunjukkan observasi.

Berikut merupakan data pengukuran kadal:

# input data kadal
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
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

Matriks Kovarians

Matriks kovarians adalah matriks persegi dan simetris dimana elemen diagonalnya menunjukkan varians setiap variabel, dan elemen di luar diagonal menunjukkan kovariansi antar pasangan variabel yang berbeda. Kovarians dari \(X_j\) dan \(X_k\) dapat dihitung dengan rumus:

\[ Cov(X_j,X_k) = \frac {\sum_{i=1}^{n}(x_{ij} - \mu_j)(x_{ik} - \mu_k)}{n-1} = σ_{jk} \]

Kovarians memiliki dua sifat:

  1. \(Cov (X_j,X_k) = Cov(X_k, X_j)\)

  2. \(Cov (X_j, X_j) = Var(X_j)\)

Selanjutnya, matriks Kovarians dapat dituliskan sebagai berikut:

\[ \sum = \begin{bmatrix} σ_{11} & σ_{12} & \dots & σ_{1p} \\ σ_{21} & σ_{22} & \dots & σ_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ σ_{p1} & σ_{p2} & \dots & σ_{pp} \end{bmatrix} \]

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

Matriks Korelasi

Matriks korelasi adalah tabel berbentuk persegi panjang yang berisi koefisien korelasi antara beberapa variabel, dimana setiap sel dalam tabel menunjukkan kekuatan dan arah hubungan antara dua variabel yang berbeda, dengan nilai dari -1 hingga +1. Diagonal utama pada matriks korelasi terdiri dari koefisien korelasi setiap variabel dengan dirinya sendiri, yang selalu bernilai 1, karena suatu variabel berkorelasi sempurna dengan dirinya sendiri. Matriks korelasi dapat ditulis sebagai berikut:

\[ R = \begin{bmatrix} 1 & r_{12} & \dots & r_{1p} \\ r_{21} & 1 & \dots & r_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ r_{p1} & r_{p2} & \dots & 1 \end{bmatrix} \]

dengan:

\[ r_{ik} = \frac{\sum_{j=1}^{n} (x_{ij} - \bar{x}_i)(x_{kj} - \bar{x}_k)}{\sqrt{\sum_{j=1}^{n} (x_{ij} - \bar{x}_i)^2} \cdot \sqrt{\sum_{j=1}^{n} (x_{kj} - \bar{x}_k)^2}} \]

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

Matriks Standardisasi (akar dari variansi masing-masing variabel)

Matriks standardisasi adalah matriks diagonal yang elemennya adalah standar deviasi masing-masing variabel. Matriks ini digunakan untuk menormalkan variabel, sehingga perbedaan skala antar variabel dihilangkan. Struktur matriks standarisasi adalah sebagai berikut:

\[ D_s = \begin{bmatrix} σ_1 & 0 & \dots & 0 \\ 0 & σ_2 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & σ_p \end{bmatrix} \]

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