💡 Dekomposisi Matriks dan Konsep Jarak

Mengungkap Pola, Hubungan, dan Makna dalam Variabel Kategorikal

Disusun oleh Griselda Haifa Berwyn Pasya

Tanggal: 2025-09-09

1 Daftar Isi

2 Pendahuluan

::: Matriks merupakan salah satu elemen penting dalam aljabar linear yang memiliki peran luas dalam sains, teknik, hingga ilmu sosial. Operasi dasar matriks seperti penjumlahan, pengurangan, perkalian, transpose, invers, dan determinan menjadi fondasi utama dalam menyelesaikan berbagai persoalan matematis maupun komputasional. Selain itu, konsep dekomposisi matriks juga berperan penting karena memungkinkan suatu matriks kompleks diuraikan menjadi bentuk yang lebih sederhana, misalnya melalui Singular Value Decomposition (SVD) yang membagi sebuah matriks menjadi tiga komponen. Teknik ini mempermudah analisis data serta penyelesaian sistem persamaan linear. Di sisi lain, dalam analisis data dan statistika multivariat, konsep jarak juga diperlukan untuk menilai kedekatan antar objek, baik menggunakan jarak Euclidean, Manhattan, Minkowski, maupun Mahalanobis. :::

3 Operasi Matriks

3.1 Pengertian dan Rumus

3.1.1 Penjumlahan

Penjumlahan matriks adalah operasi yang dilakukan dengan menambahkan elemen-elemen matriks yang berada pada posisi yang sama. Operasi ini hanya dapat dilakukan jika kedua matriks memiliki ordo yang sama (jumlah baris dan kolom sama). \[ (A + B)_{ij} = a_{ij} + b_{ij} \] ### Pengurangan

Pengurangan matriks adalah operasi yang dilakukan dengan mengurangkan elemen-elemen matriks pada posisi yang sama. Sama seperti penjumlahan, operasi ini hanya bisa dilakukan jika kedua matriks memiliki ordo yang sama. \[ (A - B)_{ij} = a_{ij} - b_{ij} \] ### Perkalian Matriks (Dot Products)

Perkalian dua matriks dilakukan dengan mengalikan elemen baris dari matriks pertama dengan elemen kolom dari matriks kedua, lalu menjumlahkan hasilnya. Operasi ini hanya dapat dilakukan jika jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua. \[ (AB)_{ij} = \sum_{k=1}^n a_{ik} b_{kj} \] ### Perkalian Antar Elemen

Perkalian antar elemen (disebut juga Hadamard Product) adalah operasi mengalikan elemen-elemen matriks yang berada pada posisi yang sama. Operasi ini hanya dapat dilakukan jika kedua matriks memiliki ordo yang sama. \[ C_{ij} = a_{ij} \times b_{ij}\\ perkalian\ dengan\ skalar\ ,\ (kA)_{ij} = k \cdot a_{ij} \] ### Transpose

Transpose matriks adalah operasi yang dilakukan dengan menukar posisi baris menjadi kolom atau sebaliknya. \[ X = \begin{bmatrix} x_{11} & x_{12} & x_{13} \\ x_{21} & x_{22} & x_{23} \\ x_{31} & x_{32} & x_{33} \end{bmatrix} ,\quad X^\top = \begin{bmatrix} x_{11} & x_{21} & x_{31} \\ x_{12} & x_{22} & x_{32} \\ x_{13} & x_{23} & x_{33} \end{bmatrix} \] ### Invers

Invers matriks adalah matriks balikan yang, apabila dikalikan dengan matriks asalnya, akan menghasilkan matriks identitas. Tidak semua matriks memiliki invers; syaratnya adalah matriks harus persegi (ordo𝑛×𝑛) dan memiliki determinan ≠ 0. \[ A^{-1} = \frac{1}{\det(A)} \cdot \text{adj}(A) \] ### Determinan

Determinan adalah suatu nilai skalar yang diperoleh dari perhitungan elemen-elemen matriks persegi. Determinan sangat penting karena dapat digunakan untuk mengetahui apakah suatu matriks dapat dibalik (invertible) atau tidak. \[ \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) \] ## Contoh dan Implementasi

Diberikan matriks X dan Y, yaitu

X = matrix(c(2, 5, 7,
             4, 3, 6,
             8, 1, 9), nrow = 3, ncol = 3)

Y = matrix(c(6, 4, 2,
             7, 5, 3,
             9, 8, 1), nrow = 3, ncol = 3, byrow = TRUE)

X; Y
##      [,1] [,2] [,3]
## [1,]    2    4    8
## [2,]    5    3    1
## [3,]    7    6    9
##      [,1] [,2] [,3]
## [1,]    6    4    2
## [2,]    7    5    3
## [3,]    9    8    1

3.1.2 Penjumlahan

X + Y
##      [,1] [,2] [,3]
## [1,]    8    8   10
## [2,]   12    8    4
## [3,]   16   14   10

3.1.3 Pengurangan

X-Y
##      [,1] [,2] [,3]
## [1,]   -4    0    6
## [2,]   -2   -2   -2
## [3,]   -2   -2    8

3.1.4 Perkalian Matriks (Dot Products)

X %*% Y
##      [,1] [,2] [,3]
## [1,]  112   92   24
## [2,]   60   43   20
## [3,]  165  130   41
Y %*% X
##      [,1] [,2] [,3]
## [1,]   46   48   70
## [2,]   60   61   88
## [3,]   65   66   89

3.1.5 Perkalian Antar Elemen dan Perkalian dengan Skalar

X * Y
##      [,1] [,2] [,3]
## [1,]   12   16   16
## [2,]   35   15    3
## [3,]   63   48    9
3 * X   
##      [,1] [,2] [,3]
## [1,]    6   12   24
## [2,]   15    9    3
## [3,]   21   18   27
3 * Y
##      [,1] [,2] [,3]
## [1,]   18   12    6
## [2,]   21   15    9
## [3,]   27   24    3

3.1.6 Transpose

t(X)
##      [,1] [,2] [,3]
## [1,]    2    5    7
## [2,]    4    3    6
## [3,]    8    1    9
t(Y)
##      [,1] [,2] [,3]
## [1,]    6    7    9
## [2,]    4    5    8
## [3,]    2    3    1

3.1.7 Invers

solve(X)   # inv(X)
##            [,1]       [,2]       [,3]
## [1,] -0.5526316 -0.3157895  0.5263158
## [2,]  1.0000000  1.0000000 -1.0000000
## [3,] -0.2368421 -0.4210526  0.3684211
solve(Y)   # inv(Y)
##            [,1] [,2]       [,3]
## [1,]  1.5833333   -1 -0.1666667
## [2,] -1.6666667    1  0.3333333
## [3,] -0.9166667    1 -0.1666667

3.1.8 Determinan

det(X)
## [1] -38
det(Y)
## [1] -12

4 Eigen Value dan Eigen Vector

4.1 Pengertian dan Rumus

4.1.1 Eigen Value

Eigen value (nilai eigen) adalah suatu bilangan skalar 𝜆 yang menunjukkan seberapa besar perubahan yang dialami suatu vektor ketika dikenakan transformasi linear oleh sebuah matriks 𝐴. Dalam konteks analisis data, eigen value juga dapat diartikan sebagai jumlah variasi yang mampu dijelaskan oleh suatu komponen utama.

\[ A v = \lambda v \] Secara matematis, eigen value diperoleh dari persamaan: \[ \det(A - \lambda I) = 0 \]

4.1.2 Eigen Vector

Eigen vector (vektor eigen) adalah vektor tak nol 𝑣 yang arah utamanya tidak berubah ketika dikenakan transformasi linear oleh sebuah matriks 𝐴. Yang berubah hanyalah panjang (magnitudo) vektor, sedangkan arahnya tetap sama. Eigen vector ini menunjukkan arah utama dari transformasi yang dilakukan oleh matriks.

\[ A v = \lambda v \]

4.1.3 Pasangan Eigen

Pasangan eigen adalah kombinasi antara eigen value 𝜆 dengan eigen vector 𝑣 yang saling berhubungan dan memenuhi persamaan. \[ (\lambda, v) \]

4.2 Contoh dan Implementasi

Diberikan sebuah matriks berukuran 3 x 3, yaitu

B = matrix(c(5, 1, 2,
             0, 7, 3,
             4, 6, 8), nrow = 3, byrow = TRUE)

4.2.1 Eigen Value

eigB <- eigen(B)
eigB$values
## [1] 12.571658  5.191209  2.237133

4.2.2 Eigen Vektor

eigB$vectors
##           [,1]       [,2]       [,3]
## [1,] 0.2831088  0.6778538 -0.3869248
## [2,] 0.4546889 -0.6296106 -0.4914489
## [3,] 0.8444569  0.3796113  0.7802353

4.2.3 Pasangan Eigen

for (i in seq_along(eigB$values)) {
  cat("\nPasangan ke-", i, ":\n")
  cat("Eigenvalue =", eigB$values[i], "\n")
  cat("Eigenvector =\n")
  print(eigB$vectors[, i])
}
## 
## Pasangan ke- 1 :
## Eigenvalue = 12.57166 
## Eigenvector =
## [1] 0.2831088 0.4546889 0.8444569
## 
## Pasangan ke- 2 :
## Eigenvalue = 5.191209 
## Eigenvector =
## [1]  0.6778538 -0.6296106  0.3796113
## 
## Pasangan ke- 3 :
## Eigenvalue = 2.237133 
## Eigenvector =
## [1] -0.3869248 -0.4914489  0.7802353

5 Singular Value Decompoasition (SDV)

5.1 Pengertian dan Rumus Singular

Singular Value Decomposition (SVD) adalah dekomposisi atau pemecahan sebuah matriks menjadi tiga matriks lain dengan sifat tertentu. Dengan SVD, sebuah matriks kompleks dapat diuraikan menjadi bentuk yang lebih sederhana sehingga lebih mudah dianalisis, terutama dalam bidang analisis data, kompresi citra, hingga penyelesaian sistem persamaan linear.Secara umum, setiap matriks \[ A \in \mathbb{R}^{m \times n} \] dapat dituliskan sebagai: \[ A = UDV^ \]

dengan : \[ U \in \mathbb{R}^{m \times m}, U^TU = I_m\ (ortogonal)\\V \in \mathbb{R}^{n \times n}\, \ V^TV = I_n\ (ortogonal) \\D \in \mathbb{R}^{m \times n}\\ diagonal\ dengan\ elemen\ singular\ value: \ D = \begin{bmatrix} \ D_1 & 0 & \cdots & 0 \\ 0 & \ D_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \ D_r \end{bmatrix} \]

5.2 Contoh dan Implementasi

diberikan matriks sebagai berikut :

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

5.2.1 Singular Value Decomposition

# Hitung SVD
svd_result <- svd(A)

# SVD
singular_value <- svd_result$d   # singular values
U <- svd_result$u                # left singular vectors
V <- svd_result$v                # right singular vectors

U
##            [,1]       [,2]       [,3]
## [1,] -0.6291453 -0.1332202 -0.3231346
## [2,]  0.5221064  0.3926413 -0.7274486
## [3,] -0.5525686  0.6949344 -0.1472835
## [4,] -0.1620156 -0.5874958 -0.5871202
V
##            [,1]       [,2]       [,3]
## [1,]  0.0634913 -0.2807595 -0.9576758
## [2,] -0.8934428  0.4115797 -0.1798946
## [3,]  0.4446670  0.8670503 -0.2247108
singular_value
## [1] 9.018953 8.292823 6.624769

6 Konsep Jarak

6.1 Pengertian dan Rumus

6.1.1 Jarak Euclidean

Jarak Euclidean merupakan jarak lurus atau garis terpendek antara dua titik dalam ruang \(p\)-dimensi. Maka jarak Euclidean antara x dan y didefinisikan sebagai: \[ d_{\text{Euclidean}}(x,y) = \sqrt{\sum_{i=1}^p (x_i - y_i)^2} \]

6.1.2 Jarak Manhattan

Jarak Manhattan (sering juga disebut city block distance atau taxicab distance) adalah jumlah dari perbedaan absolut antara koordinat dua titik dalam ruang \(p\)-dimensi. \[ d_{\text{Manhattan}}(x,y) = \sum_{i=1}^p |x_i - y_i| \] ### Jarak Chebyshev

Jarak Chebyshev adalah jarak yang ditentukan berdasarkan selisih terbesar dari semua koordinat antar dua titik dalam ruang p-dimensi. \[ d_{\text{Chebyshev}}(x,y) = \max_{i=1,\dots,p} |x_i - y_i| \]

6.1.3 Jarak Mahalanobis

Jarak Mahalanobis adalah ukuran jarak yang memperhitungkan varians dan korelasi antar variabel dalam data. \[ d_{\text{Mahalanobis}}(x,y) = \sqrt{(x - y)^T S^{-1} (x - y)} \]

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

6.1.4 Jarak Minkowski

Jarak Minkowski adalah bentuk umum dari berbagai ukuran jarak, 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_{i=1}^p |x_i - y_i|^q \right)^{\frac{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(
  8,3,6,
  4,7,9,
  5,2,8,
  7,6,4,
  3,5,7
), nrow = 5, byrow = TRUE)

colnames(data) <- c("X1", "X2", "X3")
rownames(data) <- paste("Obs", 1:5, sep = "")
data
##      X1 X2 X3
## Obs1  8  3  6
## Obs2  4  7  9
## Obs3  5  2  8
## Obs4  7  6  4
## Obs5  3  5  7

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 6.403124                           
## Obs3 3.741657 5.196152                  
## Obs4 3.741657 5.916080 6.000000         
## Obs5 5.477226 3.000000 3.741657 5.099020
fviz_dist(dist.eucl)

Pada jarak Euclidean, terlihat bahwa observasi 2 dan observasi 3 memiliki jarak yang paling dekat. Hal ini ditunjukkan oleh warna yang lebih terang pada heatmap, sehingga dapat disimpulkan bahwa keduanya memiliki profil variabel yang paling mirip secara keseluruhan. Sebaliknya, observasi 1 tampak cukup jauh dari observasi lainnya karena warna yang muncul lebih gelap, sehingga posisi observasi 1 relatif menyendiri dibanding kelompok lain. Sementara itu, observasi 4 berada pada posisi tengah, tidak sedekat pasangan observasi 2 dan 3, tetapi juga tidak sejauh observasi 1 terhadap yang lain. Dengan demikian, Euclidean menegaskan pola utama bahwa Obs2–Obs3 membentuk pasangan paling mirip, sedangkan Obs1 cenderung berbeda sendiri.

6.2.2 Jarak Manhattan

dist.man <- dist(data, method = "manhattan"); dist.man
##      Obs1 Obs2 Obs3 Obs4
## Obs2   11               
## Obs3    6    7          
## Obs4    6    9   10     
## Obs5    8    5    6    8
fviz_dist(dist.man)

Pada jarak Manhattan, pola yang muncul secara umum masih sama, yakni observasi 2 dan 3 tetap menjadi pasangan paling mirip, sementara observasi 1 memiliki jarak yang cukup jauh dibandingkan dengan keduanya. Namun, pada jarak Manhattan, perbedaan antara observasi 1 dan observasi lainnya tampak semakin besar. Hal ini terjadi karena Manhattan menjumlahkan seluruh perbedaan absolut antar variabel, sehingga meskipun setiap variabel hanya sedikit berbeda, akumulasi perbedaan tersebut membuat jarak akhir menjadi lebih besar. Observasi 4 kembali terlihat berada di posisi menengah, tidak menempel dengan pasangan tertentu, tetapi juga tidak se-ekstrem perbedaan yang ditunjukkan oleh observasi 1.

6.2.3 Jarak Chebyshev

dist.cheb <- dist(data, method = "maximum"); dist.cheb
##      Obs1 Obs2 Obs3 Obs4
## Obs2    4               
## Obs3    3    5          
## Obs4    3    5    4     
## Obs5    5    2    3    4
fviz_dist(dist.cheb)

Pada jarak Chebyshev, pola hubungan antar observasi relatif lebih datar dibandingkan Euclidean maupun Manhattan. Variasi warna pada heatmap tampak tidak terlalu ekstrem, namun tetap terlihat bahwa observasi 2 dan 3 memiliki kedekatan paling tinggi. Observasi 1 kembali muncul sebagai observasi yang paling jauh dari yang lain, meskipun perbedaan warnanya tidak setajam dua ukuran jarak sebelumnya. Observasi 4 sekali lagi menempati posisi tengah. Dengan kata lain, Chebyshev menghasilkan gambaran yang lebih terkompres, tetapi pola utama hubungan antar observasi tetap sama: Obs2 dan Obs3 paling dekat, Obs1 paling jauh, dan Obs4 berada di posisi menengah.

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); dist.mah
##          Obs1     Obs2     Obs3     Obs4     Obs5
## Obs1 0.000000 2.541944 1.751754 2.057703 2.821343
## Obs2 2.541944 0.000000 2.653116 2.740384 2.630162
## Obs3 1.751754 2.653116 0.000000 2.814525 1.979179
## Obs4 2.057703 2.740384 2.814525 0.000000 2.229480
## Obs5 2.821343 2.630162 1.979179 2.229480 0.000000
dist.mah_matrix <- as.matrix(dist.mah);dist.mah_matrix
##          Obs1     Obs2     Obs3     Obs4     Obs5
## Obs1 0.000000 2.541944 1.751754 2.057703 2.821343
## Obs2 2.541944 0.000000 2.653116 2.740384 2.630162
## Obs3 1.751754 2.653116 0.000000 2.814525 1.979179
## Obs4 2.057703 2.740384 2.814525 0.000000 2.229480
## Obs5 2.821343 2.630162 1.979179 2.229480 0.000000

6.2.5 Jarak Minskowski

# Fungsi jarak Minkowski untuk matriks data
minkowski_matrix <- function(data, q) {
  n <- nrow(data)
  D <- matrix(0, n, n)
  for (i in 1:n) {
    for (j in 1:n) {
      D[i, j] <- sum(abs(data[i, ] - data[j, ])^q)^(1/q)
    }
  }
  rownames(D) <- rownames(data)
  colnames(D) <- rownames(data)
  return(D)
}

# Hitung matriks jarak Minkowski untuk q = 3
dist.mink <- minkowski_matrix(data, q = 3)
dist.mink
##          Obs1     Obs2     Obs3     Obs4     Obs5
## Obs1 0.000000 5.371685 3.301927 3.301927 5.117230
## Obs2 5.371685 0.000000 5.026526 5.348481 2.571282
## Obs3 3.301927 5.026526 0.000000 5.142563 3.301927
## Obs4 3.301927 5.348481 5.142563 0.000000 4.514357
## Obs5 5.117230 2.571282 3.301927 4.514357 0.000000

7 Vektor Rata-rata

7.1 Pengertian dan Rumus

7.1.1 Matriks Rata-rata

Vektor rata-rata merupakan vektor yang elemen-elemennya berisi nilai rata-rata dari setiap variabel pada suatu himpunan data. Vektor ini menggambarkan titik pusat atau representasi posisi tengah dari distribusi data. Jika \(X\) adalah matriks data berukuran \(m \times n\), maka vektor rata-rata:

\[ \bar{x} = \begin{bmatrix} \bar{x}_1 \\ \bar{x}_2 \\ \vdots \\ \bar{x}_p \end{bmatrix} = \frac{1}{n} \sum_{i=1}^n x_i \]

7.1.2 Matriks Kovarians

Matriks kovarians adalah matriks yang menunjukkan seberapa besar penyebaran data pada setiap variabel serta hubungan antar variabel. Elemen pada diagonal utama menyatakan varians dari masing-masing variabel, sedangkan elemen-elemen di luar diagonal utama merepresentasikan kovarians antar pasangan variabel.

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

atau dalam bentuk matriks:\

\[ S = \begin{bmatrix} 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{bmatrix} \]

7.1.3 Matriks Korelasi

Matriks korelasi merepresentasikan kekuatan dan arah hubungan linier antar variabel dengan skala standar, yaitu bernilai antara −1 hingga 1. Pada diagonal utamanya, nilainya selalu 1 karena setiap variabel memiliki korelasi sempurna dengan dirinya sendiri. $$ R = D  ^{-1} SD ^{-1}\ dengan D = (, , , ).

\atau secara elemen:\

r_{ij} = $$

7.1.4 Matriks Standardisasi

Matriks standardisasi merupakan hasil transformasi data ke dalam bentuk z-score, sehingga setiap variabel memiliki nilai rata-rata sama dengan 0 dan varians sama dengan 1. Proses ini dilakukan agar variabel dengan satuan atau skala yang berbeda dapat dibandingkan secara setara. Digunakan agar variabel dengan skala berbeda dapat dibandingkan. Untuk data \(X\), matriks data terstandardisasi \(Z\):

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

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

\[ D_s = \text{diag}(\sqrt{s_{11}}, \sqrt{s_{22}}, \dots, \sqrt{s_{pp}}) \]

7.2 Contoh dan Implementasi

Diberikan data sebagai berikut: jumlah Kegiatan Ekstrakurikuler (Ekskul), Jam Tidur (SleepHours), dan Nilai Ujian (ExamScore) dari beberapa siswa:

Ekskul <- c(3, 5, 2, 4, 6)
SleepHours <- c(7, 6, 8, 5, 9)
ExamScore <- c(75, 82, 70, 88, 80)

data_b <- as.matrix(cbind(Ekskul, SleepHours, ExamScore)); data_b
##      Ekskul SleepHours ExamScore
## [1,]      3          7        75
## [2,]      5          6        82
## [3,]      2          8        70
## [4,]      4          5        88
## [5,]      6          9        80

7.2.0.1 Matriks Rata-Rata

vecMeans = as.matrix(colMeans(data_b)); vecMeans
##            [,1]
## Ekskul        4
## SleepHours    7
## ExamScore    79
vecRata = matrix(c(mean(Ekskul), mean(SleepHours), mean(ExamScore)), nrow=3, ncol=1); vecRata
##      [,1]
## [1,]    4
## [2,]    7
## [3,]   79

7.2.1 Matriks Kovarians

varkov = cov(data_b); varkov
##            Ekskul SleepHours ExamScore
## Ekskul       2.50       0.25      6.75
## SleepHours   0.25       2.50     -7.00
## ExamScore    6.75      -7.00     47.00

7.2.2 Matriks Korelasi

korel = cor(data_b); korel
##               Ekskul SleepHours  ExamScore
## Ekskul     1.0000000  0.1000000  0.6227086
## SleepHours 0.1000000  1.0000000 -0.6457718
## ExamScore  0.6227086 -0.6457718  1.0000000

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

n = nrow(data_b); n
## [1] 5
u = matrix(1, n, 1); u
##      [,1]
## [1,]    1
## [2,]    1
## [3,]    1
## [4,]    1
## [5,]    1
xbar = cbind((1/n) * t(u) %*% data_b); xbar
##      Ekskul SleepHours ExamScore
## [1,]      4          7        79
D = data_b - u %*% xbar; D
##      Ekskul SleepHours ExamScore
## [1,]     -1          0        -4
## [2,]      1         -1         3
## [3,]     -2          1        -9
## [4,]      0         -2         9
## [5,]      2          2         1
S = (1/(n-1)) * t(D) %*% D; S
##            Ekskul SleepHours ExamScore
## Ekskul       2.50       0.25      6.75
## SleepHours   0.25       2.50     -7.00
## ExamScore    6.75      -7.00     47.00
Ds = diag(sqrt(diag(S))); Ds
##          [,1]     [,2]     [,3]
## [1,] 1.581139 0.000000 0.000000
## [2,] 0.000000 1.581139 0.000000
## [3,] 0.000000 0.000000 6.855655
R = solve(Ds) %*% S %*% solve(Ds); R
##           [,1]       [,2]       [,3]
## [1,] 1.0000000  0.1000000  0.6227086
## [2,] 0.1000000  1.0000000 -0.6457718
## [3,] 0.6227086 -0.6457718  1.0000000