Matriks

Pengertian Matriks

Matriks merupakan susunan angka-angka di dalam kotak yang dibagi ke dalam baris dan kolom. Matriks diberi nama dengan huruf kapital seperti A atau B, sementara elemen pada matriks menggunakan huruf kecil seperti a atau b. Misalkan terdiri dari n baris dan p kolom, maka matriks tersebut berukuran (ordo) n x p.

Sebagai contoh, matriks A ordo 2 x 2 seperti di bawah ini :

\[A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}\]

Cara Input Nilai Matriks

Dalam pengisian matriks, terdapat 2 cara pengisian, yaitu :

  • Berdasarkan kolom

  • Berdasarkan baris

Untuk menyatakan suatu matriks, kita harus menggunakan function matrix(). Apabila matriks ingin disajikan berdasarkan kolom, kita dapat menyatakan byrow = FALSE seperti pada contoh berikut :

# Membuat matriks X berordo 3x3 (berdasarkan kolom)
X = matrix(c(2,7,9,
             1,4,3,
             4,5,1), nrow = 3, ncol = 3,byrow = FALSE)
cat("Matriks X:\n")
## Matriks X:
print(X)
##      [,1] [,2] [,3]
## [1,]    2    1    4
## [2,]    7    4    5
## [3,]    9    3    1

Sebaliknya jika ingin menyatakan matriks berdasarkan baris, kita dapat menyatakan matriks dengan byrow = TRUE seperti pada contoh berikut :

# Membuat matriks X berordo 3x3 (berdasarkan baris)
Y = matrix(c(7,4,9,
             2,4,1,
             5,3,4), nrow = 3, ncol = 3,byrow = TRUE)
cat("Matriks Y:\n")
## Matriks Y:
print(Y)
##      [,1] [,2] [,3]
## [1,]    7    4    9
## [2,]    2    4    1
## [3,]    5    3    4

Penjumlahan dan Pengurangan

Cara melakukan operasi perhitungan pada matriks ialah menjumlahkan atau mengurangi entri - entri yang bersesuaian dengan posisinya (ordo matriks harus sama). Adapun, bentuk syntax sebagai berikut :

penjumlahan <- X+Y
pengurangan <- X-Y
cat("Jadi hasil penjumlahan dari kedua matriks tersebut adalah",print(penjumlahan))
##      [,1] [,2] [,3]
## [1,]    9    5   13
## [2,]    9    8    6
## [3,]   14    6    5
## Jadi hasil penjumlahan dari kedua matriks tersebut adalah 9 9 14 5 8 6 13 6 5
cat("Jadi hasil pengurangan dari kedua matriks tersebut adalah",print(pengurangan))
##      [,1] [,2] [,3]
## [1,]   -5   -3   -5
## [2,]    5    0    4
## [3,]    4    0   -3
## Jadi hasil pengurangan dari kedua matriks tersebut adalah -5 5 4 -3 0 0 -5 4 -3

Perkalian Antar Matriks

Cara melakukan operasi perkalian antar matriks yaitu dengan mengalikan seluruh elemen matriks 1 pada baris ke - i dengan seluruh elemen matriks 2 pada elemen 2 dengan syarat ordo kedua matriks memiliki jumlah kolom yang sama pada matriks 1 dan jumlah baris pada matriks 2. Adapun untuk syntax R nya sebagai berikut :

perkalian = X%*%Y
cat("Hasil dari operasi perkalian berikut adalah",print(perkalian))
##      [,1] [,2] [,3]
## [1,]   36   24   35
## [2,]   82   59   87
## [3,]   74   51   88
## Hasil dari operasi perkalian berikut adalah 36 82 74 24 59 51 35 87 88

Perkalian Antar Elemen

Konsep dari operasi perkalian antar elemen mirip dengan operasi penjumlahan dan pengurangan. Akan tetapi, operasi yang digunakan adalah perkalian. Bentuk matriks yang dapat dikalikan bisa dalam bentuk skalar ataupun matriks itu sendiri. Adapun, bentuk syntax sebagai berikut :

p.matrix = X*Y
p.skalar = 2*X
cat("Hasil dari perkalian antar elemen matriks adalah",print(p.matrix))
##      [,1] [,2] [,3]
## [1,]   14    4   36
## [2,]   14   16    5
## [3,]   45    9    4
## Hasil dari perkalian antar elemen matriks adalah 14 14 45 4 16 9 36 5 4
cat("Hasil dari perkalian antar elemen skalar adalah",print(p.skalar))
##      [,1] [,2] [,3]
## [1,]    4    2    8
## [2,]   14    8   10
## [3,]   18    6    2
## Hasil dari perkalian antar elemen skalar adalah 4 14 18 2 8 6 8 10 2

Transpose Matriks

Transpose matriks adalah operasi yang menukar baris dan kolom pada sebuah matriks. Misalnya A berordo m x n ditranspose menjadi \(A^T\), sehingga ordonya menjadi n x m. Adapun untuk contohnya sebagai berikut :

\[ A = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix} \]

Maka hasil transpose dari matriks A adalah :

\[ A^T = \begin{bmatrix} a_{11} & a_{21} & \dots & a_{m1} \\ a_{12} & a_{22} & \dots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \dots & a_{mn} \end{bmatrix} \]

Untuk melakukan operasi transpose, kita dapat menggunakan syntax t().

transpose_X = t(X)
cat("Hasil transpose matriks X",print(transpose_X))
##      [,1] [,2] [,3]
## [1,]    2    7    9
## [2,]    1    4    3
## [3,]    4    5    1
## Hasil transpose matriks X 2 1 4 7 4 5 9 3 1

Invers Matriks

Invers matriks dinotasikan sebagai \(A^{-1}\), dengan rumus umum sebagai berikut :

\[ A^{-1} = \frac{1}{det(A)} adj(A) \] Dengan syarat bahwa det(A) \(\neq 0\). Adapun bentuk syntax pada R sebagai berikut :

invers <- solve(X)
cat("Invers dari matriks X adalah",print(invers))
##            [,1]        [,2]        [,3]
## [1,]  0.2500000 -0.25000000  0.25000000
## [2,] -0.8636364  0.77272727 -0.40909091
## [3,]  0.3409091 -0.06818182 -0.02272727
## Invers dari matriks X adalah 0.25 -0.8636364 0.3409091 -0.25 0.7727273 -0.06818182 0.25 -0.4090909 -0.02272727

Determinan Matriks

Determinan matriks adalah nilai skalar tunggal yang dihitung dari entri-entri sebuah matriks persegi dan memberikan informasi penting tentang sifat matriks tersebut, seperti apakah matriks tersebut memiliki invers atau dapat digunakan untuk menyelesaikan sistem persamaan linear. Bentuk rumus umum determinan matriks 2x2 :

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

Untuk syntax pada R yaitu sebagai berikut :

detX = det(X)
cat("Determinan matriks tersebut adalah",print(detX))
## [1] -44
## Determinan matriks tersebut adalah -44

Pemanggilan Entry Matriks

Pemanggilan entry matriks di R dapat menggunakan format sebagai berikut “print(Nama_matriks[baris,kolom])

# Memanggil seluruh entry matriks
print(X)
##      [,1] [,2] [,3]
## [1,]    2    1    4
## [2,]    7    4    5
## [3,]    9    3    1
# Memanggil entri matriks baris atau kolom ke-i
print(X[2,])
## [1] 7 4 5
# Memanggil entri matriks baris atau kolom tertentu
print(X[2,3])
## [1] 5
# Memanggil entri matriks pada sel tertentu
print(X[c(1,2),3])
## [1] 4 5

Nilai dan Vektor Eigen

Nilai Eigen (λ) adalah nilai yang merepresentasikan besarnya varians atau informasi yang dapat dijelaskan oleh sebuah komponen atau dimensi utama. Sedangkan, Vektor Eigen adalah vektor yang arahnya tidak berubah ketika sebuah transformasi linear (diwakili oleh sebuah matriks) diterapkan padanya. Vektor ini menunjukkan arah dari varians yang dijelaskan oleh nilai eigen.

Nilai dan vektor eigen dari sebuah matriks A memenuhi persamaan :

\[Av=\lambda I\]

Yang dapat diselesaikan menggunakan persamaan karakteristik :

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

eig_X = eigen(X)
print(eig_X)
## eigen() decomposition
## $values
## [1] 10.721218 -4.611223  0.890005
## 
## $vectors
##            [,1]        [,2]       [,3]
## [1,] -0.3397315 -0.50604534  0.3110962
## [2,] -0.7629589 -0.08689532 -0.9387281
## [3,] -0.5499784  0.85811847  0.1483532

Dekomposisi Singular Value (SVD)

Dekomposisi Singular Value (SVD) adalah salah satu teknik dalam aljabar linear yang digunakan untuk memfaktorkan sebuah matriks menjadi tiga komponen penting. Jika ada sebuah matriks \(A\) berukuran m x n, maka SVD dituliskan sebagai berikut :

\[A=U\Sigma V^t\]

Keterangan :

U = matriks ortogonal m x m.

V = matriks orthogonal n x n.

\(\Sigma\) = matriks berukuran m x n yang elemen-elemen diagonal utamanya adalah nilai-nilai singular dari matriks A dan elemen-elemen lainnya 0

# Mencari nilai Matriks A
A <- matrix(c(5,-3,6,2,
              -4,8,-2,5,
              -1,7,3,9), 4, 3, byrow=FALSE)
svd_result <- svd(A);svd_result
## $d
## [1] 15.103695  9.726879  0.515972
## 
## $u
##              [,1]       [,2]       [,3]
## [1,] -0.274762981 -0.5109849  0.5281651
## [2,]  0.721314694  0.1837082  0.6613839
## [3,] -0.003106982 -0.7196166  0.1074900
## [4,]  0.635767853 -0.4327791 -0.5215925
## 
## $v
##            [,1]       [,2]       [,3]
## [1,] -0.1512786 -0.8522062  0.5008586
## [2,]  0.6657061  0.2867254  0.6889295
## [3,]  0.7307189 -0.4376449 -0.5239435

Jika, ingin mengetahui setiap komponen yang membentuk matriks A. Kita dapat menggunakan syntax sebagai berikut :

U = svd_result$u;U
##              [,1]       [,2]       [,3]
## [1,] -0.274762981 -0.5109849  0.5281651
## [2,]  0.721314694  0.1837082  0.6613839
## [3,] -0.003106982 -0.7196166  0.1074900
## [4,]  0.635767853 -0.4327791 -0.5215925
V = svd_result$v;V
##            [,1]       [,2]       [,3]
## [1,] -0.1512786 -0.8522062  0.5008586
## [2,]  0.6657061  0.2867254  0.6889295
## [3,]  0.7307189 -0.4376449 -0.5239435
d = svd_result$d;d
## [1] 15.103695  9.726879  0.515972
#Persiapan syntax untuk materi jarak
library(factoextra) #Bila belum ada, bisa install packages "factoextra" terlebih dahulu
## 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); df.scaled
##                  Murder     Assault   UrbanPop        Rape
## Wyoming      -0.3721741 -0.02296746 -0.3418930 -0.62039386
## Illinois      0.4221896  1.02244775  1.2520675  0.62633064
## Mississippi   1.6799322  1.14124493 -1.4507350 -0.39776448
## Kansas       -0.5486994 -0.56943449  0.0739228 -0.26418686
## New York      0.5766492  1.08184634  1.4599754  0.93801176
## Kentucky      0.2677300 -0.64071280 -0.8963140 -0.51650015
## Oklahoma     -0.4163054 -0.14176464  0.2125281  0.03265231
## Hawaii       -0.7031590 -1.38913505  1.2520675  0.06233622
## Missouri      0.1132704  0.17898775  0.3511333  1.24969289
## New Mexico    0.6428462  1.45011760  0.3511333  1.82852926
## Louisiana     1.5254725  1.02244775  0.0739228  0.35917539
## South Dakota -1.0341439 -0.91394632 -1.3814324 -1.03596869
## Iowa         -1.3871944 -1.27033787 -0.5498008 -1.25859806
## North Dakota -1.6961136 -1.40101477 -1.4507350 -1.85227639
## Texas         0.9296998  0.45222127  1.0441596  0.84896001
## attr(,"scaled:center")
##     Murder    Assault   UrbanPop       Rape 
##   8.486667 162.933333  64.933333  19.780000 
## attr(,"scaled:scale")
##    Murder   Assault  UrbanPop      Rape 
##  4.531929 84.177081 14.429467  6.737655

Matriks Jarak

Jarak Euclidean

Jarak Euclidean adalah jarak lurus (garis terpendek) antara dua titik di ruang. Bentuk rumus umumnya sebagai berikut :

\[ d_{ij}=\sqrt{\sum_{i=1}^p(x_{ki}-x_{kj})^2} \]

Keterangan :

\(x_{ki}\) = Vektor ke - k pada baris ke - i

\(x_{kj}\)= Vektor ke - k pada baris ke - j

dist.eucl <- dist(df.scaled, method = "euclidean"); dist.eucl
##                Wyoming  Illinois Mississippi    Kansas  New York  Kentucky
## Illinois     2.4122476                                                    
## Mississippi  2.6164146 3.1543527                                          
## Kansas       0.7934567 2.3786048   3.1993198                              
## New York     2.7921742 0.4095812   3.3878156 2.7128511                    
## Kentucky     1.0532156 2.9515362   2.3433244 1.2948587 3.2757206          
## Oklahoma     0.8659748 1.8685718   2.9986711 0.5547563 2.2043102 1.4993175
## Hawaii       2.2322175 2.7203365   4.4270510 1.4800030 2.9246694 2.5403456
## Missouri     2.0625111 1.4167282   3.0563398 1.8349434 1.5351057 2.3176129
## New Mexico   3.1109091 1.5775154   3.0617092 3.1551035 1.4705638 3.4011133
## Louisiana    2.4137967 1.6360410   1.7133330 2.6879097 1.7776353 2.4609320
## South Dakota 1.5765126 3.9457686   3.4644086 1.7515852 4.3067435 1.5082173
## Iowa         1.7426214 3.9154083   4.0958166 1.6038155 4.2724405 1.9508929
## North Dakota 2.5296038 4.8794481   4.4694938 2.6181473 5.2524274 2.5546862
## Texas        2.4496576 0.8218968   2.9692463 2.3259192 0.8377979 2.6949264
##               Oklahoma    Hawaii  Missouri New Mexico Louisiana South Dakota
## Illinois                                                                    
## Mississippi                                                                 
## Kansas                                                                      
## New York                                                                    
## Kentucky                                                                    
## Oklahoma                                                                    
## Hawaii       1.6491638                                                      
## Missouri     1.3724911 2.3123720                                            
## New Mexico   2.6268378 3.7154012 1.4937447                                  
## Louisiana    2.2916633 3.5012381 1.8909275  1.7882330                       
## South Dakota 2.1588538 2.9115203 3.2767510  4.4281177 3.7902169             
## Iowa         2.1130016 2.3395756 3.3845451  4.6758935 4.0922753    0.9964108
## North Dakota 3.0891779 3.4578871 4.3173165  5.5131433 4.8442635    1.1604313
## Texas        1.8768374 2.5920693 1.1756214  1.5867966 1.3643137    3.8935265
##                   Iowa North Dakota
## Illinois                           
## Mississippi                        
## Kansas                             
## New York                           
## Kentucky                           
## Oklahoma                           
## Hawaii                             
## Missouri                           
## New Mexico                         
## Louisiana                          
## South Dakota                       
## Iowa                               
## North Dakota 1.1298867             
## Texas        3.9137858    4.8837032
fviz_dist(dist.eucl)

Jarak Manhatan (City Block)

Jarak Manhatan adalah Jumlah perbedaan absolut antar koordinat, seperti berjalan di jalan kota berbentuk grid [jarak berbasis grid (jumlah selisih)]. Berikut bentuk umum dari rumus jarak manhatan :

\[ d_{ij}=\sum_{i=1}^p|x_{ki}-x_{kj}| \]

Keterangan :

\(x_{ki}\) = Vektor ke - k pada baris ke - i

\(x_{kj}\)= Vektor ke - k pada baris ke - j

dist.man <- dist(df.scaled, method = "manhattan"); dist.man
##                 Wyoming   Illinois Mississippi     Kansas   New York   Kentucky
## Illinois      4.6804639                                                        
## Mississippi   4.5477901  5.1034373                                             
## Kansas        1.4950151  4.6314334   5.5975464                                 
## New York      5.4139111  0.7334472   5.4091682  5.3648806                      
## Kentucky      1.9159642  5.1088324   3.8673166  2.1102578  5.8422796           
## Oklahoma      1.3703957  3.6359252   5.4729270  0.9955082  4.3693724  2.8409781
## Hawaii        3.9738430  4.1009258   8.0763743  2.4788279  4.8343730  4.4465291
## Missouri      3.2505127  2.6766756   5.9782446  3.2014823  2.7867606  3.9878005
## New Mexico    5.6300548  2.7514592   5.3741207  5.5810243  2.4338278  6.0584233
## Louisiana     4.3384469  2.5485829   2.5548545  4.2894164  2.9731109  4.7668154
## South Dakota  3.0080629  7.6885267   5.4767741  3.0570933  8.4219740  2.5796943
## Iowa          3.1085028  7.7889667   7.2404771  3.1575333  8.5224139  3.3731605
## North Dakota  5.0427114  9.7231753   7.3728174  5.0917419 10.4566225  4.6143429
## Texas         4.6324690  1.5082739   5.1808752  4.5834386  1.4875431  5.0608376
##                Oklahoma     Hawaii   Missouri New Mexico  Louisiana
## Illinois                                                           
## Mississippi                                                        
## Kansas                                                             
## New York                                                           
## Kentucky                                                           
## Oklahoma                                                           
## Hawaii        2.6034473                                            
## Missouri      2.2059740  4.4728430                                 
## New Mexico    4.5855161  6.8523850  2.3795420                      
## Louisiana     3.5711187  6.1151982  3.4233902  3.0568606           
## South Dakota  4.0526016  4.5379784  6.2585756  8.6381176  7.3465098
## Iowa          4.1530415  3.9256352  6.3590155  8.7385576  7.4469497
## North Dakota  6.0872501  5.6222495  8.2932241 10.6727662  9.3811583
## Texas         3.5879303  4.4687467  2.1834220  2.9573454  2.6260207
##              South Dakota       Iowa North Dakota
## Illinois                                         
## Mississippi                                      
## Kansas                                           
## New York                                         
## Kentucky                                         
## Oklahoma                                         
## Hawaii                                           
## Missouri                                         
## New Mexico                                       
## Louisiana                                        
## South Dakota                                     
## Iowa            1.7637030                        
## North Dakota    2.0346485  1.9342086             
## Texas           7.6405319  7.7409718    9.6751804
fviz_dist(dist.man)

Jarak Chebysev

Jarak Chebysev adalah satu ukuran jarak (distance metric) antara dua titik dalam ruang vektor berbentuk selisih terbesar di antara semua koordinat kedua titik. Berikut bentuk umum dari rumus Jarak Chebysev :

\[ d_{ij}=\max_i \, |x_{ki} - x_{kj}| \]

Keterangan :

\(x_{ki}\) = Vektor ke - k pada baris ke - i

\(x_{kj}\)= Vektor ke - k pada baris ke - j

dist.cheb <- dist(df.scaled, method = "maximum"); dist.cheb
##                Wyoming  Illinois Mississippi    Kansas  New York  Kentucky
## Illinois     1.5939604                                                    
## Mississippi  2.0521063 2.7028025                                          
## Kansas       0.5464670 1.5918822   2.2286315                              
## New York     1.8018683 0.3116811   2.9107104 1.6512808                    
## Kentucky     0.6399041 2.1483815   1.7819577 0.9702368 2.3562894          
## Oklahoma     0.6530462 1.1642124   2.0962376 0.4276699 1.2474473 1.1088421
## Hawaii       1.5939604 2.4115828   2.7028025 1.1781447 2.4709814 2.1483815
## Missouri     1.8700867 0.9009342   1.8018683 1.5138797 1.1088421 1.7661930
## New Mexico   2.4489231 1.2021986   2.2262937 2.0927161 1.1088421 2.3450294
## Louisiana    1.8976467 1.1781447   1.5246578 2.0741719 1.3860526 1.6631605
## South Dakota 1.0395394 2.6334999   2.7140760 1.4553552 2.8414078 1.3018739
## Iowa         1.2473704 2.2927856   3.0671266 0.9944112 2.3521842 1.6549244
## North Dakota 1.3780473 2.7028025   3.3760458 1.5880895 2.9107104 1.9638436
## Texas        1.4693539 0.5702265   2.4948946 1.4783991 0.6296251 1.9404736
##               Oklahoma    Hawaii  Missouri New Mexico Louisiana South Dakota
## Illinois                                                                    
## Mississippi                                                                 
## Kansas                                                                      
## New York                                                                    
## Kentucky                                                                    
## Oklahoma                                                                    
## Hawaii       1.2473704                                                      
## Missouri     1.2170406 1.5681228                                            
## New Mexico   1.7958770 2.8392526 1.2711298                                  
## Louisiana    1.9417780 2.4115828 1.4122022  1.4693539                       
## South Dakota 1.5939604 2.6334999 2.2856616  2.8644979 2.5596164             
## Iowa         1.2912504 1.8018683 2.5082909  3.0871273 2.9126670    0.8316315
## North Dakota 1.8849287 2.7028025 3.1019693  3.6808057 3.2215862    0.8163077
## Texas        1.3460052 1.8413563 0.8164294  0.9978963 0.9702368    2.4255920
##                   Iowa North Dakota
## Illinois                           
## Mississippi                        
## Kansas                             
## New York                           
## Kentucky                           
## Oklahoma                           
## Hawaii                             
## Missouri                           
## New Mexico                         
## Louisiana                          
## South Dakota                       
## Iowa                               
## North Dakota 0.9009342             
## Texas        2.3168942    2.7012364
fviz_dist(dist.cheb)

Jarak Mahalanobis

Jarak Mahalanobis adalah jarak antar titik yang mempertimbangkan skala (varians) dan korelasi antar variabel. Berikut bentuk umum dari rumus Jarak Mahalanobis :

\[ d_{ij}=\sqrt{(y_{i}-y_{j})^TS^{-1}(y_{i}-y_{j})} \]

Keterangan :

\(y_{i}\) = \((y_{i1},y_{i2},...,y_{ip})\) adalah observasi ke-i

\(y_{j}\) = \((y_{j1},y_{j2},...,y_{jp})\) adalah observasi ke-j

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: 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(df.scaled); dist.mah
##               Wyoming  Illinois Mississippi    Kansas  New York Kentucky
## Wyoming      0.000000 1.7186109    2.820779 1.4195095 1.8695558 2.867847
## Illinois     1.718611 0.0000000    3.658323 2.2905255 0.4722069 3.878642
## Mississippi  2.820779 3.6583235    0.000000 3.2139075 3.6566922 2.544477
## Kansas       1.419510 2.2905255    3.213907 0.0000000 2.1522535 2.048031
## New York     1.869556 0.4722069    3.656692 2.1522535 0.0000000 3.698342
## Kentucky     2.867847 3.8786421    2.544477 2.0480310 3.6983422 0.000000
## Oklahoma     1.146496 1.8980286    3.237573 0.6499978 1.7772007 2.505941
## Hawaii       3.466671 3.6449604    4.722203 2.2108491 3.3748818 2.753554
## Missouri     3.198071 3.6796400    3.956918 2.2592572 3.3618939 2.642756
## New Mexico   3.281318 3.5101406    4.057258 3.1016653 3.2869855 3.870023
## Louisiana    2.284940 2.5550539    1.688058 2.2700723 2.4136664 2.119635
## South Dakota 1.826205 3.3564158    3.087365 1.6274307 3.3404110 2.261154
## Iowa         1.327907 2.6329606    3.559587 1.1128197 2.6839965 2.621704
## North Dakota 1.582582 3.1919907    3.553572 1.9466491 3.3317039 3.040465
## Texas        2.540604 2.4769381    3.093919 1.7462066 2.1399545 2.108949
##               Oklahoma   Hawaii Missouri New Mexico Louisiana South Dakota
## Wyoming      1.1464956 3.466671 3.198071   3.281318  2.284940     1.826205
## Illinois     1.8980286 3.644960 3.679640   3.510141  2.555054     3.356416
## Mississippi  3.2375727 4.722203 3.956918   4.057258  1.688058     3.087365
## Kansas       0.6499978 2.210849 2.259257   3.101665  2.270072     1.627431
## New York     1.7772007 3.374882 3.361894   3.286985  2.413666     3.340411
## Kentucky     2.5059414 2.753554 2.642756   3.870023  2.119635     2.261154
## Oklahoma     0.0000000 2.705865 2.203038   2.660216  2.350208     1.672866
## Hawaii       2.7058650 0.000000 3.193764   4.645567  3.383255     3.551072
## Missouri     2.2030382 3.193764 0.000000   1.836797  3.256319     2.505784
## New Mexico   2.6602159 4.645567 1.836797   0.000000  3.676879     3.026024
## Louisiana    2.3502077 3.383255 3.256319   3.676879  0.000000     3.021642
## South Dakota 1.6728664 3.551072 2.505784   3.026024  3.021642     0.000000
## Iowa         1.3299426 2.790197 3.145245   3.792086  2.954252     1.518854
## North Dakota 1.9813596 3.780966 3.590548   3.950259  3.434074     1.304743
## Texas        1.9635201 2.082005 2.576037   3.501666  1.527269     3.090805
##                  Iowa North Dakota    Texas
## Wyoming      1.327907     1.582582 2.540604
## Illinois     2.632961     3.191991 2.476938
## Mississippi  3.559587     3.553572 3.093919
## Kansas       1.112820     1.946649 1.746207
## New York     2.683996     3.331704 2.139954
## Kentucky     2.621704     3.040465 2.108949
## Oklahoma     1.329943     1.981360 1.963520
## Hawaii       2.790197     3.780966 2.082005
## Missouri     3.145245     3.590548 2.576037
## New Mexico   3.792086     3.950259 3.501666
## Louisiana    2.954252     3.434074 1.527269
## South Dakota 1.518854     1.304743 3.090805
## Iowa         0.000000     1.045923 2.734770
## North Dakota 1.045923     0.000000 3.563193
## Texas        2.734770     3.563193 0.000000
dist.mah_matrix <- as.matrix(dist.mah);dist.mah_matrix
##               Wyoming  Illinois Mississippi    Kansas  New York Kentucky
## Wyoming      0.000000 1.7186109    2.820779 1.4195095 1.8695558 2.867847
## Illinois     1.718611 0.0000000    3.658323 2.2905255 0.4722069 3.878642
## Mississippi  2.820779 3.6583235    0.000000 3.2139075 3.6566922 2.544477
## Kansas       1.419510 2.2905255    3.213907 0.0000000 2.1522535 2.048031
## New York     1.869556 0.4722069    3.656692 2.1522535 0.0000000 3.698342
## Kentucky     2.867847 3.8786421    2.544477 2.0480310 3.6983422 0.000000
## Oklahoma     1.146496 1.8980286    3.237573 0.6499978 1.7772007 2.505941
## Hawaii       3.466671 3.6449604    4.722203 2.2108491 3.3748818 2.753554
## Missouri     3.198071 3.6796400    3.956918 2.2592572 3.3618939 2.642756
## New Mexico   3.281318 3.5101406    4.057258 3.1016653 3.2869855 3.870023
## Louisiana    2.284940 2.5550539    1.688058 2.2700723 2.4136664 2.119635
## South Dakota 1.826205 3.3564158    3.087365 1.6274307 3.3404110 2.261154
## Iowa         1.327907 2.6329606    3.559587 1.1128197 2.6839965 2.621704
## North Dakota 1.582582 3.1919907    3.553572 1.9466491 3.3317039 3.040465
## Texas        2.540604 2.4769381    3.093919 1.7462066 2.1399545 2.108949
##               Oklahoma   Hawaii Missouri New Mexico Louisiana South Dakota
## Wyoming      1.1464956 3.466671 3.198071   3.281318  2.284940     1.826205
## Illinois     1.8980286 3.644960 3.679640   3.510141  2.555054     3.356416
## Mississippi  3.2375727 4.722203 3.956918   4.057258  1.688058     3.087365
## Kansas       0.6499978 2.210849 2.259257   3.101665  2.270072     1.627431
## New York     1.7772007 3.374882 3.361894   3.286985  2.413666     3.340411
## Kentucky     2.5059414 2.753554 2.642756   3.870023  2.119635     2.261154
## Oklahoma     0.0000000 2.705865 2.203038   2.660216  2.350208     1.672866
## Hawaii       2.7058650 0.000000 3.193764   4.645567  3.383255     3.551072
## Missouri     2.2030382 3.193764 0.000000   1.836797  3.256319     2.505784
## New Mexico   2.6602159 4.645567 1.836797   0.000000  3.676879     3.026024
## Louisiana    2.3502077 3.383255 3.256319   3.676879  0.000000     3.021642
## South Dakota 1.6728664 3.551072 2.505784   3.026024  3.021642     0.000000
## Iowa         1.3299426 2.790197 3.145245   3.792086  2.954252     1.518854
## North Dakota 1.9813596 3.780966 3.590548   3.950259  3.434074     1.304743
## Texas        1.9635201 2.082005 2.576037   3.501666  1.527269     3.090805
##                  Iowa North Dakota    Texas
## Wyoming      1.327907     1.582582 2.540604
## Illinois     2.632961     3.191991 2.476938
## Mississippi  3.559587     3.553572 3.093919
## Kansas       1.112820     1.946649 1.746207
## New York     2.683996     3.331704 2.139954
## Kentucky     2.621704     3.040465 2.108949
## Oklahoma     1.329943     1.981360 1.963520
## Hawaii       2.790197     3.780966 2.082005
## Missouri     3.145245     3.590548 2.576037
## New Mexico   3.792086     3.950259 3.501666
## Louisiana    2.954252     3.434074 1.527269
## South Dakota 1.518854     1.304743 3.090805
## Iowa         0.000000     1.045923 2.734770
## North Dakota 1.045923     0.000000 3.563193
## Texas        2.734770     3.563193 0.000000

Jarak Minkowski

Jarak Minkowski adalah ukuran jarak (distance metric) yang merupakan generalisasi dari jarak Euclidean dan Manhattan dalam ruang vektor.

Secara umum, jika dua titik

\[X = (x_{1},x_{2},...,x_{n}) \] \[ Dan \]

\[ Y = (y_{1},y_{2},...,y_{n}) \]

maka jarak minkowski didefinisikan sebagai berikut :

\[ D(X,Y) =(\sum_{i=1}^n|x_{i}-y_{i}|^p)^\frac{1}{p} \]

Catatan :

  • \(p=1\) artinya Jarak Manhattan

  • \(p=2\) artinya Jarak Euclidean

  • \(p =\infty\) artinya Jarak Chebyshev

# Data random (5 observasi dengan 3 variabel)
data <- matrix(runif(15, min = 1, max = 10), nrow = 5, ncol = 3)
colnames(data) <- c("X1", "X2", "X3")
print("Data random:")
## [1] "Data random:"
print(data)
##            X1       X2       X3
## [1,] 6.172203 6.348343 6.965909
## [2,] 7.761144 2.894541 4.948354
## [3,] 9.934501 7.392280 7.464049
## [4,] 4.877779 7.082469 1.230248
## [5,] 2.119285 9.936146 7.050970
# Tentukan dua titik yang akan dihitung jaraknya
p1 <- data[1, ];p1
##       X1       X2       X3 
## 6.172203 6.348343 6.965909
p2 <- data[2, ];p2
##       X1       X2       X3 
## 7.761144 2.894541 4.948354
# Fungsi jarak Minkowski
minkowski_distance <- function(x, y, p) {
  sum(abs(x - y)^p)^(1/p)
}

# Contoh penggunaan dengan p = 1 (Manhattan), p = 2 (Euclidean), p = 3 (Minkowski umum)
dist_p1 <- minkowski_distance(p1, p2, p = 1);dist_p1
## [1] 7.060297
dist_p2 <- minkowski_distance(p1, p2, p = 2);dist_p2
## [1] 4.303952
dist_p3 <- minkowski_distance(p1, p2, p = 3);dist_p3
## [1] 3.766268
dist_inf <- max(abs(p1 - p2));dist_inf
## [1] 3.453801

Vektor Rata-Rata

Matriks Rata-Rata

Misalkan ada m buah vektor berdimensi n :

\[ X = (x_{1},x_{2},...,x_{n}) \]

Maka, vektor rata - rata didefinisikan sebagai :

\[ \bar{X}=\frac{1}{m}\sum_{j=1}^mx_{j} \]

# input data kadal
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)); lizard
##         BB PM 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
##  [6,]  6.9 60 120
##  [7,] 12.0 76 143
##  [8,]  3.1 49  95
##  [9,] 14.8 84 160
## [10,]  9.4 71 128
# Matriks Rata-Rata
vecMeans = as.matrix(colMeans(lizard)); vecMeans
##       [,1]
## BB    9.05
## PM   67.60
## RTB 128.00
vecRata = matrix(c(mean(BB), mean(PM), mean(RTB)), nrow=3, ncol=1); vecRata
##        [,1]
## [1,]   9.05
## [2,]  67.60
## [3,] 128.00

Matriks Kovarians

Matriks kovarians adalah sebuah matriks persegi dan simetris yang elemen-elemennya merepresentasikan kovarians antara setiap pasang variabel dalam suatu kumpulan data. Elemen diagonal utama matriks ini berisi varian dari masing-masing variabel.

\[ \Sigma = \begin{bmatrix} \text{cov}(X, X) & \text{cov}(X, Y) & \text{cov}(X, Z) \\ \text{cov}(Y, X) & \text{cov}(Y, Y) & \text{cov}(Y, Z) \\ \text{cov}(Z, X) & \text{cov}(Z, Y) & \text{cov}(Z, Z) \end{bmatrix} = \begin{bmatrix} \sigma^2_X & \sigma_{XY} & \sigma_{XZ} \\ \sigma_{YX} & \sigma^2_Y & \sigma_{YZ} \\ \sigma_{ZX} & \sigma_{ZY} & \sigma^2_Z \end{bmatrix}\]

Adapun, bentuk syntax berupa package sebagai berikut :

varkov = cov(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

Matriks Korelasi

Matriks korelasi adalah tabel berbentuk matriks yang berisi nilai koefisien korelasi antar variabel dalam suatu dataset.\[ R = \begin{bmatrix} 1 & r_{12} & r_{13} \\ r_{21} & 1 & r_{23} \\ r_{31} & r_{32} & 1 \end{bmatrix} \]

Adapun, bentuk syntax berupa package sebagai berikut :

korel = cor(lizard); 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

Matriks Standardisasi

Matriks standarisasi adalah matriks yang diperoleh dengan mengubah data mentah menjadi data dalam satuan baku (mean 0, standard deviasi 1). Proses standarisasi dilakukan dengan mengurangkan rata-rata variabel dari setiap observasi, kemudian membaginya dengan simpangan baku variabel tersebut. Untuk rumusnya yaitu sebagai berikut :

\[ Z_{ij} = \frac{X_{ij} - \bar{X}_j}{s_j} \]

Dimana:

\(X_{ij}\): nilai data ke-i pada variabel ke-j

\(\bar{X}_j\): rata-rata dari variabel ke-j

\(s_j\): standar deviasi dari variabel ke-j

\(Z_{ij}\): nilai standar dari data

Hasil standardisasi tersebut akan menghasilkan sebuah matriks Z yang disebut matriks standardisasi. Untuk syntaxnya yaitu sebagai berikut :

n = nrow(lizard);n
## [1] 10
u = matrix(1,n,1); u
##       [,1]
##  [1,]    1
##  [2,]    1
##  [3,]    1
##  [4,]    1
##  [5,]    1
##  [6,]    1
##  [7,]    1
##  [8,]    1
##  [9,]    1
## [10,]    1
xbar = cbind((1/n)*t(u)%*%lizard); xbar
##        BB   PM RTB
## [1,] 9.05 67.6 128
D = lizard - u %*% xbar; D
##          BB    PM RTB
##  [1,] -2.85  -6.6 -13
##  [2,]  2.45   5.4  10
##  [3,] -0.35   0.4  -1
##  [4,]  1.05   2.4  -5
##  [5,] -1.25  -3.6   3
##  [6,] -2.15  -7.6  -8
##  [7,]  2.95   8.4  15
##  [8,] -5.95 -18.6 -33
##  [9,]  5.75  16.4  32
## [10,]  0.35   3.4   0
S = (1/(n-1))*t(D)%*%D; S
##           BB        PM       RTB
## BB  10.98056  31.80000  54.96667
## PM  31.80000  94.04444 160.22222
## RTB 54.96667 160.22222 300.66667
Ds = diag(sqrt(diag(S))); Ds
##          [,1]     [,2]     [,3]
## [1,] 3.313692 0.000000  0.00000
## [2,] 0.000000 9.697651  0.00000
## [3,] 0.000000 0.000000 17.33974
R = solve(Ds) %*% S %*% solve(Ds); R
##           [,1]      [,2]      [,3]
## [1,] 1.0000000 0.9895743 0.9566313
## [2,] 0.9895743 1.0000000 0.9528259
## [3,] 0.9566313 0.9528259 1.0000000