Dekomposisi Matriks dan Konsep Jarak

Mengungkap Pola, Hubungan, dan Makna dalam Variabel Kategorikal

Disusun oleh Algafuri Decembra Nawa

Tanggal: 2025-09-10

1 Daftar Isi

2 Pendahuluan

::: Matriks merupakan objek fundamental dalam aljabar linear yang memiliki peranan luas di berbagai bidang, mulai dari sains, teknik, hingga ilmu sosial. Operasi dasar matriks seperti penjumlahan, pengurangan, perkalian, transpose, invers, dan determinan menjadi fondasi penting dalam menyelesaikan persoalan matematis maupun komputasional. Lebih lanjut, konsep dekomposisi matriks berfungsi untuk memecah matriks berukuran besar atau kompleks ke dalam bentuk yang lebih sederhana. Salah satu metode populer adalah Singular Value Decomposition (SVD), yang merepresentasikan sebuah matriks menjadi tiga komponen utama sehingga mempermudah analisis data maupun penyelesaian sistem persamaan linear. Di sisi lain, dalam analisis data multivariat, konsep jarak juga sangat esensial untuk mengukur kedekatan antar individu atau objek. Beberapa ukuran jarak yang umum digunakan antara lain Euclidean, Manhattan, Minkowski, serta Mahalanobis, yang masing-masing memiliki karakteristik tersendiri sesuai konteks analisis. :::

3 Operasi Matriks

3.1 Pengertian dan Rumus

3.1.1 Penjumlahan

Menggabungkan elemen matriks dengan menjumlahkan setiap elemen yang posisinya sama. \[ [( A + B )_{ij} = a_{ij} + b_{ij}] \]

3.1.2 Pengurangan

Menggabungkan elemen matriks dengan mengurangkan setiap elemen yang posisinya sama. \[ [( A - B )_{ij} = a_{ij} - b_{ij} ] \]

3.1.3 Perkalian Matriks (Dot Products) Hasil kali baris dari matriks

pertama dengan kolom dari matriks kedua. \[ [ (AB)_{ij} = \sum_{k=1}^n a_{ik} b_{kj} ] \]

3.1.4 Perkalian Antar Elemen

Mengalikan elemen yang posisi sama pada dua matriks dengan ukuran yang sama.
\[ [C_{ij} = a_{ij} \times b_{ij}]\\ perkalian\ dengan\ skalar(kA)_{ij} = k \cdot a_{ij} \]

3.1.5 Transpose

Mengubah baris menjadi kolom atau sebaliknya. \[ X = \begin{pmatrix} x_{11} & x_{12} & x_{13} \\ x_{21} & x_{22} & x_{23} \\ x_{31} & x_{32} & x_{33} \end{pmatrix}, \quad X^\top = \begin{pmatrix} x_{11} & x_{21} & x_{31} \\ x_{12} & x_{22} & x_{32} \\ x_{13} & x_{23} & x_{33} \end{pmatrix} \]

3.1.6 Invers

Matriks pembalikan yang bila dikalikan dengan matriks aslinya menghasilkan matriks identitas. \[ [A^{-1} = \frac{1}{\det(A)} \cdot \text{adj}(A)] \]

3.1.7 Determinan

Nilai skalar yang menunjukkan apakah matriks dapat dibalik (invertible) atau tidak. $$

\[\begin{aligned} \det(A) &= \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc \\ \det(A) &= \begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix} \\ &= a(ei - fh) - b(di - fg) + c(dh - eg) \end{aligned}\]

$$

3.2 Contoh dan Implementasi diberikan matriks X dan Y, yaitu

X = matrix(c(7.6,3.2,2.5,
             8.5,5.6,4.7,
             6.2,4.3,6.5), nrow = 3, ncol = 3)

Y = matrix(c(5.4,7.7,6.7,
             7.5,4.3,3.7,
             4.5,3.9,8.4), nrow = 3, ncol = 3, byrow = TRUE)

X; Y
##      [,1] [,2] [,3]
## [1,]  7.6  8.5  6.2
## [2,]  3.2  5.6  4.3
## [3,]  2.5  4.7  6.5
##      [,1] [,2] [,3]
## [1,]  5.4  7.7  6.7
## [2,]  7.5  4.3  3.7
## [3,]  4.5  3.9  8.4

3.2.1 Penjumlahan

X + Y
##      [,1] [,2] [,3]
## [1,] 13.0 16.2 12.9
## [2,] 10.7  9.9  8.0
## [3,]  7.0  8.6 14.9

3.2.2 Pengurangan

X-Y
##      [,1] [,2] [,3]
## [1,]  2.2  0.8 -0.5
## [2,] -4.3  1.3  0.6
## [3,] -2.0  0.8 -1.9

3.2.3 Perkalian Matriks (Dot Products)

X %*% Y
##        [,1]   [,2]   [,3]
## [1,] 132.69 119.25 134.45
## [2,]  78.63  65.49  78.28
## [3,]  78.00  64.81  88.74
Y %*% X
##       [,1]   [,2]   [,3]
## [1,] 82.43 120.51 110.14
## [2,] 80.01 105.22  89.04
## [3,] 67.68  99.57  99.27

3.2.4 Perkalian Antar Elemen dan Perkalian dengan Skalar

X * Y
##       [,1]  [,2]  [,3]
## [1,] 41.04 65.45 41.54
## [2,] 24.00 24.08 15.91
## [3,] 11.25 18.33 54.60
2 * X   
##      [,1] [,2] [,3]
## [1,] 15.2 17.0 12.4
## [2,]  6.4 11.2  8.6
## [3,]  5.0  9.4 13.0
2 * Y
##      [,1] [,2] [,3]
## [1,] 10.8 15.4 13.4
## [2,] 15.0  8.6  7.4
## [3,]  9.0  7.8 16.8

3.2.5 Transpose

t(X)
##      [,1] [,2] [,3]
## [1,]  7.6  3.2  2.5
## [2,]  8.5  5.6  4.7
## [3,]  6.2  4.3  6.5
t(Y)
##      [,1] [,2] [,3]
## [1,]  5.4  7.5  4.5
## [2,]  7.7  4.3  3.9
## [3,]  6.7  3.7  8.4

3.2.6 Invers

solve(X)   # inv(X)
##             [,1]       [,2]        [,3]
## [1,]  0.36739510 -0.5925069  0.04152767
## [2,] -0.22806181  0.7692831 -0.29137450
## [3,]  0.02360043 -0.3283636  0.34856015
solve(Y)   # inv(Y)
##             [,1]        [,2]         [,3]
## [1,] -0.12505838  0.22226835  0.001845029
## [2,]  0.26724093 -0.08769654 -0.174528220
## [3,] -0.05708059 -0.07835608  0.199090170

3.2.7 Determinan

det(X)
## [1] 44.067
det(Y)
## [1] -173.439

4 Eigen Value dan Eigen Vector

4.1 Pengertian dan Rumus

4.1.1 Eigen Value

Eigenvalue adalah sebuah bilangan skalar (λ) yang merepresentasikan seberapa besar suatu vektor mengalami perubahan ketika dikenai transformasi oleh matriks. Dengan kata lain, eigenvalue dapat dipandang sebagai ukuran banyaknya variasi yang mampu dijelaskan oleh suatu komponen dalam analisis multivariat.

\[ [A v = \lambda v] \] untuk mencari eigen value, digunakan rumus : \[ [\det(A - \lambda I) = 0] \]

4.1.2 Eigen Vector Eigen vektor merupakan vektor tak nol (v) yang

arah pada vektornya tidak berubah apabila diberikan transformasi linear oleh matriks A. Eigen vektor menunjukkan arah utama dari transformasi tersebut

\[ [A v = \lambda v] \]

4.1.3 Pasangan Eigen

Pasangan Eigen merupakan kombinasi yang berasal dari eigenvalue dan eigen vektor yang sesuai. \[ [(\lambda, v)] \]

4.2 Contoh dan Implementasi

Diberikan sebuah matriks berukuran 3 x 3, yaitu

A = matrix(c(6,0,0,
              0,5,3,
              0,3,7), nrow=3, byrow=TRUE)

4.2.1 Eigen Value

eigA <- eigen(A) 
eigA$values
## [1] 9.162278 6.000000 2.837722

4.2.2 Eigen Vektor

eigA$vectors
##           [,1] [,2]       [,3]
## [1,] 0.0000000    1  0.0000000
## [2,] 0.5847103    0  0.8112422
## [3,] 0.8112422    0 -0.5847103

4.2.3 Pasangan Eigen

for (i in 1:length(eigA$values)) {
  cat("\nPasangan ke-", i, ":\n", sep = "")
  cat("Eigenvalue = ", eigA$values[i], "\n", sep = "")
  cat("Eigenvector = \n")
  print(eigA$vectors[, i])
}
## 
## Pasangan ke-1:
## Eigenvalue = 9.162278
## Eigenvector = 
## [1] 0.0000000 0.5847103 0.8112422
## 
## Pasangan ke-2:
## Eigenvalue = 6
## Eigenvector = 
## [1] 1 0 0
## 
## Pasangan ke-3:
## Eigenvalue = 2.837722
## Eigenvector = 
## [1]  0.0000000  0.8112422 -0.5847103

5 Singular Value Decompoasition (SDV)

5.1 Pengertian dan Rumus Singular

Value Decomposition adalah dekomposisi atau pemecahan sebuah matriks yang dapat berubah menjadi 3 matriks lain yang memiliki sifat tertentu.Setiap matriks \[ [A \in \mathbb{R}^{m \times n}] \] dapat dituliskan sebagai: \[ [A = UDV^T] \]

dengan:

\[ \begin{aligned} U &\in \mathbb{R}^{m \times m}, \quad U^\top U = I_m \\ V &\in \mathbb{R}^{n \times n}, \quad V^\top V = I_n \\ \Sigma &= \operatorname{diag}(\sigma_1, \sigma_2, \dots, \sigma_r) \in \mathbb{R}^{m \times n} \end{aligned} \]

5.2 Contoh dan Implementasi

diberikan matriks sebagai berikut :

# Matriks A
A = matrix(c(7,-3,6,
              2,-5,8,
              -4,9,-3,
              7,4,6), 4, 3, byrow=TRUE)
A
##      [,1] [,2] [,3]
## [1,]    7   -3    6
## [2,]    2   -5    8
## [3,]   -4    9   -3
## [4,]    7    4    6

5.2.1 Singular Value Decomposition

singular_value <- svd(A)$d
U <- svd(A)$u
V <- svd(A)$v

U
##            [,1]       [,2]       [,3]
## [1,] -0.5688686  0.1474810  0.3033611
## [2,] -0.5287688 -0.1782589 -0.8292719
## [3,]  0.4977457  0.5831650 -0.4592789
## [4,] -0.3860586  0.7787116  0.0966600
V
##            [,1]      [,2]       [,3]
## [1,] -0.5827144 0.3838133  0.7163318
## [2,]  0.4362077 0.8914290 -0.1227892
## [3,] -0.6856871 0.2409184 -0.6868709
singular_value
## [1] 16.702884  9.885457  4.158295

6 Konsep Jarak

6.1 Pengertian dan Rumus

6.1.1 Jarak Euclidean

merupakan jarak lurus antara dua titik dalam ruang \(p\) dimensi.

\[ d_{\text{Euclidean}}(x,y) = \sqrt{(x-y)^\top(x-y)} \]

6.1.2 Jarak Manhattan

Merupakan pengukuran jarak berdasarkan jumlah dari perbedaan absolut antara koordinat atau variabel.

\[ d_{\text{Manhattan}}(x,y) = \sum_{j=1}^{p} \big| x_j - y_j \big| \]

6.1.3 Jarak Chebyshev

Merupakan jarak yang ditentukan berdasarkan selisih terbesar antar dimensi.

\[ d_{\text{Chebyshev}}(x,y) = \max_{i=1,\dots,n} |x_i - y_i| \]

6.1.4 Jarak Mahalanobis

Jarak Mahalanobis memperhitungkan jarak dengan mempertimbangkan varians dan korelasi antar variabel.

\[ d_{\text{Mahalanobis}}(x,y) = \sqrt{(x - y)^\top S^{-1} (x - y)} \]

dengan \(S\) adalah matriks kovarians dari data.


6.1.5 Jarak Minkowski

Merupakan bentuk umum yang mencakup beberapa ukuran jarak lain sebagai kasus khusus, seperti jarak Manhattan, jarak Euclidean, dan jarak Chebyshev.

\[ d_{\text{Minkowski}}(x,y;q) = \left( \sum_{j=1}^p |x_j - y_j|^q \right)^{1/q} \]

catatan: - \(q=1\) ⟶ Jarak Manhattan
- \(q=2\) ⟶ Jarak Euclidean
- \(q \to \infty\) ⟶ Jarak Chebyshev

6.2 Contoh dan Implementasi diberikan data dengan 3 variabel dalam bentuk

matriks adalah sebagai berikut

# Data eksplisit (5 observasi, 3 variabel)
data <- matrix(
  c(3,3,4,
    5,7,4,
    6,8,5,
    7,5,2,
    3,7,9),
  nrow = 5, byrow = TRUE,
  dimnames = list(
    paste("Obs", 1:5, sep = ""),
    c("X1", "X2", "X3")
  )
)
data
##      X1 X2 X3
## Obs1  3  3  4
## Obs2  5  7  4
## Obs3  6  8  5
## Obs4  7  5  2
## Obs5  3  7  9

6.2.1 Jarak Euclidean

library(factoextra)
## Warning: package 'factoextra' was built under R version 4.5.1
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
dist.eucl <- dist(data, method = "euclidean"); dist.eucl
##          Obs1     Obs2     Obs3     Obs4
## Obs2 4.472136                           
## Obs3 5.916080 1.732051                  
## Obs4 4.898979 3.464102 4.358899         
## Obs5 6.403124 5.385165 5.099020 8.306624
fviz_dist(dist.eucl)

6.2.2 Jarak Manhattan

dist.man <- dist(data, p = 1)   # sama dengan method = "manhattan"
dist.man
##          Obs1     Obs2     Obs3     Obs4
## Obs2 4.472136                           
## Obs3 5.916080 1.732051                  
## Obs4 4.898979 3.464102 4.358899         
## Obs5 6.403124 5.385165 5.099020 8.306624
fviz_dist(dist.man)

6.2.3 Jarak Chebyshev

dist.cheb <- dist(data, p = Inf)   # sama dengan method = "maximum"
dist.cheb
##          Obs1     Obs2     Obs3     Obs4
## Obs2 4.472136                           
## Obs3 5.916080 1.732051                  
## Obs4 4.898979 3.464102 4.358899         
## Obs5 6.403124 5.385165 5.099020 8.306624
fviz_dist(dist.cheb)

6.2.4 Jarak Mahalonabis

library(StatMatch)
## Warning: package 'StatMatch' was built under R version 4.5.1
## Loading required package: proxy
## Warning: package 'proxy' was built under R version 4.5.1
## 
## 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.5.1
## 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
## 
## 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)
as.matrix(dist.mah)
##          Obs1     Obs2     Obs3     Obs4     Obs5
## Obs1 0.000000 2.319365 2.719600 2.546836 2.577113
## Obs2 2.319365 0.000000 1.503316 2.801617 2.791872
## Obs3 2.719600 1.503316 0.000000 1.992649 2.055825
## Obs4 2.546836 2.801617 1.992649 0.000000 2.827686
## Obs5 2.577113 2.791872 2.055825 2.827686 0.000000

6.2.5 Jarak Minskowski

# Fungsi jarak Minkowski untuk matriks data
minkowski_matrix <- function(data, q) {
  as.matrix(dist(data, p = q))
}
dist.mink <- minkowski_matrix(data, 3)
dist.mink
##          Obs1     Obs2     Obs3     Obs4     Obs5
## Obs1 0.000000 4.472136 5.916080 4.898979 6.403124
## Obs2 4.472136 0.000000 1.732051 3.464102 5.385165
## Obs3 5.916080 1.732051 0.000000 4.358899 5.099020
## Obs4 4.898979 3.464102 4.358899 0.000000 8.306624
## Obs5 6.403124 5.385165 5.099020 8.306624 0.000000

7 Vektor Rata-rata

7.1 Pengertian dan Rumus

7.1.1 Matriks Rata-rata

Matriks rata-rata merupakan sebuah vektor yang memuat nilai rata-rata dari tiap variabel pada suatu himpunan data. Matriks ini menggambarkan titik pusat atau posisi tengah dari keseluruhan data tersebut. Jika \(X\) adalah matriks data berukuran \(m \times n\), maka vektor rata-rata:

\[ \bar{x} = \begin{pmatrix} \bar{x}_1 \\ \bar{x}_2 \\ \vdots \\ \bar{x}_p \end{pmatrix} ,\quad \bar{x}_j = \frac{1}{n}\sum_{i=1}^n x_{ij}, \; j=1,\dots,p \]

7.1.2 Matriks Kovarians

Matriks kovarians digunakan untuk menunjukkan sebaran suatu data. Nilai pada diagonal utamanya berisi varians dari masing-masing variabel, sedangkan elemen di luar diagonal utama menyatakan kovarians antar variabel.

\[ S = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})(x_i - \bar{x})^\top \]

atau dalam bentuk matriks:\

\[ S = \begin{pmatrix} s_{11} & s_{12} & \cdots & s_{1p} \\ s_{21} & s_{22} & \cdots & s_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ s_{p1} & s_{p2} & \cdots & s_{pp} \end{pmatrix} \]

7.1.3 Matriks Korelasi

Matriks korelasi menunjukkan hubungan linier antar variabel dengan skala baku (antara -1 dan 1). Nilai diagonal utama selalu 1. \[ R = D^{-1} S D^{-1}, \quad D = \operatorname{diag}\!\big(\sqrt{s_{11}}, \sqrt{s_{22}}, \dots, \sqrt{s_{pp}}\big) \]

7.1.4 Matriks Standardisasi

Matriks standardisasi merupakan hasil transformasi data ke dalam bentuk z-score, sehingga tiap variabel memiliki rata-rata 0 dan varians 1. Tujuannya adalah agar variabel yang memiliki satuan atau skala berbeda bisa dibandingkan secara adil. Untuk data \(X\), matriks data terstandardisasi \(Z\):

\[ Z = (X - \mathbf{1}\bar{x}^\top) D_s^{-1} \]

dengan \(\mathbf{1}\) adalah vektor satuan, dan

\[ \quad D_s = \operatorname{diag}\!\big(\sqrt{s_{11}}, \sqrt{s_{22}}, \dots, \sqrt{s_{pp}}\big) \]

7.2 Contoh dan Implementasi diberikan data sebagai berikut

Mengenai Jumlah Makanan Sehat (JS), Jam Olahraga (JO), dan Nilai Kebugaran (NK) anak-anak:

HealthyFood <- c(5, 8, 6, 7, 9)
ExerciseHours <- c(3, 4, 2, 5, 4)
FitnessScore <- c(75, 80, 70, 85, 78)
data_b <- as.matrix(cbind(HealthyFood, ExerciseHours, FitnessScore)); data_b
##      HealthyFood ExerciseHours FitnessScore
## [1,]           5             3           75
## [2,]           8             4           80
## [3,]           6             2           70
## [4,]           7             5           85
## [5,]           9             4           78

7.2.0.1 Matriks Rata-Rata

vecRata <- matrix(c(
  mean(HealthyFood),
  mean(ExerciseHours),
  mean(FitnessScore)
), ncol = 1)
vecRata
##      [,1]
## [1,]  7.0
## [2,]  3.6
## [3,] 77.6

7.2.1 Matriks Kovarians

varkov <- (1/(nrow(data_b)-1)) * t(scale(data_b, scale = FALSE)) %*% scale(data_b, scale = FALSE)
varkov
##               HealthyFood ExerciseHours FitnessScore
## HealthyFood           2.5           1.0          4.0
## ExerciseHours         1.0           1.3          6.3
## FitnessScore          4.0           6.3         31.3

7.2.2 Matriks Korelasi

Ds <- diag(sqrt(diag(varkov)))
korel <- solve(Ds) %*% varkov %*% solve(Ds)
korel
##           [,1]      [,2]      [,3]
## [1,] 1.0000000 0.5547002 0.4521867
## [2,] 0.5547002 1.0000000 0.9876355
## [3,] 0.4521867 0.9876355 1.0000000

7.2.3 Matriks Standardisasi (akar dari variansi masing-masing variabel)

n <- nrow(data_b)
u <- matrix(1, n, 1)
xbar <- colMeans(data_b)
D <- scale(data_b, center = xbar, scale = FALSE)   # data terpusat
S <- (1/(n-1)) * t(D) %*% D
Ds <- diag(sqrt(diag(S)))
R <- solve(Ds) %*% S %*% solve(Ds)

S
##               HealthyFood ExerciseHours FitnessScore
## HealthyFood           2.5           1.0          4.0
## ExerciseHours         1.0           1.3          6.3
## FitnessScore          4.0           6.3         31.3
Ds
##          [,1]     [,2]    [,3]
## [1,] 1.581139 0.000000 0.00000
## [2,] 0.000000 1.140175 0.00000
## [3,] 0.000000 0.000000 5.59464
R
##           [,1]      [,2]      [,3]
## [1,] 1.0000000 0.5547002 0.4521867
## [2,] 0.5547002 1.0000000 0.9876355
## [3,] 0.4521867 0.9876355 1.0000000