Matriks adalah susunan angka-angka di dalam kotak yang dibagi ke dalam baris dan kolom. Misalkan terdiri dari n baris dan p kolom, maka matriks tersebut berukuran (ordo) n × p. Contoh matriks berordo \(2\times2\)
\[ \boldsymbol{A}=\begin{bmatrix} 2&1\\ 1&3 \end{bmatrix} \]
Syntax di R
X= matrix (c(2.5, 4.1, 3.7,
5.6, 7.2, 6.3,
8.4, 9.1, 4.8), nrow = 3, ncol = 3); X
## [,1] [,2] [,3]
## [1,] 2.5 5.6 8.4
## [2,] 4.1 7.2 9.1
## [3,] 3.7 6.3 4.8
Y= matrix (c(1.2, 3.4, 2.8,
4.5, 5.7, 7.6,
6.9, 8.3, 9.5), nrow = 3, ncol = 3, byrow = TRUE); Y
## [,1] [,2] [,3]
## [1,] 1.2 3.4 2.8
## [2,] 4.5 5.7 7.6
## [3,] 6.9 8.3 9.5
Operasi matriks adalah berbagai cara untuk mengolah dan memanipulasi matriks sehingga menghasilkan matriks baru atau nilai tertentu. Beberapa operasi matriks sebagai berikut:
Matriks yang dapat dijumlahkan adalah matriks yang berorodo sama
X + Y
## [,1] [,2] [,3]
## [1,] 3.7 9.0 11.2
## [2,] 8.6 12.9 16.7
## [3,] 10.6 14.6 14.3
Pengurangan matriks merupakan operasi mengurangkan dua matriks yang ukurannya sama (ordo sama)
X - Y
## [,1] [,2] [,3]
## [1,] 1.3 2.2 5.6
## [2,] -0.4 1.5 1.5
## [3,] -3.2 -2.0 -4.7
Y - X
## [,1] [,2] [,3]
## [1,] -1.3 -2.2 -5.6
## [2,] 0.4 -1.5 -1.5
## [3,] 3.2 2.0 4.7
Perkalian dua matriks \(\boldsymbol{A}\) dan \(\boldsymbol{B}\) dapat dilakukan apabila jumlah kolom \(\boldsymbol{A}\) = jumlah baris \(\boldsymbol{B}\).
X %*% Y
## [,1] [,2] [,3]
## [1,] 86.16 110.14 129.36
## [2,] 100.11 130.51 152.65
## [3,] 65.91 88.33 103.84
2*X
## [,1] [,2] [,3]
## [1,] 5.0 11.2 16.8
## [2,] 8.2 14.4 18.2
## [3,] 7.4 12.6 9.6
Setiap elemen dari matriks \(\boldsymbol{X}\) dikalikan dengan elemen pada posisis yang sama di matriks \(\boldsymbol{Y}\). Dengan syarat ukuran (ordo) kedua mtriks harus sama
X*Y
## [,1] [,2] [,3]
## [1,] 3.00 19.04 23.52
## [2,] 18.45 41.04 69.16
## [3,] 25.53 52.29 45.60
Diperoleh dengan cara menukar baris dan kolomnya, dinotasikan dengan \(\boldsymbol{A}^{'}\), \(\boldsymbol{A}^{T}\), atau \(\boldsymbol{A}^{t}\).
Matriks \(\boldsymbol{X}\) dan \(\boldsymbol{Y}\)
X
## [,1] [,2] [,3]
## [1,] 2.5 5.6 8.4
## [2,] 4.1 7.2 9.1
## [3,] 3.7 6.3 4.8
Y
## [,1] [,2] [,3]
## [1,] 1.2 3.4 2.8
## [2,] 4.5 5.7 7.6
## [3,] 6.9 8.3 9.5
Lalu di transpose kan menjadi
transX = t(X); transX
## [,1] [,2] [,3]
## [1,] 2.5 4.1 3.7
## [2,] 5.6 7.2 6.3
## [3,] 8.4 9.1 4.8
transY = t(Y); transY
## [,1] [,2] [,3]
## [1,] 1.2 4.5 6.9
## [2,] 3.4 5.7 8.3
## [3,] 2.8 7.6 9.5
Matriks invers adalah matriks yang ketika dikalikan dengan matriks asalnya menghasilkan matriks identitas. Invers dari matriks\(\boldsymbol{A}\) dilambangkan dengan \(\boldsymbol{A}^{-1}\). dan memenuhi \[\boldsymbol{A} \times \boldsymbol{A}^{-1} = \boldsymbol{A}^{-1} \times \boldsymbol{A} = \boldsymbol{I}\] dimana \(\boldsymbol{I}\) adalah matriks identitas.
inv_X = solve(X); inv_X
## [,1] [,2] [,3]
## [1,] -1.55798837 1.7817311 -0.6513856
## [2,] 0.95723572 -1.3055080 0.7998632
## [3,] -0.05542251 0.3400616 -0.3393774
inv_Y = solve(Y); inv_Y
## [,1] [,2] [,3]
## [1,] -0.5351792 -0.5429702 0.5921131
## [2,] 0.5807264 -0.4746494 0.2085581
## [3,] -0.1186624 0.8090615 -0.5070119
Determinan adalah nilai skalar yang dihitung dari elemen-elemen matriks pesergi. Determinan memberikan informasi penting tentang matriks, seperti kebalikan (invertibilitas) dan sifat transformasi linear. Determinan matriks \(\boldsymbol{A}\) dilambangkan dengan \(\det(\boldsymbol{A})\) atau |\(\boldsymbol{A}\)|.
det(X)
## [1] 14.615
det(Y)
## [1] 16.686
Memanggil sebagian atau seluruh elemen matriks untuk menganalisis, memanipulasi, atau menggunakan data tertentu tanpa harus melihat seluruh matriks yang besar. Contoh:
A <- matrix(1:20, nrow=4, ncol=5) ; A
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 5 9 13 17
## [2,] 2 6 10 14 18
## [3,] 3 7 11 15 19
## [4,] 4 8 12 16 20
Matriks \(\boldsymbol{A}\) berordo \(4\times5\) - Memanggil kembali matriks \(\boldsymbol{A}\)
A
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 5 9 13 17
## [2,] 2 6 10 14 18
## [3,] 3 7 11 15 19
## [4,] 4 8 12 16 20
A[,2]
## [1] 5 6 7 8
A[3,]
## [1] 3 7 11 15 19
A[3,2]
## [1] 7
A[c(1,3),2]
## [1] 5 7
A[,1:3]
## [,1] [,2] [,3]
## [1,] 1 5 9
## [2,] 2 6 10
## [3,] 3 7 11
## [4,] 4 8 12
A[2:4,]
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2 6 10 14 18
## [2,] 3 7 11 15 19
## [3,] 4 8 12 16 20
Eigen Value menunjukkan jumlah variasi (informasi) yang dapat dijelaskan oleh satu komponen Eigen Vector menunjukkan jumlah variasi (informasi) yang dijelaskan suatu komponen lainnya
eigX = eigen(X); eigX
## eigen() decomposition
## $values
## [1] 17.2609544 -2.4095587 -0.3513958
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.5414689 -0.7494094 -0.82289410
## [2,] -0.6745365 -0.2577828 0.56032849
## [3,] -0.5018087 0.6098635 -0.09421938
eigY = eigen(Y); eigY
## eigen() decomposition
## $values
## [1] 17.8687027+0.0000000i -0.7343513+0.6281239i -0.7343513-0.6281239i
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.2484324+0i -0.70415491+0.0000000i -0.70415491+0.0000000i
## [2,] -0.5775468+0i 0.08806779-0.4494408i 0.08806779+0.4494408i
## [3,] -0.7776381+0i 0.37951875+0.3877865i 0.37951875-0.3877865i
eigvalX = eigX$values; eigvalX
## [1] 17.2609544 -2.4095587 -0.3513958
eigvalY = eigY$values; eigvalY
## [1] 17.8687027+0.0000000i -0.7343513+0.6281239i -0.7343513-0.6281239i
eigvecX = eigX$vectors; eigvecX
## [,1] [,2] [,3]
## [1,] -0.5414689 -0.7494094 -0.82289410
## [2,] -0.6745365 -0.2577828 0.56032849
## [3,] -0.5018087 0.6098635 -0.09421938
eigvecY = eigY$vectors; eigvecY
## [,1] [,2] [,3]
## [1,] -0.2484324+0i -0.70415491+0.0000000i -0.70415491+0.0000000i
## [2,] -0.5775468+0i 0.08806779-0.4494408i 0.08806779+0.4494408i
## [3,] -0.7776381+0i 0.37951875+0.3877865i 0.37951875-0.3877865i
Singular Value Decomposition (SVD) adalah sebuah metode dalam aljabar linear yang memecah sebuah matriks A (berukuran \(\boldsymbol{m}\times \boldsymbol{n}\)) menjadi tiga matriks yang memiliki struktur khusus. \[ \boldsymbol{A_{n\times m}} = \boldsymbol{U_{n\times n}} \boldsymbol{D_{n\times m}} \boldsymbol{V_{m\times m}^{'}}\]
library(MASS)
A <- matrix(c(5, -3, 6, 2, -4, 8, -2, 5, -1, 7, 3, 9), nrow = 4, ncol = 3, byrow = TRUE)
A
## [,1] [,2] [,3]
## [1,] 5 -3 6
## [2,] 2 -4 8
## [3,] -2 5 -1
## [4,] 7 3 9
svd_result <- svd(A)
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
Matriks jarak adalah matriks persegi yang menyimpan informasi jarak antara setiap pasangan elemen dalam suatu himpunan.
Jarak Euclidean adalah jarak garis lurus terpendek antara dua titik di ruang.
Jarak Euclidean memiliki rumus sebagai berikut : \[ \ d_{ij} = \sqrt{(x_i-x_j)^t(x_i-x_j)}\]
Contoh implementasi : - di sistem rekomendasi berbasis pengguna kita menganggap tiap pengguna sebagai vektor preferensi (misal rating film) -Ilmu kesehatan Mengukur jarak antar titik pada tubuh (misalnya posisi sensor EKG, jarak antar marker pada penelitian gerak tubuh).
Berikut cara mencari jarak euclidean di software R :
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.4.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
#Random Sampling
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
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 Manhattan merupakan jumlah dari selisih nilai absolut koordinat-koordinatnya. Jarak ini mengukur total pergerakan vertikal dan horizontal yang dibutuhkan untuk berpindah dari satu titik ke titik lain. Disebut “Manhattan” karena mirip dengan berjalan di jalanan kota Manhattan yang berbentuk petak-petak (grid).
Jarak Manhattan memiliki rumus sebagai berikut :
\[\ {d}_{ij}=\sum_{l=1}^{p} \lvert x_{li}-x_{lj} \rvert\] Contoh implementasi : - Computer Vision (gambar pixel grid) Mengukur jarak antar pixel di grid. Kalau kita hitung kesamaan pola atau jalur, Manhattan lebih natural karena pixel juga tersusun kotak-kotak. - Permainan papan (board games) Di catur atau permainan grid lain, pergerakan pion yang hanya bisa vertikal/horizontal (bukan diagonal) dihitung pakai Manhattan distance.
Berikut cara mencari jarak Manhattan di software R :
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 Chebyshev adalah nilai maksimum dari selisih absolut dari koordinat-koordinat.
Jarak Chebyshev memiliki rumus sebagai berikut : \[\ {d_{ij} = max(\lvert x_{li}-x_{lj} \rvert)}\]
Contoh implementasi : - Waktu tempuh di kota dengan diagonal shortcut Kalau kota punya jalur diagonal (misalnya ada jalan tikus atau lorong yang bisa langsung miring), waktu tempuh efektif jadi dihitung pakai Chebyshev. - - - - Pengawasan CCTV atau kamera sensor Dalam zona deteksi persegi, sering dipakai jarak Chebyshev. Misalnya kamera mendeteksi gerakan dalam radius persegi 5 unit → berarti jarak Chebyshev ≤ 5.
Berikut cara mencari jarak chebyshev di software R :
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 merupakan jarak antara sebuah titik data dengan pusat distribusi sekelompok data. Jarak ini memperhitungkan korelasi antar variabel dalam data dan tidak terpengaruh oleh skala pengukuran.
Jarak Mahalanobis memiliki rumus sebagai berikut : \[d_{ij}=\sqrt{\left(\ {y_i}-\ {y_j}\right)^t\ {S^{-1}}\left(\ {y_i}-\ {y_j}\right)}\]
Contoh implementasi :
Pengenalan wajah (Face Recognition) Sistem kamera sering mengukur “jarak Mahalanobis” antar vektor fitur wajah.
Mahalanobis distance di kesehatan, artinya kita sedang mengukur seberapa jauh kondisi seorang pasien dari “pola normal orang sehat”, dengan mempertimbangkan bahwa indikator medis saling berhubungan.
Berikut cara mencari jarak chebyshev di software R :
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
## Warning: package 'lpSolve' was built under R version 4.4.2
## Loading required package: dplyr
## Warning: package 'dplyr' was built under R version 4.4.3
##
## 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)
Vektor rata-rata merupakan vektor yang setiap elemennya merupakan nilai rata-rata dari elemen yang bersesuaian pada sekumpulan vektor.
Berikut adalah data yang akan dipakai :
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 adalah sebuah matriks tunggal yang merepresentasikan rata-rata dari sekumpulan matriks dengan syarat matriks tersebut harus memiliki dimensi yang sama.
Berikut cara mencari matriks rata-rata di software R :
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 yang merangkum arah hubungan linear antara setiap pasangan variabel dalam suatu dataset. Secara sederhana, matriks ini menunjukkan bagaimana setiap variabel bervariasi dengan dirinya sendiri (varians) dan bagaimana setiap variabel bervariasi dengan variabel lainnya (kovarians).
Berikut cara mencari matriks kovarians di software R :
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 persegi yang menunjukkan kekuatan dan arah hubungan linear antara setiap pasangan variabel dalam suatu dataset. Matriks ini merupakan versi terstandarisasi dari matriks kovarians sehingga nilainya lebih mudah diinterpretasikan.
Berikut cara mencari matriks korelasi di software R :
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 sebuah matriks data di mana setiap kolomnya telah distandarisasi sehingga rata-ratanya 0 dan simpangan bakunya 1.Tujuannya adalah untuk membuat semua variabel dalam dataset berada pada skala yang sama sehingga tidak ada variabel yang mendominasi hanya karena memiliki skala nilai yang lebih besar.
Berikut cara mengstandarisasi matriks di software R :
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