Pada bagian ini dijelaskan operasi-operasi dasar pada matriks, mulai dari penjumlahan, pengurangan, perkalian, transpose, determinan, hingga invers. Disertakan contoh soal dan interpretasi dari setiap operasi.
Definisi & Rumus:
Jika dua matriks \(A, B \in \mathbb{R}^{m \times n}\), maka penjumlahan didefinisikan sebagai:
\[ C = A + B, \quad c_{ij} = a_{ij} + b_{ij} \]
Contoh:
A <- matrix(c(4,7,2,9), nrow=2, byrow=TRUE)
B <- matrix(c(1,3,5,6), nrow=2, byrow=TRUE)
C <- A - B
C
## [,1] [,2]
## [1,] 3 4
## [2,] -3 3
Interpretasi:
Penjumlahan matriks menggabungkan elemen yang bersesuaian. Cocok untuk
menggabungkan data berukuran sama (misalnya menambahkan dua tabel nilai
yang ukurannya sama).
Definisi & Rumus:
\[ C = A - B, \quad c_{ij} = a_{ij} - b_{ij} \]
Contoh:
A <- matrix(c(4,7,2,9), nrow=2, byrow=TRUE)
B <- matrix(c(1,3,5,6), nrow=2, byrow=TRUE)
C <- A - B
C
## [,1] [,2]
## [1,] 3 4
## [2,] -3 3
Interpretasi:
Pengurangan matriks menghitung selisih elemen. Misalnya, selisih nilai
antara dua kelompok data dengan ukuran sama.
Definisi & Rumus:
Jika \(A \in \mathbb{R}^{m \times n}\), \(B \in \mathbb{R}^{n \times p}\), maka:
\[ C = A \times B, \quad c_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj} \]
Contoh:
A <- matrix(c(1,2,3,4), nrow=2, byrow=TRUE)
B <- matrix(c(2,0,1,2), nrow=2, byrow=TRUE)
C <- A %*% B
C
## [,1] [,2]
## [1,] 4 4
## [2,] 10 8
Interpretasi: Perkalian matriks digunakan dalam transformasi linier. Contoh aplikasinya adalah rotasi, proyeksi, atau sistem persamaan linier.
Definisi & Rumus:
Transpose mengubah baris menjadi kolom:
\[ (A^T)_{ij} = a_{ji} \]
Contoh:
A <- matrix(c(1,2,3,4,5,6), nrow=2, byrow=TRUE)
t(A)
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
Interpretasi:
Transpose sering digunakan untuk menyesuaikan dimensi dalam perkalian
matriks atau mengubah orientasi data.
Definisi & Rumus:
Determinan adalah sebuah bilangan skalar yang diperoleh dari suatu matriks bujur sangkar. Nilainya menggambarkan sifat penting dari transformasi linier yang direpresentasikan oleh matriks tersebut. Secara sederhana, determinan dapat dipandang sebagai faktor pengali luas (pada matriks 2×2) atau faktor pengali volume (pada matriks 3×3 dan seterusnya) setelah suatu ruang ditransformasi oleh matriks.
Untuk matriks \(2 \times 2\):
\[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad \det(A) = ad - bc \]
Untuk matriks \(3 \times 3\) (aturan Sarrus):
\[ X = \begin{bmatrix} x_{11} & x_{12} & x_{13} \\ x_{21} & x_{22} & x_{23} \\ x_{31} & x_{32} & x_{33} \end{bmatrix} \]
\[ \det(X) = x_{11}x_{22}x_{33} + x_{12}x_{23}x_{31} + x_{13}x_{21}x_{32} - x_{13}x_{22}x_{31} - x_{11}x_{23}x_{32} - x_{12}x_{21}x_{33} \]
Contoh:
A <- matrix(c(2,3,1,4), nrow=2, byrow=TRUE)
det(A)
## [1] 5
Interpretasi:
Determinan menyatakan “skala” transformasi linier. Jika \(\det(A)=0\), maka matriks singular (tidak
dapat dibalik). Nilai skalar tunggal yang menunjukkan apakah matriks
bisa diinvers. Determinan ≠ 0 → matriks non-singular (punya solusi
unik).
Determinan = 0 → matriks singular (ada baris/kolom yang bergantung,
tidak bisa diinvers).
Definisi & Rumus:
Matriks balikan yang digunakan untuk mencari solusi sistem persamaan linear.
Invers dari \(A\) adalah \(A^{-1}\) yang memenuhi:
\[ A \cdot A^{-1} = I \]
Untuk matriks \(2 \times 2\):
\[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad A^{-1} = \frac{1}{ad-bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}, \quad ad-bc \neq 0 \]
Contoh:
A <- matrix(c(2,1,5,3), nrow=2, byrow=TRUE)
solve(A)
## [,1] [,2]
## [1,] 3 -1
## [2,] -5 2
Interpretasi:
Invers digunakan untuk menyelesaikan sistem persamaan linier \(AX = B\). Jika invers ada, maka solusi unik
adalah \(X = A^{-1}B\).
Definisi & Rumus:
Eigen value adalah bilangan skalar yang menunjukkan seberapa besar variasi (informasi) data yang dapat dijelaskan oleh suatu arah tertentu (eigen vector).
Dalam analisis multivariat (misalnya PCA), eigen value menggambarkan proporsi keragaman data yang dapat dijelaskan oleh masing-masing komponen utama.
contoh
X <- matrix(c(4,2,1,3), nrow=2, byrow=TRUE)
eigX <- eigen(X)
eigX$values
## [1] 5 2
Interpretasi:
\(\lambda\) besar → komponen tersebut menjelaskan variasi yang lebih besar.
Jumlah semua eigen value = total varians data.
Rasio \(\dfrac{\lambda_i}{\sum \lambda}\) sering dipakai untuk menentukan berapa banyak komponen yang penting dipertahankan.
Definisi & Rumus:
Eigen vector adalah vektor arah yang tidak berubah arahnya setelah dikalikan oleh matriks \(A\), hanya skalanya yang berubah dengan faktor \(\lambda\).
Dalam konteks PCA, eigen vector adalah arah sumbu baru yang memaksimalkan variasi data.
contoh
eig_vectors <- eigX$vectors
eig_vectors
## [,1] [,2]
## [1,] 0.8944272 -0.7071068
## [2,] 0.4472136 0.7071068
Interpretasi:
Menentukan orientasi/arah komponen utama.
Setiap eigen vector memiliki panjang 1 (ternormalisasi) dan saling ortogonal (tegak lurus).
Jika data dua dimensi, eigen vector bisa divisualisasikan sebagai sumbu baru yang “diputar” untuk menjelaskan variasi terbesar.
Persamaan dasar:
𝐴𝑣=𝜆𝑣 Av=λv
\(A\) : matriks simetris (misalnya matriks kovarians/korelasi).
\(v\) : eigen vector (arah/komponen).
\(\lambda\) : eigen value (besar variasi pada arah tersebut).
Artinya, ketika matriks \(A\) dikalikan dengan \(v\), hasilnya adalah kelipatan skalar dari \(v\) itu sendiri.
contoh
eigX = eigen(X)
eigX$values
## [1] 5 2
eigX$vectors
## [,1] [,2]
## [1,] 0.8944272 -0.7071068
## [2,] 0.4472136 0.7071068
Interpretasi: Eigen value besar → komponen tersebut menjelaskan variasi lebih banyak.
Definisi & Rumus: Matriks \(A_{m \times n}\) dapat diuraikan menjadi:
\[ A = UDV^T \]
dengan \(U\) dan \(V\) matriks ortogonal, \(D\) diagonal berisi singular values.
contoh
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
## [1] 16.07076 7.41936 3.11187
Interpretasi:
Singular value besar menandakan dimensi informasi penting; jumlah singular value non-nol sama dengan rank matriks. Aproksimasi rangk-rendah menggunakan beberapa singular value terbesar seringkali cukup untuk merekonstruksi matriks dengan error kecil — dasar pemampatan data. Dalam konteks PCA, SVD pada matriks data (setelah distandardisasi) memberikan principal components dan varians terkait. ————————————————————————
Definisi & Rumus:
Matriks jarak menyatakan ketidakmiripan atau kedekatan antar pasangan objek (observasi) dalam ruang berdimensi \(p\). Pilihan metrik jarak memengaruhi hasil clustering, dimensi reduksi, dan algoritma lain yang bergantung pada kedekatan.
\[ d(x,y) = \sqrt{\sum_{i=1}^p (x_i - y_i)^2} \]
\[ d(x,y) = \sum_{i=1}^p |x_i - y_i| \]
\[ d(x,y) = \max_i |x_i - y_i| \]
\[ d(x,y) = \sqrt{(x-y)^\top S^{-1} (x-y)} \]
Data:
data <- matrix(c(
190,130,95,
210,140,110,
185,125,100,
200,135,105,
195,128,97,
215,145,115,
205,138,108,
180,120,90
), ncol=3, byrow=TRUE)
colnames(data) <- c("Cholesterol","BloodPressure","BloodSugar")
rownames(data) <- paste("Pasien",1:8)
data
## Cholesterol BloodPressure BloodSugar
## Pasien 1 190 130 95
## Pasien 2 210 140 110
## Pasien 3 185 125 100
## Pasien 4 200 135 105
## Pasien 5 195 128 97
## Pasien 6 215 145 115
## Pasien 7 205 138 108
## Pasien 8 180 120 90
data.scaled <- scale(data)
dist.eucl <- dist(data.scaled, method="euclidean")
dist.eucl
## Pasien 1 Pasien 2 Pasien 3 Pasien 4 Pasien 5 Pasien 6 Pasien 7
## Pasien 2 2.6952015
## Pasien 3 0.9363604 2.9665763
## Pasien 4 1.5591625 1.1733587 1.8127877
## Pasien 5 0.5294179 2.4375408 0.9603667 1.3301556
## Pasien 6 3.6079693 0.9363604 3.8602883 2.0833666 3.3715631
## Pasien 7 2.1894680 0.5294179 2.4476655 0.6498493 1.9499394 1.4347371
## Pasien 8 1.5661628 4.1667331 1.3895998 3.0095852 1.7626750 5.0910970 3.6564485
dist.man <- dist(data.scaled, method="manhattan")
dist.man
## Pasien 1 Pasien 2 Pasien 3 Pasien 4 Pasien 5 Pasien 6 Pasien 7
## Pasien 2 4.6092062
## Pasien 3 1.5999574 5.0235741
## Pasien 4 2.6010005 2.0082057 3.0153684
## Pasien 5 0.8849319 4.2034058 1.5315221 2.1952000
## Pasien 6 6.2091636 1.5999574 6.6235315 3.6081631 5.8033632
## Pasien 7 3.7242742 0.8849319 4.1386422 1.1232738 3.3184738 2.4848894
## Pasien 8 2.6071201 7.2163263 2.1927522 5.2081206 3.0129205 8.8162837 6.3313943
# Contoh data
data.scaled <- scale(iris[,1:4]) # normalisasi biar sebanding
# Hitung jarak Chebyshev
dist.cheb <- dist(data.scaled, method="maximum")
dist.cheb[1:5] # tampilkan 5 jarak pertama
## [1] 1.1471408 0.6882845 0.9177126 0.2294282 0.9177126
Interpretasi:
Definisi & Rumus: Vektor rata-rata adalah
sekumpulan nilai rata-rata dari setiap variabel dalam suatu data
multivariat. Jika terdapat \(p\)
variabel, maka \(\bar{x}\) berbentuk
vektor berdimensi \(p\).Vektor
rata-rata: \(\bar{x} = \frac{1}{n}\sum
x_i\)
# Data contoh
BB = c(6.2,11.5,8.7,10.1,7.8,6.9,12.0,3.1,14.8,9.4) # Berat Badan
PM = c(61,73,68,70,64,60,76,49,84,71) # Panjang Moncong
RTB = c(115,138,127,123,131,120,143,95,160,128) # Rentang Tubuh
lizard <- cbind(BB,PM,RTB)
# Vektor rata-rata
mean_vector <- colMeans(lizard)
mean_vector
## BB PM RTB
## 9.05 67.60 128.00
Interpretasi:
Interpretasi:
Hasil perhitungan memberikan vektor rata-rata:
\[ \bar{x} = [9.05, 67.60, 128.00] \]
yang berarti:
- Rata-rata berat badan (BB) kadal dalam sampel adalah 9.05
gram, artinya secara umum kadal dalam data ini cenderung
memiliki berat sekitar 9 gram.
- Rata-rata panjang moncong (PM) adalah 67.60 mm,
sehingga rata-rata ukuran moncong kadal berada di kisaran 68 mm.
- Rata-rata rentang tubuh (RTB) adalah 128 mm,
menunjukkan bahwa secara umum panjang tubuh kadal sekitar 128 mm.
Interpretasi ini penting karena vektor rata-rata memberikan
titik pusat (lokasi sentral) dari distribusi data
multivariat.
Dengan kata lain, jika kita ingin menggambarkan profil “kadal rata-rata”
pada dataset ini, maka karakteristiknya adalah berat 9.05 gram,
panjang moncong 67.60 mm, dan rentang tubuh 128 mm.
Definisi & Rumus: Kovarians mengukur arah dan kekuatan hubungan linier antara dua variabel, sekaligus menyimpan varians di diagonalnya. Matriks kovarians \(S\) berukuran \(p \times p\) (untuk \(p\) variabel), dengan:
Diagonal (\(s_{ii}\)) = varians dari variabel ke-\(i\).
Off-diagonal (\(s_{ij}\)) = kovarians antara variabel ke-\(i\) dan ke-\(j\).
Kovarians: \(S = \frac{1}{n-1} (X - \bar{X})(X - \bar{X})^T\)
# Matriks kovarians
cov_matrix <- cov(lizard)
cov_matrix
## BB PM RTB
## BB 10.98056 31.80000 54.96667
## PM 31.80000 94.04444 160.22222
## RTB 54.96667 160.22222 300.66667
Interpretasi:
\(s_{ij} > 0\) → variabel \(i\) dan \(j\) cenderung meningkat bersama.
\(s_{ij} < 0\) → variabel \(i\) naik, variabel \(j\) cenderung turun.
\(s_{ij} \approx 0\) → hubungan linier lemah atau tidak ada.
Nilai kovarians bergantung pada skala (satuan), sehingga sulit dibandingkan langsung antar variabel.
Definisi & Rumus: Korelasi adalah ukuran hubungan linier yang sudah dinormalisasi, sehingga nilainya berada pada rentang [-1, 1]. Matriks korelasi \(R\) diperoleh dengan membagi kovarians dengan akar varians masing-masing variabel.
Korelasi: \(R = D^{-1} S D^{-1}\), dengan \(D =\) matriks akar varians diagonal.
# Matriks korelasi
cor_matrix <- cor(lizard)
cor_matrix
## 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:
\(r_{ij} = 1\) → hubungan positif sempurna.
\(r_{ij} = -1\) → hubungan negatif sempurna.
\(r_{ij} = 0\) → tidak ada hubungan linier.
Karena sudah distandardisasi, matriks korelasi lebih cocok dipakai untuk membandingkan kekuatan hubungan antar variabel dengan skala berbeda.
##d. Matriks Standarisasi Matriks Standardisasi Mengubah data agar tiap variabel memiliki rata-rata 0 dan standar deviasi 1.→ Digunakan agar variabel dengan skala besar tidak mendominasi analisis multivariat (misalnya PCA, cluster analysis).
\[ Z = D_s^{-1} (X - \mathbf{1}\bar{x}^\top) \] dengan:
\(X\) = matriks data asli \((n \times p)\)
\(\bar{x}\) = vektor rata-rata tiap variabel
\(\mathbf{1}\) = vektor satuan \((n \times 1)\)
\(D_s\) = matriks diagonal berisi standar deviasi tiap variabel
Contoh soal
# Data contoh
BB = c(6.2,11.5,8.7,10.1,7.8,6.9,12.0,3.1,14.8,9.4) # Berat Badan
PM = c(61,73,68,70,64,60,76,49,84,71) # Panjang Moncong
RTB = c(115,138,127,123,131,120,143,95,160,128) # Rentang Tubuh
lizard <- cbind(BB,PM,RTB)
# Matriks standarisasi (Z)
Z <- scale(lizard)
Z[1:5,] # tampilkan 5 data pertama
## BB PM RTB
## [1,] -0.8600678 -0.6805771 -0.74972279
## [2,] 0.7393566 0.5568358 0.57670984
## [3,] -0.1056224 0.0412471 -0.05767098
## [4,] 0.3168671 0.2474826 -0.28835492
## [5,] -0.3772227 -0.3712239 0.17301295
*interpretasi Nilai negatif berarti observasi berada di bawah rata-rata pada variabel tersebut. Contoh: Individu pertama pada variabel BB = -0.75 artinya berat badan kadal pertama lebih rendah dari rata-rata.
Nilai positif berarti observasi berada di atas rata-rata. Contoh: Individu kedua memiliki nilai PM = 0.63 → moncongnya lebih panjang dari rata-rata.
Besarnya nilai (misalnya +2 atau -1.5) menunjukkan berapa kali standar deviasi data tersebut menjauh dari rata-rata.
Contoh soal
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 = cbind(BB,PM,RTB)
colMeans(lizard)
## BB PM RTB
## 9.05 67.60 128.00
cov(lizard)
## BB PM RTB
## BB 10.98056 31.80000 54.96667
## PM 31.80000 94.04444 160.22222
## RTB 54.96667 160.22222 300.66667
cor(lizard)
## 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:
- Kovarians positif → variabel meningkat bersama-sama.
- Korelasi tinggi → hubungan linier kuat antar variabel.