Aljabar matriks berperan penting untuk analisis data multivariat karena digunakan untuk merepresentasikan data dan melakukan berbagai perhitungan statistik yang kompleks secara lebih efisien.
Matriks adalah susunan bilangan, simbol, atau ekspresi yang diatur dalam baris (horizontal) dan kolom (vertikal) dalam suatu jajaran persegi atau persegi panjang, yang kemudian diapit oleh tanda kurung siku. Isi dari matriks disebut entri atau elemen matriks, dan matriks diberi nama dengan huruf kapital.
Contoh Matriks: \[ A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \]
A = matrix(c(2,3,4,
3,4,5,
4,5,5), nrow = 3, ncol = 3, byrow = TRUE); A
## [,1] [,2] [,3]
## [1,] 2 3 4
## [2,] 3 4 5
## [3,] 4 5 5
B = matrix(c(2,1,3,
0,1,4,
5,2,0), nrow = 3, ncol = 3, byrow = TRUE); B
## [,1] [,2] [,3]
## [1,] 2 1 3
## [2,] 0 1 4
## [3,] 5 2 0
Operasi matriks adalah operasi aljabar pada matriks yang meliputi penjumlahan, pengurangan, perkalian skalar, dan perkalian antar matriks. Selain itu ada juga operasi khusus pada matriks seperti transpose, determinan dan invers matriks.
Pada operasi penjumlahan dan pengurangan matriks terdapat syarat yang harus dipenuhi yaitu tiap matriks harus memiliki ordo yang sama. \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad B = \begin{bmatrix} e & f \\ g & h \end{bmatrix} \]
\[ A + B = \begin{bmatrix} a+e & b+f \\ c+g & d+h \end{bmatrix} \]
# Penjumlahan
A + B
## [,1] [,2] [,3]
## [1,] 4 4 7
## [2,] 3 5 9
## [3,] 9 7 5
Operasi pengurangan pada matriks bisa dilakukan jika kedua matriks tersebut memiliki ordo yang sama \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad B = \begin{bmatrix} e & f \\ g & h \end{bmatrix} \]
\[ A - B = \begin{bmatrix} a-e & b-f \\ c-g & d-h \end{bmatrix} \]
# Pengurangan
A - B
## [,1] [,2] [,3]
## [1,] 0 2 1
## [2,] 3 3 1
## [3,] -1 3 5
B - A
## [,1] [,2] [,3]
## [1,] 0 -2 -1
## [2,] -3 -3 -1
## [3,] 1 -3 -5
Perkalian matriks sendiri proses mengalikan setiap elemen baris pada matriks pertama dengan elemen kolom pada matriks kedua. Hasilnya kemudian dijumlahkan untuk memperoleh hasil akhir perkalian matriks. Operasi perkalian matriks memiliki syarat yaitu jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua. \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad B = \begin{bmatrix} e & f \\ g & h \end{bmatrix} \]
\[ A \times B = \begin{bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{bmatrix} \]
# Perkalian Matriks
A %*% B
## [,1] [,2] [,3]
## [1,] 24 13 18
## [2,] 31 17 25
## [3,] 33 19 32
B %*% A
## [,1] [,2] [,3]
## [1,] 19 25 28
## [2,] 19 24 25
## [3,] 16 23 30
# Perkalian Antar Elemen
A*B
## [,1] [,2] [,3]
## [1,] 4 3 12
## [2,] 0 4 20
## [3,] 20 10 0
# Perkalian Skalar
2*A
## [,1] [,2] [,3]
## [1,] 4 6 8
## [2,] 6 8 10
## [3,] 8 10 10
2*B
## [,1] [,2] [,3]
## [1,] 4 2 6
## [2,] 0 2 8
## [3,] 10 4 0
Transpose matriks adalah matriks baru yang dibentuk dengan menukar elemen baris menjadi elemen kolom dan sebaliknya, sehingga baris-baris matriks awal menjadi kolom-kolom pada matriks transposenya. Operasi transpose matriks biasanya dilambangkan dengan notasi \(X^T\). \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \quad \Rightarrow \quad A^{T} = \begin{bmatrix} a & c \\ b & d \end{bmatrix} \]
# Transpose Matriks
transA = t(A); transA
## [,1] [,2] [,3]
## [1,] 2 3 4
## [2,] 3 4 5
## [3,] 4 5 5
transB = t(B); transB
## [,1] [,2] [,3]
## [1,] 2 0 5
## [2,] 1 1 2
## [3,] 3 4 0
Invers matriks adalah matriks kebalikan dari suatu matriks persegi yang, jika dikalikan dengan matriks aslinya, akan menghasilkan matriks identitas. Invers matriks hanya ada jika determinan matriks tersebut bukan nol, dan dinotasikan dengan \(A^{-1}\). \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} \]
# Invers Matriks
inv_A = solve(A); inv_A
## [,1] [,2] [,3]
## [1,] -5 5 -1
## [2,] 5 -6 2
## [3,] -1 2 -1
inv_B = solve(B); inv_B
## [,1] [,2] [,3]
## [1,] 0.7272727 -0.54545455 -0.09090909
## [2,] -1.8181818 1.36363636 0.72727273
## [3,] 0.4545455 -0.09090909 -0.18181818
Determinan matriks adalah nilai skalar tunggal yang dihitung dari elemen-elemen matriks persegi, dan dinotasikan dengan \(det(A)\) \[ A = \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} \quad \Rightarrow \quad \det(A) = a(ei - fh) - b(di - fg) + c(dh - eg) \]
#Determinan Matriks
det(A)
## [1] 1
det(B)
## [1] -11
# Contoh Lain Membuat Matriks
C <- matrix(21:40, nrow=4, ncol=5) ; C
## [,1] [,2] [,3] [,4] [,5]
## [1,] 21 25 29 33 37
## [2,] 22 26 30 34 38
## [3,] 23 27 31 35 39
## [4,] 24 28 32 36 40
d <- c(4,7,2,8,5,9,6,3,1,10,12,11); d
## [1] 4 7 2 8 5 9 6 3 1 10 12 11
D <- matrix(d, nrow=3, ncol=4, byrow=TRUE) ; D
## [,1] [,2] [,3] [,4]
## [1,] 4 7 2 8
## [2,] 5 9 6 3
## [3,] 1 10 12 11
sel <- c(15,9,27,18)
nama_kolom <- c("C1", "C2")
nama_baris <- c("R1", "R2")
E <- matrix(sel, nrow=2, ncol=2,
byrow=TRUE, dimnames=list(nama_baris,
nama_kolom)) ; E
## C1 C2
## R1 15 9
## R2 27 18
# Memanggil Komponen Matriks
C
## [,1] [,2] [,3] [,4] [,5]
## [1,] 21 25 29 33 37
## [2,] 22 26 30 34 38
## [3,] 23 27 31 35 39
## [4,] 24 28 32 36 40
C[,2] # Kolom 2
## [1] 25 26 27 28
C[3,] # Baris 3
## [1] 23 27 31 35 39
C[3,2] # Sel(3, 2)
## [1] 27
C[c(1,3),2] # Sel(1,2) dan sel(3,2)
## [1] 25 27
C[,1:3] # Kolom(1,2,3)
## [,1] [,2] [,3]
## [1,] 21 25 29
## [2,] 22 26 30
## [3,] 23 27 31
## [4,] 24 28 32
C[2:4,] # Baris(2,3,4)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 22 26 30 34 38
## [2,] 23 27 31 35 39
## [3,] 24 28 32 36 40
Dalam Analisis Data Multivariat, Nilai Eigen (Eigen Value) dan Vektor Eigen (Eigen Vector) digunakan untuk mereduksi dimensi data, mengidentifikasi pola utama, dan menyederhanakan representasi data melalui metode seperti Principal Component Analysis (PCA), Factor Analysis, dll.
# Eigen Value dan Eigen Vector
eigA = eigen(A); eigA
## eigen() decomposition
## $values
## [1] 12.00640368 -0.09098442 -0.91541927
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.4460107 0.6468343 -0.6186113
## [2,] -0.5883377 -0.7327383 -0.3419844
## [3,] -0.6744874 0.2114236 0.7073661
eigB = eigen(B); eigB
## eigen() decomposition
## $values
## [1] 6.1320789 -3.6267007 0.4946218
##
## $vectors
## [,1] [,2] [,3]
## [1,] 0.5850579 -0.2759533 0.3787551
## [2,] 0.4985514 -0.6286196 -0.9181974
## [3,] 0.6396513 0.7271087 0.1160092
Nilai eigen adalah suatu nilai skalar khusus dari matriks persegi yang menunjukkan faktor skala dari vektor eigen ketika sebuah transformasi linear diterapkan. Kata “eigen” sendiri berasal dari bahasa Jerman yang berarti “asli” atau “karakteristik”, sehingga nilai eigen sering juga disebut sebagai nilai karakteristik atau akar karakteristik.
Fungsi Nilai Eigen/Eigen Value dalam Analisis Data Multivariat:
# Eigen Value
eigvalA = eigA$values; eigvalA
## [1] 12.00640368 -0.09098442 -0.91541927
eigvalB = eigB$values; eigvalB
## [1] 6.1320789 -3.6267007 0.4946218
Vektor eigen adalah vektor bukan nol dari sebuah matriks persegi yang ketika dikalikan dengan matriks tersebut, menghasilkan kelipatan skalar dari vektor itu sendiri, bukan vektor yang berputar atau bergeser arahnya.
Fungsi Eigen Vector dalam Analisis Data Multivariat:
# Eigen Vector
eigvecA = eigA$vectors; eigvecA
## [,1] [,2] [,3]
## [1,] -0.4460107 0.6468343 -0.6186113
## [2,] -0.5883377 -0.7327383 -0.3419844
## [3,] -0.6744874 0.2114236 0.7073661
eigvecB = eigA$vectors; eigvecB
## [,1] [,2] [,3]
## [1,] -0.4460107 0.6468343 -0.6186113
## [2,] -0.5883377 -0.7327383 -0.3419844
## [3,] -0.6744874 0.2114236 0.7073661
Dekomposisi nilai singular (Singular Value Decomposition atau SVD) adalah teknik dalam aljabar linear untuk memfaktorkan matriks menjadi perkalian tiga matriks lain, yaitu matriks ortogonal \(U\), matriks diagonal \(Σ (sigma)\) yang berisi nilai-nilai singular, dan matriks ortogonal \(V\) atau \(V^T\) (V Transpose).
# Singular Value Decomposition (SVD)
library(MASS)
G <- matrix(c(5,-3,6,2,-4,8,-2,5,-1,7,3,9), 4, 3, byrow=TRUE)
G
## [,1] [,2] [,3]
## [1,] 5 -3 6
## [2,] 2 -4 8
## [3,] -2 5 -1
## [4,] 7 3 9
svd_result <- svd(G)
singular_value <- svd_result$d ; singular_value
## [1] 16.07076 7.41936 3.11187
U <- svd_result$u ; U
## [,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
V <- svd_result$v ; V
## [,1] [,2] [,3]
## [1,] -0.5341591 -0.17494276 -0.8270847
## [2,] 0.1490928 -0.98251336 0.1115295
## [3,] -0.8321330 -0.06373793 0.5509011
Konsep jarak dalam Analisis Data Multivariat mengacu pada ukuran perbedaan antar objek atau kelompok data yang dianalisis, di mana objek yang memiliki nilai variabel yang serupa akan memiliki jarak yang kecil, sementara yang berbeda akan memiliki jarak yang besar.
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
Jarak Euclidean adalah pengukuran jarak garis lurus terpendek antara dua titik dalam ruang Euclidean (ruang datar), yang dihitung dengan akar kuadrat dari jumlah selisih kuadrat komponen-komponennya.
Contoh aplikasi penggunaan jarak Euclidean yaitu:
# Jarak Euclidean
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
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 Chebyshev adalah matriks jarak yang diukur sebagai perbedaan terbesar (nilai absolut) di antara komponen-komponen koordinat dari dua titik atau vektor. Disebut juga sebagai “jarak papan catur” (chessboard distance), matriks ini menentukan jarak minimum yang diperlukan oleh sebuah raja catur untuk bergerak dari satu kotak ke kotak lain.
Contoh aplikasi penggunaan jarak Chebyshev:
# Jarak Chebyshev
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 Manhattan adalah matriks jarak yang mengukur total perbedaan absolut antar koordinat, dihitung dengan menjumlahkan selisih mutlak dari komponen horizontal dan vertikalnya (seperti berjalan di jalan kota berbentuk grid [jarak berbasis grid (jumlah selisih)].
Contoh aplikasi jarak Manhattan:
# Jarak Manhattan
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 Mahalanobis adalah ukuran statistik yang menghitung jarak antar titik data dan sebuah distribusi, dengan mempertimbangkan korelasi antara variabel-variabel dalam data tersebut dengan variansnya.
Contoh aplikasi jarak Mahalanobis: 1. Mendeteksi transaksi keuangan yang tidak wajar 2. Memisahkan kelompok dengan varians dan korelasi berbeda (Analisis Diskriminan)
library(StatMatch)
## Loading required package: proxy
##
## 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
## 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 object is masked from 'package:MASS':
##
## select
## 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 adalah ukuran jarak antara dua titik dalam ruang vektor yang ditentukan oleh sebuah parameter p untuk mencari jarak umum karena menjadi bentuk dasar yang mencakup berbagai jenis jarak lain.
Untuk p=1 jarak Manhattan, p=2 jarak Euclidean, p->tak hingga jarak chebyshev
# Jarak Minkowski
set.seed(123)
# 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,] 3.588198 1.410008 9.611500
## [2,] 8.094746 5.752949 5.080007
## [3,] 4.680792 9.031771 7.098136
## [4,] 8.947157 5.962915 6.153701
## [5,] 9.464206 5.109533 1.926322
# Tentukan dua titik yang akan dihitung jaraknya
p1 <- data[1, ];p1
## X1 X2 X3
## 3.588198 1.410008 9.611500
p2 <- data[2, ];p2
## X1 X2 X3
## 8.094746 5.752949 5.080007
# 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] 13.38098
dist_p2 <- minkowski_distance(p1, p2, p = 2);dist_p2
## [1] 7.726871
dist_p3 <- minkowski_distance(p1, p2, p = 3);dist_p3
## [1] 6.435156
dist_inf <- max(abs(p1 - p2));dist_inf
## [1] 4.531493
Vektor rata-rata adalah vektor tunggal yang merupakan hasil dari penjumlahan sekumpulan vektor, lalu dibagi dengan jumlah vektor tersebut, atau bisa juga diartikan sebagai rata-rata dari setiap komponen vektor dalam sebuah himpunan vektor. Secara umum, vektor rata-rata mewakili nilai pusat dari sekumpulan data vektor.
Berikut merupakan contoh data pengukuran Kadal:
# 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 adalah matriks persegi dan simetris yang menunjukkan hubungan antara variabel dalam sebuah kumpulan data. Matriks ini menyajikan varians (dispersi data) pada diagonal utamanya dan kovarians (ukuran seberapa dua variabel bervariasi bersamaan) pada elemen-elemen lainnya.
# Matriks Kovarians
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 adalah matriks yang menunjukkan koefisien korelasi antar variabel. Setiap elemen dalam matriks menunjukkan korelasi antara dua variabel. Matriks korelasi digunakan untuk meringkas data, sebagai masukan untuk analisis lanjutan, dan sebagai diagnostik untuk analisis lanjutan.
# Matriks Korelasi
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 standarisasi adalah matriks diagonal yang elemennya berupa akar dari variansi masing-masing variabel, yang digunakan untuk menyesuaikan skala data dalam analisis multivariat.”
# Matriks Standardisasi
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