Matriks adalah susunan angka-angka atau objek di dalam suatu tempat yang berbentuk kotak atau persegi yang dibagi ke dalam baris dan kolom. Misalkan terdiri dari n baris dan p kolom, maka matriks tersebut berukuran (ordo) n × p. Contohnya:
\[ A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \]
Operasi Matriks adalah berbagai cara untuk memanipulasi dan mengolah matriks menggunakan aturan-aturan matematika yang telah ditetapkan. Operasi ini fundamental dalam aljabar linear dan memiliki aplikasi luas dalam sains, teknik, dan analisis data.
Sebelumnya kita akan menginput data yang akan digunakan dalam operasi matriks ini
# input data #
X = matrix(c(6.4, 8.3, 7.8,
5.5, 7.1, 6.6,
8.2, 6.8, 9.3), nrow = 3, ncol = 3); X
## [,1] [,2] [,3]
## [1,] 6.4 5.5 8.2
## [2,] 8.3 7.1 6.8
## [3,] 7.8 6.6 9.3
Matriks X adalah matriks dengan ordo 3x3 yang terdiri dari 3 baris dan 3 kolom.
Pada syntax tersebut nrow melambangkan berapa baris yang diinginkan.
Begitu juga dengan ncol, syntax ini melambangkan berapa kolom yang
digunakan.
Dalam R kita bisa secara default matriks yang kita
buat akan turun ke bawah terlebih dahulu yang berarti kita akan
memasukkan elemen berdasarkan kolom. Jika kita ingin memasukkan baris
terlebih dahulu maka gunakan syntax byrow =TRUE.
Y = matrix(c(7.2, 6.9, 8.4,
8.8, 7.5, 6.2,
9.3, 8.1, 7.3), nrow = 3, ncol = 3, byrow = TRUE); Y
## [,1] [,2] [,3]
## [1,] 7.2 6.9 8.4
## [2,] 8.8 7.5 6.2
## [3,] 9.3 8.1 7.3
Matriks Y adalah matriks dengan ordo 3x3 yang disusun berdasarkan barisnya terlebih dahulu.
Karena sudah berhasil menginput data dalam matriks, selanjutnya kita akan melakukan operasi-operasi matriks yang ada. Operasi matriks antara lain adalah sebagai berikut:
Penjumlahan matriks adalah operasi menjumlahkan dua matriks atau lebih dengan ordo yang sama. Hasilnya adalah matriks baru yang setiap elemennya merupakan hasil penjumlahan elemen-elemen yang bersesuaian.
X + Y
## [,1] [,2] [,3]
## [1,] 13.6 12.4 16.6
## [2,] 17.1 14.6 13.0
## [3,] 17.1 14.7 16.6
Pengurangan matriks adalah operasi mengurangkan dua matriks dengan ordo yang sama. Hasilnya adalah matriks baru yang setiap elemennya merupakan hasil pengurangan elemen-elemen yang bersesuaian.
X - Y
## [,1] [,2] [,3]
## [1,] -0.8 -1.4 -0.2
## [2,] -0.5 -0.4 0.6
## [3,] -1.5 -1.5 2.0
Y - X
## [,1] [,2] [,3]
## [1,] 0.8 1.4 0.2
## [2,] 0.5 0.4 -0.6
## [3,] 1.5 1.5 -2.0
Perkalian matriks adalah operasi biner yang menghasilkan sebuah matriks dari dua matriks tertentu. Operasi ini memiliki aturan khusus yang membedakannya dari perkalian biasa. Secara umum, perkalian matriks dalam R terbagi menjadi tiga:
X %*% Y
## [,1] [,2] [,3]
## [1,] 170.74 151.83 147.72
## [2,] 185.48 165.60 163.38
## [3,] 200.73 178.65 174.33
Y %*% X
## [,1] [,2] [,3]
## [1,] 168.87 144.03 184.08
## [2,] 166.93 142.57 180.82
## [3,] 183.69 156.84 199.23
Misalkan ada matriks X dan Y, jika ingin mengalikan elemen X1 dengan Y1 maka hanya mengunakaan * saja.
X*Y
## [,1] [,2] [,3]
## [1,] 46.08 37.95 68.88
## [2,] 73.04 53.25 42.16
## [3,] 72.54 53.46 67.89
2*Y
## [,1] [,2] [,3]
## [1,] 14.4 13.8 16.8
## [2,] 17.6 15.0 12.4
## [3,] 18.6 16.2 14.6
Matriks transpose adalah matriks yang diperoleh dengan menukar baris menjadi kolom dan kolom menjadi baris dari matriks asalnya. Transpose dari matriks A dilambangkan dengan AT atau A′.
transX = t(X); transX
## [,1] [,2] [,3]
## [1,] 6.4 8.3 7.8
## [2,] 5.5 7.1 6.6
## [3,] 8.2 6.8 9.3
transY = t(Y); transY
## [,1] [,2] [,3]
## [1,] 7.2 8.8 9.3
## [2,] 6.9 7.5 8.1
## [3,] 8.4 6.2 7.3
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}\] di mana \(\boldsymbol{I}\) adalah matriks identitas.
inv_X = solve(X); inv_X
## [,1] [,2] [,3]
## [1,] -8.8679245 -1.2452830 8.72955975
## [2,] 10.1257862 1.8616352 -10.28930818
## [3,] 0.2515723 -0.2767296 0.08805031
inv_Y = solve(Y); inv_Y
## [,1] [,2] [,3]
## [1,] 68.63636 267.72727 -306.3636
## [2,] -99.69697 -387.27273 443.6364
## [3,] 23.18182 88.63636 -101.8182
Determinan adalah nilai skalar yang dihitung dari elemen-elemen matriks persegi. 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] -2.385
det(Y)
## [1] 0.066
Dalam syntax ini kita akan menggunakan matriks A.
A <- matrix(22:40, nrow=4, ncol=5) ; A
## Warning in matrix(22:40, nrow = 4, ncol = 5): data length [19] is not a
## sub-multiple or multiple of the number of rows [4]
## [,1] [,2] [,3] [,4] [,5]
## [1,] 22 26 30 34 38
## [2,] 23 27 31 35 39
## [3,] 24 28 32 36 40
## [4,] 25 29 33 37 22
Pemanggilan entri matriks di R dapat dilakukan sebagai berikut:
A[,2] # Kolom 2
## [1] 26 27 28 29
A[3,] # Baris 3
## [1] 24 28 32 36 40
A[3,2] # Sel(3, 2)
## [1] 28
A[c(1,3),2] # Sel(1,2) dan sel(3,2) baris ke-3 kolom ke-2
## [1] 26 28
A[,1:3] # kolom(1,2,3)
## [,1] [,2] [,3]
## [1,] 22 26 30
## [2,] 23 27 31
## [3,] 24 28 32
## [4,] 25 29 33
A[2:4,] # baris(2,3,4)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 23 27 31 35 39
## [2,] 24 28 32 36 40
## [3,] 25 29 33 37 22
Eigen Value menunjukkan jumlah variasi (informasi) yang dapat dijelaskan oleh satu komponen. Sedangkan Eigen Vector menunjukkan jumlah variasi (informasi) yang dijelaskan dari satu atau beberapa komponen lainnya.
Eigen Value dan eigen vector ini sangat berguna dalam analisis data multivariat misalnya dalam Principal Komponen Analysis, Factor Analysis, dll.
eigX = eigen(X); eigX
## eigen() decomposition
## $values
## [1] 22.0466812 0.8767113 -0.1233924
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.5289689 0.3865758 -0.67680470
## [2,] -0.5769001 -0.8650298 0.73474878
## [3,] -0.6223971 0.3198164 0.04560297
eigY = eigen(Y); eigY
## eigen() decomposition
## $values
## [1] 23.19642756 -1.19404468 -0.00238288
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.5615780 -0.7698605 0.5590396
## [2,] -0.5566509 0.5567667 -0.8083205
## [3,] -0.6121846 0.3119706 0.1846422
eigvalX = eigX$values; eigvalX
## [1] 22.0466812 0.8767113 -0.1233924
eigvalY = eigY$values; eigvalY
## [1] 23.19642756 -1.19404468 -0.00238288
eigvecX = eigX$vectors; eigvecX
## [,1] [,2] [,3]
## [1,] -0.5289689 0.3865758 -0.67680470
## [2,] -0.5769001 -0.8650298 0.73474878
## [3,] -0.6223971 0.3198164 0.04560297
eigvecY = eigY$vectors; eigvecY
## [,1] [,2] [,3]
## [1,] -0.5615780 -0.7698605 0.5590396
## [2,] -0.5566509 0.5567667 -0.8083205
## [3,] -0.6121846 0.3119706 0.1846422
SVD memecah sebuah matriks \(\boldsymbol{A}_{m \times n}\) menjadi tiga matriks, yaitu matriks U dan matriks V diagonal. SVD digunakan untuk memisahkan komponen yang tidak dibutuhkan saat reduksi dimensi.
Buat Matriks a terlebih dahulu yaitu: \[ \boldsymbol{a} = \begin{bmatrix} 4 & -2 & 7 \\ 3 & -5 & 9 \\ -3 & 4 & -2 \\ 6 & 4 & 8 \end{bmatrix} \]
a <- matrix(c(4,-2,7,3,-5,9,-3,4,-2,6,4,8), 4, 3, byrow=TRUE)
a
## [,1] [,2] [,3]
## [1,] 4 -2 7
## [2,] 3 -5 9
## [3,] -3 4 -2
## [4,] 6 4 8
svd_result <- svd(a)
singular_value <- svd_result$d ; singular_value
## [1] 16.329522 7.482465 2.521789
U <- svd_result$u ; U
## [,1] [,2] [,3]
## [1,] -0.5074216 -0.07636667 0.05092612
## [2,] -0.6143283 -0.47732563 -0.50302178
## [3,] 0.2362133 0.41251870 -0.84995330
## [4,] -0.5561721 0.77211184 0.14817219
V <- svd_result$v ; V
## [,1] [,2] [,3]
## [1,] -0.4849097 0.22154082 0.8460392
## [2,] 0.1718757 0.97265857 -0.1561859
## [3,] -0.8575088 0.06967757 -0.5097291
Matriks Jarak adalah matriks persegi yang berisi informasi tentang jarak pasangan antara setiap pasangan elemen dalam suatu himpunan. Nilai pada baris i dan kolom j menunjukkan jarak dari elemen ke-i ke elemen ke-j.
Sebelum masuk ke matriks jarak, kita akan membuat terlebih dahulu dataset yang akan digunakan.
Dalam contoh ini kita akan menggunakan syntax untuk melakukan random sampling.
library(factoextra) # Menggunakan library untuk visualisasi konsep jarak
set.seed(321) #salah satu metode untuk random sampling, angkanya bisa diubah sesuai keinginan
ss <- sample(1:50, 15) # ambil 15 data secara acak dari 1-50 observasi
df <- USArrests[ss, ]
df.scaled <- scale(df); df.scaled #standarisasi dilakukan jika satuan data frame berbeda-beda
## 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 jarak terpendek antara dua titik dalam ruang Euclidean, yang dihitung menggunakan teorema Pythagoras yang diperluas ke dimensi yang lebih tinggi. Ini adalah ukuran jarak yang paling umum dan intuitif (“seperti burung terbang” atau “garis lurus”).
\[\boldsymbol{d} = \sqrt{(q_1 - p_1)^2 + (q_2 - p_2)^2 +...+(q_n - p_n)^2}\] Contoh aplikasi: Mengukur kemiripan antara dua gambar dalam sistem pengenalan wajah serta menghitung jarak terpendek antara dua titik dalam navigasi drone.
dist.eucl <- dist(df.scaled, method = "euclidean"); dist.eucl #misal ada 2 titik a dan b, ini buat ngitung jarak antara 2 titik tsb
## 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 ukuran jarak antara dua titik dalam ruang multidimensi yang didefinisikan sebagai nilai maksimum dari selisih absolut koordinat-koordinat mereka.
\[\boldsymbol{d = max(|q_1-p_1|, |q_2-p_2|,..., |q_n-p_n|)}\]
Contoh aplikasi: Menentukan pergerakan minimal dalam permainan strategi berbasis grid serta mengoptimalkan pergerakan robot dalam lingkungan industri.
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 (Manhattan distance) adalah ukuran jarak antara dua titik dalam ruang multidimensi yang dihitung sebagai jumlah dari nilai absolut selisih koordinat-koordinat mereka. \[\boldsymbol{d}_{ij}=\sum_{l=1}^{p} \lvert x_{li}-x_{lj} \rvert\]
Contoh aplikasi: Menghitung jarak tempuh kendaraan emergency (ambulans/pemadam kebakaran) dalam sistem navigasi perkotaan berbasis grid serta menganalisis pola pergerakan logistik dalam gudang otomatis dengan sistem rak berbasis koordinat.
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 (Mahalanobis distance) adalah ukuran jarak antara sebuah titik dan suatu distribusi (dataset), yang memperhitungkan korelasi antara variabel-variabel dan skala masing-masing variabel.
Berbeda dengan jarak Euclidean yang menganggap semua dimensi independen dan berskala sama, jarak Mahalanobis mengukur jarak dalam satuan standar deviasi sepanjang sumbu principal dari distribusi.
\[d_{ij}=\sqrt{\left(\boldsymbol{y_i}-\boldsymbol{y_j}\right)^t\boldsymbol{S^{-1}}\left(\boldsymbol{y_i}-\boldsymbol{y_j}\right)}\]
Contoh aplikasi: Mendeteksi transaksi mencurigakan dalam sistem perbankan serta mengidentifikasi anomaly dalam kontrol kualitas manufacturing.
library(StatMatch)
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
Vektor Rata-rata adalah vektor yang berisi nilai rata-rata dari setiap variabel dalam suatu dataset multidimensi. Ini merupakan generalisasi dari konsep rata-rata tunggal ke dalam ruang vektor.
Sebelum masuk ke vektor rata-rata kita buat dulu dataset yang akan digunakan dalam contoh.
# 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 adalah matriks yang berisi nilai rata-rata (mean) dari setiap variabel dalam suatu dataset multidimensi, yang diatur dalam bentuk matriks. Ini merupakan representasi matriks dari vektor 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 yang menggambarkan variabilitas dan hubungan linear antara setiap pasangan variabel dalam suatu dataset multidimensi. Ini merupakan generalisasi dari konsep varians ke dalam ruang vektor.
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 matriks yang menggambarkan kekuatan dan arah hubungan linear antara setiap pasangan variabel dalam suatu dataset. Ini merupakan versi standarisasi dari matriks kovarians.
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 hasil transformasi dari data asli dimana setiap variabel memiliki mean = 0 dan standar deviasi = 1. Proses ini juga dikenal sebagai normalisasi Z-score.
n = nrow(lizard);n
## [1] 10
u = matrix(1,n,1); u #baris, n=banyaknya baris, kolom jadi ordonya 1x1
## [,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 #cbind = collumn bind
## 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