1 Matriks

1.1 Definisi Matriks

Matriks adalah suatu susunan bilangan (atau simbol) yang disusun dalam bentuk baris dan kolom, sehingga membentuk sebuah persegi panjang.
Secara formal, sebuah matriks \(A\) berordo \((m \times n)\) didefinisikan sebagai himpunan elemen \(a_{ij}\) dengan:

\[ 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}, \quad a_{ij} \in \mathbb{R} \ \text{atau} \ \mathbb{C} \] Dengan keterangan:

  • \(m\) adalah jumlah baris
  • \(n\) adalah jumlah kolom
  • \(a_{ij}\) adalah elemen pada baris ke-\(i\) dan kolom ke-\(j\)

Pada R, suatu matriks dapat kita input dengan:

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

Matriks diatas disusun berdasarkan kolom pada syntax. Jika kita ingin membuat matriks yang tersusun atas baris seperti pada umumnya, sytntax yang harus dibuat adalah:

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

1.2 Operasi Matriks

1.2.1 Penjumlahan Matriks

Penjumlahan matriks hanya dapat dilakukan apabila kedua matriks memiliki ordo yang sama (jumlah baris dan kolom sama).
Jika terdapat dua matriks \(A = [a_{ij}]\) dan \(B = [b_{ij}]\) berordo \(m \times n\), maka hasil penjumlahan \(C = A + B\) adalah matriks \(C = [c_{ij}]\) dengan:

\[ c_{ij} = a_{ij} + b_{ij}, \quad \text{untuk semua } i, j \] Akan menggunakan matriks sebelumnya untuk contoh:

A+B
##      [,1] [,2] [,3]
## [1,]    2    6   10
## [2,]    6   10   14
## [3,]   10   14   18

1.2.2 Pengurangan Matriks

Pengurangan matriks hanya dapat dilakukan apabila kedua matriks memiliki ordo yang sama.
Jika \(A = [a_{ij}]\) dan \(B = [b_{ij}]\) keduanya berordo \(m \times n\), maka hasil pengurangan \(C = A - B\) juga berordo \(m \times n\), dengan:

\[ c_{ij} = a_{ij} - b_{ij}, \quad \forall i = 1,2,\dots,m; \ j = 1,2,\dots,n \]

Sebagai contoh, akan menggunakan matriks sebelumnya:

A-B
##      [,1] [,2] [,3]
## [1,]    0    2    4
## [2,]   -2    0    2
## [3,]   -4   -2    0

1.2.3 Perkalian Matriks

Perkalian matriks adalah salah satu operasi fundamental dalam aljabar linear yang berbeda dengan operasi perkalian bilangan biasa.
Jika terdapat matriks \(A\) berordo \((m \times n)\) dan matriks \(B\) berordo \((n \times p)\), maka perkalian \(A \cdot B\) didefinisikan sebagai matriks \(C\) berordo \((m \times p)\), di mana setiap elemen \(c_{ij}\) dihitung dengan cara mengalikan elemen-elemen baris ke-\(i\) dari \(A\) dengan elemen-elemen kolom ke-\(j\) dari \(B\), kemudian menjumlahkannya.

\[ c_{ij} = \sum_{k=1}^{n} a_{ik} \cdot b_{kj}, \quad \forall i = 1,2,\dots,m; \ j = 1,2,\dots,p \]

Dari definisi ini, dapat dilihat bahwa syarat utama perkalian matriks adalah jumlah kolom pada matriks pertama harus sama dengan jumlah baris pada matriks kedua. Apabila syarat ini tidak terpenuhi, maka perkalian tidak dapat dilakukan.

Perlu diperhatikan bahwa perkalian matriks tidak bersifat komutatif, yaitu secara umum \(A \cdot B \neq B \cdot A\). Akan tetapi, perkalian matriks tetap bersifat asosiatif \(A \cdot (B \cdot C) = (A \cdot B) \cdot C\) dan distributif terhadap penjumlahan matriks.

Jika dalam kode R:

A%*%B
##      [,1] [,2] [,3]
## [1,]   66   78   90
## [2,]   78   93  108
## [3,]   90  108  126

1.2.4 Perkalian dengan Skalar

Perkalian matriks dengan skalar adalah operasi di mana setiap elemen dari sebuah matriks dikalikan dengan suatu bilangan real (atau kompleks) \(k\) yang disebut skalar.
Jika \(A = [a_{ij}]\) adalah matriks berordo \((m \times n)\) dan \(k \in \mathbb{R}\), maka hasil perkalian \(kA\) adalah matriks berordo \((m \times n)\) dengan elemen:

\[ (kA)_{ij} = k \cdot a_{ij}, \quad \forall i = 1,2,\dots,m; \ j = 1,2,\dots,n \]

Operasi ini tidak mengubah bentuk (ordo) matriks, tetapi hanya mengubah nilai setiap elemennya secara proporsional terhadap skalar \(k\).

B * 7
##      [,1] [,2] [,3]
## [1,]    7   14   21
## [2,]   28   35   42
## [3,]   49   56   63

1.2.5 Perkalian Entri Matriks

Perkalian entri antar matriks adalah operasi perkalian yang dilakukan dengan cara mengalikan elemen-elemen yang posisinya sama pada dua matriks yang memiliki ordo sama. Jika \(A = [a_{ij}]\) dan \(B = [b_{ij}]\) adalah dua matriks berordo \((m \times n)\), maka hasil perkaliannya \(C = A \times B\) juga berordo \((m \times n)\). Operasi ini berbeda dengan perkalian matriks biasa. Di sini tidak ada kombinasi baris dan kolom, melainkan setiap elemen dikalikan langsung dengan elemen lain yang terletak pada posisi yang sama.

A*B
##      [,1] [,2] [,3]
## [1,]    1    8   21
## [2,]    8   25   48
## [3,]   21   48   81

1.2.6 Matriks Transpose

Transpose matriks adalah operasi yang dilakukan dengan cara menukar baris menjadi kolom atau sebaliknya.
Jika \(A = [a_{ij}]\) adalah matriks berordo \((m \times n)\), maka transpose dari \(A\) dilambangkan dengan \(A^T\) dan akan berordo \((n \times m)\) sebagai contoh, kita akan menggunakan matriks A dan B sebelumnya

X = matrix(c(2, 1, 1,
             1, 3, 2,
             1, 0, 0), nrow = 3, byrow = TRUE); X
##      [,1] [,2] [,3]
## [1,]    2    1    1
## [2,]    1    3    2
## [3,]    1    0    0
A
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
tra = t(A);tra
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9
trx = t(X);trx
##      [,1] [,2] [,3]
## [1,]    2    1    1
## [2,]    1    3    0
## [3,]    1    2    0

1.2.7 Determinan Matriks

Determinan matriks adalah sebuah bilangan skalar yang dapat dihitung dari sebuah matriks persegi (ordo \(n \times n\)). Nilai determinan sering digunakan untuk mengetahui apakah suatu matriks singular atau tidak (mempunyai invers atau tidak). Jika determinan suatu matriks bernilai nol, maka matriks tersebut disebut singular dan tidak memiliki invers. Sebaliknya, jika determinannya tidak nol, maka matriks tersebut nonsingular dan memiliki invers.
Determinan suatu matriks yang ber-ordo \(2 \times2\) dihitung dengan rumus:
\[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \]

\[ \det(A) = ad - bc \] Untuk matriks sebelumnya (\(\boldsymbol{A}\)), (\(\boldsymbol{B}\)), dan (\(\boldsymbol{X}\)) yang berukuran \(3 \times3\), dapat dihitung dengan:

deta = det(A); deta
## [1] 0
detb = det(B); detb
## [1] 6.661338e-16
detx = det(X); detx
## [1] -1

1.2.8 Invers Matriks

Invers matriks adalah kebalikan dari suatu matriks persegi (berordo \(n \times n\)) yang apabila dikalikan dengan matriks asalnya akan menghasilkan matriks identitas. Tidak semua matriks memiliki invers; syarat agar suatu matriks mempunyai invers adalah determinannya tidak sama dengan nol.

Jika \(A\) adalah sebuah matriks, maka invers dari \(A\) dilambangkan dengan \(A^{-1}\), dan berlaku:

\[ A \cdot A^{-1} = A^{-1} \cdot A = I \]
dengan \(I\) adalah matriks identitas.

Secara umum, invers dari sebuah matriks \(A\) dapat dituliskan dengan formula:
\[ A^{-1} = \frac{1}{\det(A)} \cdot \text{Adj}(A) \]
dengan:

  • \(\det(A)\) adalah determinan matriks \(A\)
  • \(\text{Adj}(A)\) adalah matriks adjoin (transpose dari kofaktor)

Jika \(\det(A) = 0\), maka \(A\) tidak mempunyai invers.

X
##      [,1] [,2] [,3]
## [1,]    2    1    1
## [2,]    1    3    2
## [3,]    1    0    0
inx = solve(X); inx
##      [,1] [,2] [,3]
## [1,]    0    0    1
## [2,]   -2    1    3
## [3,]    3   -1   -5
round(X %*% inx, 5)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

dapat dilihat bahwa hasil dari \(A \cdot A^{-1}\) menghasilkan \(I\)

2 Eigen Value dan Eigen Vector

Eigen value (nilai eigen) adalah suatu bilangan skalar yang menunjukkan seberapa besar suatu vektor diregangkan atau diperkecil ketika dikenai transformasi oleh sebuah matriks. Dengan kata lain, eigen value memberi tahu skala perubahan yang dialami sebuah vektor tertentu akibat perkalian dengan matriks.

Eigen vector (vektor eigen) adalah vektor khusus yang arahnya tidak berubah meskipun dikalikan dengan sebuah matriks. Vektor ini hanya mengalami perubahan panjang (diperbesar atau diperkecil) sesuai faktor skala yang ditentukan oleh eigen value.

Secara matematis, hubungan antara eigen value \(\lambda\) dan eigen vector \(v\) dituliskan sebagai:

\[ A v = \lambda v \] atau dapat diturunkan ke bentuk:
\[ (A - \lambda I)v = 0 \] Untuk mendapatkan nilai eigen value, harus diselesaikan persamaan karakteristik:
\[ \det(A - \lambda I) = 0 \] Eigen Value:

eigen(X)$values
## [1]  3.9122292  1.2864621 -0.1986912
eigen(B)$values
## [1]  1.611684e+01 -1.116844e+00 -1.303678e-15

Eigen Vectors:

eigen(X)$vectors
##            [,1]       [,2]       [,3]
## [1,] -0.5123339 -0.5111824 -0.1705894
## [2,] -0.8487428  0.7621033 -0.4834920
## [3,] -0.1309570 -0.3973552  0.8585655
eigen(B)$vectors
##            [,1]        [,2]       [,3]
## [1,] -0.2319707 -0.78583024  0.4082483
## [2,] -0.5253221 -0.08675134 -0.8164966
## [3,] -0.8186735  0.61232756  0.4082483

3 Singular Value Decomposition (SVD)

Singular Value Decomposition (SVD) adalah salah satu teknik dekomposisi matriks yang memfaktorkan suatu matriks berukuran \(n \times m\) menjadi tiga matriks khusus, yaitu sebuah matriks ortogonal \(U\), sebuah matriks diagonal \(D\) yang berisi nilai singular, dan sebuah matriks ortogonal \(V\).

Bentuk umum dekomposisi SVD adalah:

\[ A_{n \times m} = U_{n \times n} D_{n \times m} V'_{m \times m} \]

dengan:

  • \(U_{n \times n}\) : matriks ortogonal yang kolom-kolomnya disebut left singular vectors
  • \(D_{n \times m}\) : matriks diagonal yang berisi singular values (nilai singular)
  • \(V'_{m \times m}\) : transpose dari matriks ortogonal \(V\), dengan kolom-kolomnya disebut right singular vectors
X
##      [,1] [,2] [,3]
## [1,]    2    1    1
## [2,]    1    3    2
## [3,]    1    0    0
U = svd(X)$u;U
##            [,1]       [,2]       [,3]
## [1,] -0.5060008  0.6968756 -0.5082593
## [2,] -0.8557226 -0.4794942  0.1944844
## [3,] -0.1081760  0.5333383  0.8389566
d = svd(X)$d;d
## [1] 4.2738289 1.6474878 0.1420236
V = svd(X)$v;V
##            [,1]       [,2]       [,3]
## [1,] -0.4623255  0.8786683  0.1191517
## [2,] -0.7190668 -0.4501441  0.5294461
## [3,] -0.5188430 -0.1590984 -0.8399343
D <- matrix(0, nrow = nrow(U), ncol = ncol(V))
diag(D) <- d 

X2 = round(U%*%D%*%t(V),5); X2
##      [,1] [,2] [,3]
## [1,]    2    1    1
## [2,]    1    3    2
## [3,]    1    0    0

Bisa dilihat bahwa \(U_{n \times n} D_{n \times m} V'_{m \times m}\) setelah dikalikan menghasilkan matriks \(X\)

4 Konsep Jarak

Dalam Analisis Data Multivariat (ADM), kita sering bekerja dengan data yang memiliki banyak variabel sekaligus.
Untuk membandingkan kemiripan atau perbedaan antar objek (misalnya responden, sampel, atau unit penelitian), dibutuhkan suatu ukuran matematis yang disebut jarak (distance).

Secara umum, jarak adalah suatu ukuran yang menyatakan seberapa jauh dua buah titik (atau vektor) dalam ruang berdimensi banyak.
- Semakin kecil nilai jarak, semakin mirip (atau dekat) kedua objek tersebut.
- Sebaliknya, semakin besar nilai jarak, semakin berbeda (atau jauh) keduanya.

library(factoextra) #untuk visualisasi hasil analisis multivariat,terutama analisis berbasis faktor dan klaster.
set.seed(321) # Untuk mengontrol keacakan
ss <- sample(1:50, 15) # Mengambil 15 data per observasi unik dari 1 hingga 50 
df <- USArrests[ss, ] # Membuat dataframe 
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 Euclidian

Jarak Euclidean adalah salah satu ukuran jarak yang paling umum digunakan dalam Analisis Data Multivariat.
Jarak ini didasarkan pada konsep panjang garis lurus antara dua titik dalam ruang berdimensi banyak.

Jarak ini dapat dikonsepkan atau diperluas hingga ke ruang dengan dimensi \(p\) di mana \(p > 3\). Dapat dihitung dengan rumus:

\[ d_{ij} = \sqrt{(x_i - x_j)^t (x_i - x_j)} \]

dengan:

  • \(x_i\) = vektor dari objek ke-\(i\)
  • \(x_j\) = vektor dari objek ke-\(j\)
    Salah satu contoh kegunaannya adalah untuk menghitung jarak garis lurus antar dua koordinat (GPS), Clustering (K-Means, Hierarchical) → objek yang jaraknya dekat digabungkan
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 memvisualisasikan matriks jarak Euklides antara berbagai negara bagian AS. Setiap sumbu mewakili negara bagian, dan warna pada setiap sel menunjukkan seberapa jauh (berbeda) atau dekat (mirip) dua negara bagian satu sama lain. Warna merah menunjukkan jarak yang kecil atau kemiripan yang tinggi, sedangkan warna biru menunjukkan jarak yang besar atau perbedaan yang signifikan. Garis diagonal berwarna merah karena jarak sebuah negara bagian dengan dirinya sendiri adalah nol.

Secara keseluruhan, heatmap ini membantu mengidentifikasi kelompok-kelompok negara bagian yang memiliki karakteristik serupa (ditunjukkan oleh blok-blok merah) dan pasangan-pasangan negara bagian yang sangat berbeda (ditunjukkan oleh warna biru).

4.2 JaraK Chebyshev

Jarak Chebyshev adalah ukuran jarak yang menghitung perbedaan maksimum absolut antar elemen dari dua vektor.
Berbeda dengan jarak Euclidean yang mengukur garis lurus, jarak Chebyshev hanya memperhatikan selisih terbesar dari setiap dimensi.

Secara matematis, jarak Chebyshev antara dua titik \(x_i = (x_{i1}, x_{i2}, \dots, x_{ip})\) dan \(x_j = (x_{j1}, x_{j2}, \dots, x_{jp})\) didefinisikan sebagai:

\[ d_{ij} = \max_{k} \, |x_{ik} - x_{jk}|, \quad k = 1, 2, \dots, p \]

dengan:

  • \(x_{ik}\) = nilai variabel ke-\(k\) dari objek \(i\)
  • \(x_{jk}\) = nilai variabel ke-\(k\) dari objek \(j\)

Konsep jarak ini dapat berguna di quality control multivariat, misalnya mengecek dimensi produk (lebar, panjang, 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)

Heatmap ini memvisualisasikan matriks jarak Chebyshev (jarak maksimum) antara berbagai negara bagian AS. Setiap sumbu mewakili negara bagian, dan warna sel menunjukkan seberapa jauh (berbeda) atau dekat (mirip) dua negara bagian satu sama lain, berdasarkan perbedaan koordinat terbesar di antara mereka. Warna merah menunjukkan jarak yang kecil, yang berarti kedua negara bagian tersebut sangat mirip, sementara warna biru menunjukkan jarak yang besar, yang berarti mereka sangat berbeda. Garis diagonal berwarna merah pekat karena jarak sebuah negara bagian dengan dirinya sendiri selalu nol.

Secara keseluruhan, heatmap ini menyoroti kelompok negara bagian yang memiliki karakteristik paling mirip (blok merah di berbagai tempat) dan pasangan negara bagian yang paling berbeda (sel-sel berwarna biru).

4.3 Jarak Manhattan

Jarak Manhattan adalah ukuran jarak yang dihitung berdasarkan jumlah nilai absolut perbedaan antar elemen dari dua vektor.
Disebut juga sebagai city block distance atau taxicab distance, karena perhitungannya mirip dengan cara sebuah taksi bergerak mengikuti blok jalan di kota (hanya bisa maju lurus atau belok tegak lurus, bukan diagonal).

Secara matematis, jarak Manhattan antara dua titik \(x_i = (x_{i1}, x_{i2}, \dots, x_{ip})\) dan \(x_j = (x_{j1}, x_{j2}, \dots, x_{jp})\) didefinisikan sebagai:

\[ d_{ij} = \sum_{k=1}^{p} |x_{ik} - x_{jk}| \]
dengan:

  • \(x_{ik}\) = nilai variabel ke-\(k\) dari objek \(i\)
  • \(x_{jk}\) = nilai variabel ke-\(k\) dari objek \(j\)

Contoh aplikasi jarak Manhattan banyak digunakan dalam machine learning (misalnya k-Nearest Neighbors dengan data biner/kategorik) dan juga dalam optimasi jalur pada sistem transportasi.

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)

Heatmap ini memvisualisasikan matriks jarak Manhattan (jarak taksi) antara berbagai negara bagian AS. Setiap sumbu mewakili negara bagian, dan warna sel menunjukkan seberapa jauh (berbeda) atau dekat (mirip) dua negara bagian satu sama lain, dihitung berdasarkan jumlah total perbedaan absolut dari setiap koordinat. Warna merah menunjukkan jarak yang kecil, yang berarti kedua negara bagian tersebut sangat mirip, sementara warna biru menunjukkan jarak yang besar, yang berarti mereka sangat berbeda. Garis diagonal berwarna merah pekat karena jarak sebuah negara bagian dengan dirinya sendiri adalah nol.

Secara keseluruhan, heatmap ini membantu mengidentifikasi kelompok-kelompok negara bagian yang memiliki karakteristik yang sangat serupa (ditunjukkan oleh blok-blok merah) dan pasangan negara bagian yang sangat berbeda (ditunjukkan oleh warna biru).

4.4 Jarak Mahalanobis

Jarak Mahalanobis adalah ukuran jarak yang mempertimbangkan korelasi antar variabel serta skala data.
Berbeda dengan jarak Euclidean atau Manhattan yang hanya memperhatikan perbedaan absolut antar nilai, jarak Mahalanobis mampu menormalkan data dan menghilangkan pengaruh korelasi antar variabel, sehingga lebih sesuai digunakan dalam Analisis Data Multivariat (ADM).

Secara matematis, jarak Mahalanobis antara dua vektor \(x_i\) dan \(x_j\) didefinisikan sebagai:

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

dengan:

  • \(x_i, x_j\) = vektor data berukuran \(p\)
  • \(S^{-1}\) = invers dari matriks kovarians (\(p \times p\))

Ciri khas utama dari jarak Mahalanobis adalah sifatnya yang memperhitungkan distribusi variabel.
Jika data memiliki variabel dengan skala berbeda atau saling berkorelasi, jarak ini memberikan ukuran yang lebih adil dan representatif.
Contoh penggunaannya misalnya mendeteksi transaksi keuangan yang tidak wajar

library(StatMatch)
dist.mah <- mahalanobis.dist(df.scaled); dist.mah
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

Matriks yang ditampilkan merupakan hasil perhitungan jarak Mahalanobis antar objek, yaitu negara bagian di Amerika Serikat. Setiap baris dan kolom merepresentasikan suatu negara bagian, sedangkan nilai pada sel (\(d_{ij}\)) menunjukkan seberapa jauh jarak Mahalanobis antara negara bagian \(i\) dan \(j\). Nilai pada diagonal utama selalu nol karena jarak suatu objek terhadap dirinya sendiri adalah nol. Matriks ini juga bersifat simetris, artinya jarak dari \(i\) ke \(j\) sama dengan jarak dari \(j\) ke \(i\).

Berbeda dengan jarak Euclidean biasa, jarak Mahalanobis memperhitungkan skala variabel dan korelasi antar variabel, sehingga mampu memberikan ukuran kedekatan yang lebih adil pada data multivariat. Nilai jarak yang lebih kecil menunjukkan bahwa dua negara bagian memiliki karakteristik yang lebih mirip, sedangkan nilai yang lebih besar menunjukkan perbedaan yang lebih jauh. Misalnya, jarak Wyoming dengan Illinois sebesar 1.7186 menandakan keduanya relatif dekat, sedangkan Mississippi dengan Hawaii memiliki jarak 4.7222 yang menunjukkan perbedaan multivariat yang besar. Sebaliknya, jarak Iowa dengan North Dakota hanya 1.0459, yang merupakan salah satu jarak terkecil, sehingga keduanya sangat mirip secara multivariat.

Secara keseluruhan, matriks jarak Mahalanobis ini penting karena dapat digunakan sebagai dasar dalam analisis multivariat lanjutan, seperti analisis klaster, multidimensional scaling (MDS), maupun deteksi pencilan (outlier detection).

4.5 Jarak Minkowski

Jarak Minkowski adalah ukuran jarak umum yang merupakan bentuk perluasan dari jarak Euclidean dan jarak Manhattan.
Jarak ini digunakan untuk mengukur seberapa jauh dua buah titik \(X = (x_1, x_2, \dots, x_n)\) dan \(Y = (y_1, y_2, \dots, y_n)\) dalam ruang berdimensi \(n\), dengan memperkenalkan parameter \(p \geq 1\).

Rumusnya dituliskan sebagai berikut:

\[ d(X,Y) = \left( \sum_{i=1}^{n} |x_i - y_i|^p \right)^{\tfrac{1}{p}} \]

Dengan keterangan:

Jika \(p = 1\), maka jarak Minkowski menjadi jarak Manhattan
Jika \(p = 2\), maka jarak Minkowski menjadi jarak Euclidean
Jika \(p \to \infty\), maka jarak Minkowski mendekati jarak Chebyshev

Jarak Minkowski bersifat fleksibel, karena dapat menyesuaikan ukuran jarak sesuai nilai \(p\) yang dipilih, sehingga sering digunakan dalam berbagai metode analisis data multivariat.

5 Vektor Rata-rata

Vektor rata-rata adalah vektor yang komponennya merupakan rata-rata dari masing-masing variabel dalam dataset multivariat.

\[ \vec{v}_{avg}=\sum_{i=1}^{n} \frac{\vec{v}_i}{n} \]

Dengan \(n\) merupakan jumlah vektor yang akan dihitung nilai vektor rata-ratanya.

# 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
# Matriks Rata-Rata
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
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
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)
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

Mi auguro il meglio!