1. Operasi Matriks Dasar

Penjelasan Singkat

Operasi matriks digunakan untuk memanipulasi dan menganalisis data multivariat. Beberapa operasi dasar: penjumlahan, pengurangan, perkalian matriks, perkalian skalar, transpose, invers, dan determinan.

Syntax & Contoh

# Input data 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)
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 & Pengurangan
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
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 & Elemen
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
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
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
# Transpose, Invers, Determinan
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
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
det(X)
## [1] 2.167

Interpretasi:
- Penjumlahan dan pengurangan dilakukan elemen demi elemen.
- %*% digunakan untuk perkalian matriks.
- solve() mencari invers (hanya untuk matriks persegi nonsingular).
- det() menghitung determinan, berguna untuk mengetahui sifat matriks (mis. singular/tidak).


2. Pemanggilan Komponen Matriks

A <- matrix(21:40, nrow=4, ncol=5)
A[,2]      # Kolom ke-2
## [1] 25 26 27 28
A[3,]      # Baris ke-3
## [1] 23 27 31 35 39
A[3,2]     # Elemen (3,2)
## [1] 27
A[c(1,3),2]# Elemen (1,2) dan (3,2)
## [1] 25 27
A[,1:3]    # Kolom 1-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-4
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   22   26   30   34   38
## [2,]   23   27   31   35   39
## [3,]   24   28   32   36   40

Interpretasi: Pemanggilan komponen matriks mempermudah ekstraksi data tertentu.


3. Eigen Value & Eigen Vector

Penjelasan Singkat

  • Eigen Value: Jumlah variasi (informasi) yang dijelaskan oleh komponen.
  • Eigen Vector: Arah atau komponen utama yang menjelaskan variasi tersebut.
    Digunakan dalam analisis multivariat (PCA, Factor Analysis).
eigX <- eigen(X)
eigX$values   # Eigen values
## [1] 22.0140019  0.4816027  0.2043953
eigX$vectors  # Eigen 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

4. Dekomposisi Singular Value (SVD)

Penjelasan Singkat

SVD memecah matriks A menjadi tiga matriks U, Σ, dan Vᵀ. Berguna dalam reduksi dimensi dan kompresi data.

A <- matrix(c(5,-3,6,2,-4,8,-2,5,-1,7,3,9), 4, 3, byrow=TRUE)
svd_result <- svd(A)
svd_result$d # Singular values
## [1] 16.07076  7.41936  3.11187
svd_result$u # U matrix
##            [,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
svd_result$v # V matrix
##            [,1]        [,2]       [,3]
## [1,] -0.5341591 -0.17494276 -0.8270847
## [2,]  0.1490928 -0.98251336  0.1115295
## [3,] -0.8321330 -0.06373793  0.5509011

5. Jarak Antar Objek (Distance Matrices)

Jenis Jarak

  • Euclidean: Jarak garis lurus.
  • Chebyshev: Selisih terbesar antar dimensi.
  • Manhattan: Jumlah selisih absolut.
  • Mahalanobis: Mempertimbangkan variansi dan korelasi.
  • Minkowski: Generalisasi berbagai jarak.
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
set.seed(321)
ss <- sample(1:50, 15)
df <- USArrests[ss, ]
df.scaled <- scale(df)

# Euclidean
dist.eucl <- dist(df.scaled, method = "euclidean")
fviz_dist(dist.eucl)

# Chebyshev
dist.cheb <- dist(df.scaled, method = "maximum")
fviz_dist(dist.cheb)

# Manhattan
dist.man <- dist(df.scaled, method = "manhattan")
fviz_dist(dist.man)


6. Vektor Rata-Rata, Kovarians, dan Korelasi

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

# Matriks Rata-Rata
vecMeans <- as.matrix(colMeans(lizard))
vecMeans
##       [,1]
## BB    9.05
## PM   67.60
## RTB 128.00
# Kovarians dan Korelasi
varkov <- cov(lizard)
korel <- cor(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
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

Interpretasi: Matriks rata-rata, kovarians, dan korelasi digunakan untuk memahami penyebaran dan hubungan antar variabel.