I. Definisi Matriks

Matriks adalah susunan bilangan berbentuk persegi panjang (tabel) yang terdiri atas baris dan kolom. Bilangan-bilangan yang membentuk matriks disebut elemen matriks.

Contoh matriks \(\boldsymbol{A}\) berordo \(2\times3\) (2 baris, 3 kolom): \[ \boldsymbol{A} = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix} \] Di dalam R, kita dapat menginput data ke dalam matriks sebagai berikut:

# Membuat matriks 3x3
X = matrix(c(1,2,3,
             4,5,6,
             7,8,9), nrow=3, ncol=3, byrow=TRUE)
X
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9

II. Operasi Matriks

Terdapat beberapa operasi dasar matriks meliputi:

1. Penjumlahan Matriks

Operasi matriks yang bertujuan untuk menjumlahkan setiap entri dari suatu matriks terhadap matriks lainnya.

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

2. Pengurangan Matriks

Operasi matriks yang bertujuan untuk mengurangisetiap entri dari suatu matriks terhadap matriks lainnya.

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

3. Perkalian Skalar

Mengalikan setiap elemen matriks dikalikan dengan suatu bilangan skalar k

\[ (kA)_{ij} = k \cdot a_{ij} \]

4. Perkalian Matriks

Mengalikan setiap entri pada tiap baris dari matriks pertama dengan tiap kolom dari matriks kedua. Oleh karena itu, hal yang harus diperhatikan dalam mengalikan martiks adalah jumlah kolom dari matriks pertama harus sama dengan jumlah baris dari matriks kedua.

\[ (A \times B)_{ij} = \sum_{k=1}^{n} a_{ik} \cdot b_{kj} \]

5. Transpose Matriks

Membalikkan baris menjadi kolom atau sebaliknya.

\[ (A^T)_{ij} = a_{ji} \]

6. Determinan Matriks

Determinan Matriks merupakan salah satu operasi matriks yang bertujuan untuk menunjukkan apakah suatu matriks “invertible” atau tidak. Hasil yang diberikan dalam determinan suatu matriks adalah suatu skalar. Untuk matriks persegi \(2\times2\):

\[ \det \begin{bmatrix} a & b \\ c & d \end{bmatrix} = ad - bc \]

7. Invers Matriks

Invers matriks merupakah salah satu operasi matriks yang bertujuan untuk “membalik” operasi matriks.

\[ A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} \]

Syntax R

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)
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)

#Penjumlahan Matriks
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
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
#Perkalian Matriks
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
# Transpose
t(X)
##      [,1] [,2] [,3]
## [1,]  6.5  8.2  7.9
## [2,]  5.4  7.0  6.7
## [3,]  8.1  6.9  9.2
# Determinan
det(X)
## [1] 2.167
# Invers
solve(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

III. Eigen Value dan Eigen Vector

1. Eigen value

Eigen value (nilai eigen) adalah bilangan skalar \(λ\) yang menunjukkan seberapa besar suatu transformasi linier (matriks) merubah arah vektor.

\[ det(\boldsymbol{A}-\lambda \boldsymbol{I}) = 0 \]

Setelah menyelesaikan persamaan di atas, maka nilai eigen value akan ditemukan dalam bentuk \(λ\).

2. Eigen vector

Eigen vector (vektor eigen) adalah vektor tak nol \(v\) yang arah perubahannya tetap ketika dikenai transformasi matriks. Eigen vector dapat dicari setelah menemukan eigen value \(λ\) sebagai berikut:

\[ \left(\boldsymbol{A}-\lambda \boldsymbol{I} \right)v = 0 \]

Syntax R

# Membuat matriks
A <- matrix(c(2, 1,
              1, 2), nrow = 2, byrow = TRUE)
A
##      [,1] [,2]
## [1,]    2    1
## [2,]    1    2
# Menghitung eigen value dan eigen vector
eig <- eigen(A)

# Menampilkan eigen value
eig$values
## [1] 3 1
# Menampilkan eigen vector
eig$vectors
##           [,1]       [,2]
## [1,] 0.7071068 -0.7071068
## [2,] 0.7071068  0.7071068

IV. Singular Value Decomposition (SVD)

Singular Value Decomposition (SVD) adalah salah satu metode dekomposisi matriks yang memecah sebuah matriks \(A\) menjadi tiga matriks lain. SVD sangat penting dalam analisis data, khususnya pada reduksi dimensi (PCA), kompresi data, dan pengolahan sinyal.

Jika \(A\) adalah matriks berukuran \(m \times n\), maka SVD dituliskan sebagai:

\[ A = U \, \Sigma \, V^T \]

dengan:

- \(U\) = matriks ortogonal berukuran \(m \times m\) (kolomnyadisebut left singular vectors)
- \(\Sigma\) = matriks diagonal \(m \times n\) yang berisi singularvalues (akar dari eigen value \(A^TA\))
- \(V\) = matriks ortogonal berukuran \(n \times n\) (kolomnya disebutright singular vectors)

Intuisi

  • Matriks \(U\) menentukan arah/ruang baris.
  • Matriks \(V\) menentukan arah/ruang kolom.
  • Matriks \(\Sigma\) berisi nilai skala (singular values) yang menunjukkan “besar informasi” pada masing-masing komponen.

Syntax R

# Contoh matriks 
A<-  matrix(c(5,-3,6, 
              2,-4,8, 
              -2,5,-1,
              7,3,9), nrow=4, byrow=TRUE)

# Dekomposisi SVD

svd_result <- svd(A)

# Singular values

svd_result$d
## [1] 16.07076  7.41936  3.11187
# Matriks U

svd_result$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 V

svd_result$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

V. Konsep Jarak

Pengertian

Dalam analisis data, jarak (distance) digunakan untuk mengukur tingkat kemiripan atau perbedaan antar objek/individu berdasarkan nilai variabel-variabel yang dimilikinya.
Semakin kecil nilai jarak, semakin mirip dua objek tersebut; sebaliknya, semakin besar jarak, semakin berbeda kedua objek.

Fungsi Jarak

  • Mengelompokkan data (Clustering, K-Means, Hierarchical).
  • Mengukur kedekatan antar titik dalam ruang multidimensi.
  • Deteksi anomali/outlier.
  • Aplikasi pada machine learning (misalnya KNN).

Jenis-jenis Ukuran Jarak

  1. Jarak Euclidean
    Jarak garis lurus terpendek antara dua titik \(x\) dan \(y\) di ruang berdimensi \(p\).
    \[ d(x,y) = \sqrt{\sum_{i=1}^{p} (x_i - y_i)^2} \]

  2. Jarak Manhattan (city-block distance)
    Mengukur jarak berdasarkan jumlah perbedaan absolut antar koordinat.
    \[ d(x,y) = \sum_{i=1}^{p} |x_i - y_i| \]

  3. Jarak Chebyshev
    Menggunakan selisih maksimum dari semua dimensi.
    \[ d(x,y) = \max_{i} \, |x_i - y_i| \]

  4. Jarak Mahalanobis
    Mempertimbangkan varians dan korelasi antar variabel.
    \[ d(x,y) = \sqrt{(x-y)^T \, S^{-1} \, (x-y)} \] dengan \(S\) adalah matriks kovarians.

Contoh Kasus

Misalkan terdapat data sederhana berisi tinggi badan (cm) dan berat badan (kg) dari 5 orang, kita ingin mengukur tingkat kemiripan antar individu berdasarkan tinggi dan berat menggunakan beberapa ukuran jarak. Untuk itu dapat dilakukan menggunakan R Studio seperti berikut:

# Data
data <- data.frame(
  Tinggi = c(170, 165, 180, 175, 160),
  Berat  = c(65, 59, 72, 70, 55)
)
rownames(data) <- c("A","B","C","D","E")
data
##   Tinggi Berat
## A    170    65
## B    165    59
## C    180    72
## D    175    70
## E    160    55
# Standarisasi (opsional agar skala sebanding)
data.scaled <- scale(data)

# 1. Jarak Euclidean
dist.eucl <- dist(data.scaled, method = "euclidean")
dist.eucl
##           A         B         C         D
## B 1.0470554                              
## C 1.5961753 2.6208508                    
## D 0.9399782 1.9850505 0.6909193          
## E 1.8799564 0.8423050 3.4626496 2.8199346
# 2. Jarak Manhattan
dist.manh <- dist(data.scaled, method = "manhattan")
dist.manh
##           A         B         C         D
## B 1.4669164                              
## C 2.2384488 3.7053652                    
## D 1.3278396 2.7947560 0.9106092          
## E 2.6556792 1.1887628 4.8941279 3.9835188
# 3. Jarak Chebyshev (maximum)
dist.cheb <- dist(data.scaled, method = "maximum")
dist.cheb
##           A         B         C         D
## B 0.8344609                              
## C 1.2649111 1.8973666                    
## D 0.6953841 1.5298449 0.6324555          
## E 1.3907681 0.6324555 2.5298221 2.0861522
# 4. Jarak Mahalanobis
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: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3
## Loading required package: dplyr
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## 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(data.scaled)
dist.mah
##           A         B        C         D         E
## A 0.0000000 1.5789310 2.306714 0.7953352 1.5906705
## B 1.5789310 0.0000000 1.957692 2.3067142 0.7953352
## C 2.3067142 1.9576920 0.000000 2.4927803 2.7074402
## D 0.7953352 2.3067142 2.492780 0.0000000 2.3860057
## E 1.5906705 0.7953352 2.707440 2.3860057 0.0000000

Interpretasi

  • Jarak Euclidean: menggambarkan jarak garis lurus antar individu.
  • Jarak Manhattan: melihat perbedaan absolut antar variabel. - Jarak Chebyshev: hanya memperhatikan perbedaan terbesar.
  • Jarak Mahalanobis: memperhitungkan korelasi antar variabel, sehingga lebih akurat untuk data multivariat.
  • Jarak Chebyshev: hanya memperhatikan perbedaan terbesar.

VI. Vektor Rata-Rata

Vektor rata-rata (mean vector) adalah representasi rata-rata dari setiap variabel dalam sebuah data multivariat. Jika kita memiliki data dengan \(n\) pengamatan dan \(p\) variabel, maka vektor rata-rata berisi nilai rata-rata masing-masing variabel. Misalkan data multivariat dinyatakan dengan matriks:

\[ X = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1p} \\ x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{np} \end{bmatrix} \]

Maka vektor rata-rata adalah:

\[ \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} \]

Interpretasi

  • Setiap komponen \(\bar{x}_j\) adalah rata-rata dari variabel ke-\(j\).
  • Vektor rata-rata menunjukkan pusat data dalam ruang berdimensi banyak (multidimensi).
  • Digunakan dalam analisis multivariat, misalnya PCA (Principal Component Analysis) dan analisis diskriminan.

Contoh Kasus di R

# Data sederhana (misal: berat badan, panjang tubuh, rentang tubuh kadal)
BB <- c(6.2, 11.5, 8.7, 10.1, 7.8)
PT <- c(61, 73, 68, 70, 64)
RTB <- c(115, 138, 127, 123, 131)

# Gabungkan ke dalam matriks
lizard <- as.matrix(cbind(BB, PT, RTB))
lizard
##        BB PT 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
# Hitung vektor rata-rata
vecMeans <- as.matrix(colMeans(lizard))
vecMeans
##       [,1]
## BB    8.86
## PT   67.20
## RTB 126.80

Hasilnya adalah vektor rata-rata 3 dimensi yang menunjukkan nilai rata-rata berat badan, panjang tubuh, dan rentang tubuh.