Analisis multivariat merupakan salah satu metode statistik yang digunakan untuk menganalisis data dengan banyak variabel secara bersamaan. Metode ini bertujuan untuk memahami hubungan antar variabel serta pola yang terdapat dalam suatu dataset. Dengan menggunakan analisis multivariat, informasi yang terkandung dalam data dapat dianalisis secara lebih mendalam sehingga dapat membantu dalam pengambilan keputusan.
Dataset yang digunakan dalam penelitian ini adalah Concrete Compressive Strength yang terdiri dari beberapa variabel numerik yang berhubungan dengan komposisi beton dan umur beton.
# Aktifkan library
library(readxl)
# Baca data
data <- read_excel("Concrete_Data.xls")
# Lihat data
head(data)
## # A tibble: 6 Ă— 9
## Cement (component 1)(kg in a m…¹ Blast Furnace Slag (…² Fly Ash (component 3…³
## <dbl> <dbl> <dbl>
## 1 540 0 0
## 2 540 0 0
## 3 332. 142. 0
## 4 332. 142. 0
## 5 199. 132. 0
## 6 266 114 0
## # ℹ abbreviated names: ¹​`Cement (component 1)(kg in a m^3 mixture)`,
## # ²​`Blast Furnace Slag (component 2)(kg in a m^3 mixture)`,
## # ³​`Fly Ash (component 3)(kg in a m^3 mixture)`
## # ℹ 6 more variables: `Water (component 4)(kg in a m^3 mixture)` <dbl>,
## # `Superplasticizer (component 5)(kg in a m^3 mixture)` <dbl>,
## # `Coarse Aggregate (component 6)(kg in a m^3 mixture)` <dbl>,
## # `Fine Aggregate (component 7)(kg in a m^3 mixture)` <dbl>, …
Pada tahap ini, variabel target yaitu Concrete Compressive Strength dihapus dari dataset. Data yang digunakan untuk analisis selanjutnya adalah data tanpa kolom target.
# Hapus kolom target (kolom terakhir)
data_fitur <- data[, -ncol(data)]
# Cek nama kolom
colnames(data_fitur)
## [1] "Cement (component 1)(kg in a m^3 mixture)"
## [2] "Blast Furnace Slag (component 2)(kg in a m^3 mixture)"
## [3] "Fly Ash (component 3)(kg in a m^3 mixture)"
## [4] "Water (component 4)(kg in a m^3 mixture)"
## [5] "Superplasticizer (component 5)(kg in a m^3 mixture)"
## [6] "Coarse Aggregate (component 6)(kg in a m^3 mixture)"
## [7] "Fine Aggregate (component 7)(kg in a m^3 mixture)"
## [8] "Age (day)"
Correlation matrix digunakan untuk melihat hubungan linear antar variabel dalam dataset.
# Hitung matriks korelasi
cor_matrix <- cor(data_fitur)
# Tampilkan hasil
cor_matrix
## Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 1.00000000
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.27519344
## Fly Ash (component 3)(kg in a m^3 mixture) -0.39747544
## Water (component 4)(kg in a m^3 mixture) -0.08154361
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.09277137
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.10935604
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.22272017
## Age (day) 0.08194726
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.27519344
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 1.00000000
## Fly Ash (component 3)(kg in a m^3 mixture) -0.32356947
## Water (component 4)(kg in a m^3 mixture) 0.10728594
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.04337574
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.28399823
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.28159326
## Age (day) -0.04424580
## Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.397475440
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.323569468
## Fly Ash (component 3)(kg in a m^3 mixture) 1.000000000
## Water (component 4)(kg in a m^3 mixture) -0.257043997
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.377339559
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.009976788
## Fine Aggregate (component 7)(kg in a m^3 mixture) 0.079076351
## Age (day) -0.154370165
## Water (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.08154361
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.10728594
## Fly Ash (component 3)(kg in a m^3 mixture) -0.25704400
## Water (component 4)(kg in a m^3 mixture) 1.00000000
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.65746444
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.18231167
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.45063498
## Age (day) 0.27760443
## Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 0.09277137
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.04337574
## Fly Ash (component 3)(kg in a m^3 mixture) 0.37733956
## Water (component 4)(kg in a m^3 mixture) -0.65746444
## Superplasticizer (component 5)(kg in a m^3 mixture) 1.00000000
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.26630276
## Fine Aggregate (component 7)(kg in a m^3 mixture) 0.22250149
## Age (day) -0.19271652
## Coarse Aggregate (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.109356039
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.283998230
## Fly Ash (component 3)(kg in a m^3 mixture) -0.009976788
## Water (component 4)(kg in a m^3 mixture) -0.182311668
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.266302755
## Coarse Aggregate (component 6)(kg in a m^3 mixture) 1.000000000
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.178505755
## Age (day) -0.003015507
## Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.22272017
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.28159326
## Fly Ash (component 3)(kg in a m^3 mixture) 0.07907635
## Water (component 4)(kg in a m^3 mixture) -0.45063498
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.22250149
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.17850575
## Fine Aggregate (component 7)(kg in a m^3 mixture) 1.00000000
## Age (day) -0.15609405
## Age (day)
## Cement (component 1)(kg in a m^3 mixture) 0.081947264
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.044245801
## Fly Ash (component 3)(kg in a m^3 mixture) -0.154370165
## Water (component 4)(kg in a m^3 mixture) 0.277604429
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.192716518
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.003015507
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.156094049
## Age (day) 1.000000000
library(corrplot)
## corrplot 0.95 loaded
# Membuat palet warna
colour <- colorRampPalette(c(
"#ffe5e5",
"#f5b5b5",
"#e57373",
"#d32f2f",
"#7f0000"
))
# Visualisasi correlation matrix
corrplot(cor_matrix,
method = "color",
type = "upper",
col = colour(200),
tl.col = "black",
tl.cex = 0.3,
title = "Visualisasi Matriks Korelasi",
mar = c(0, 0, 2, 0))
Correlation matrix menunjukkan hubungan linear antar variabel, baik
positif maupun negatif. Nilai yang mendekati ±1 menandakan hubungan yang
kuat, sedangkan nilai mendekati 0 menunjukkan hubungan yang lemah.
Sebagian besar variabel memiliki hubungan yang lemah hingga sedang. Hubungan negatif yang cukup kuat terlihat antara Water dan Superplasticizer (-0.657), yang menunjukkan bahwa semakin banyak air digunakan, penggunaan superplasticizer cenderung menurun. Selain itu, beberapa hubungan seperti Cement dengan Fly Ash (-0.397) juga menunjukkan korelasi negatif sedang. Secara umum, tidak banyak variabel yang memiliki korelasi sangat kuat, sehingga hubungan antar variabel dalam data ini relatif moderat.
Covariance matrix digunakan untuk melihat hubungan variasi antar variabel dalam satuan aslinya.
# Hitung matriks kovarians
cov_matrix <- cov(data_fitur)
# Tampilkan hasil
cov_matrix
## Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 10921.74265
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -2481.35943
## Fly Ash (component 3)(kg in a m^3 mixture) -2658.35075
## Water (component 4)(kg in a m^3 mixture) -181.98979
## Superplasticizer (component 5)(kg in a m^3 mixture) 57.91462
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -888.60851
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1866.15111
## Age (day) 540.99182
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -2481.35943
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 7444.08373
## Fly Ash (component 3)(kg in a m^3 mixture) -1786.60759
## Water (component 4)(kg in a m^3 mixture) 197.67855
## Superplasticizer (component 5)(kg in a m^3 mixture) 22.35531
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -1905.21057
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1947.91126
## Age (day) -241.15038
## Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -2658.3508
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1786.6076
## Fly Ash (component 3)(kg in a m^3 mixture) 4095.5481
## Water (component 4)(kg in a m^3 mixture) -351.2971
## Superplasticizer (component 5)(kg in a m^3 mixture) 144.2503
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -49.6442
## Fine Aggregate (component 7)(kg in a m^3 mixture) 405.7364
## Age (day) -624.0647
## Water (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -181.98979
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 197.67855
## Fly Ash (component 3)(kg in a m^3 mixture) -351.29712
## Water (component 4)(kg in a m^3 mixture) 456.06024
## Superplasticizer (component 5)(kg in a m^3 mixture) -83.87096
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -302.72431
## Fine Aggregate (component 7)(kg in a m^3 mixture) -771.57347
## Age (day) 374.49650
## Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 57.91462
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 22.35531
## Fly Ash (component 3)(kg in a m^3 mixture) 144.25026
## Water (component 4)(kg in a m^3 mixture) -83.87096
## Superplasticizer (component 5)(kg in a m^3 mixture) 35.68260
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -123.68745
## Fine Aggregate (component 7)(kg in a m^3 mixture) 106.56203
## Age (day) -72.72060
## Coarse Aggregate (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -888.60851
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1905.21057
## Fly Ash (component 3)(kg in a m^3 mixture) -49.64420
## Water (component 4)(kg in a m^3 mixture) -302.72431
## Superplasticizer (component 5)(kg in a m^3 mixture) -123.68745
## Coarse Aggregate (component 6)(kg in a m^3 mixture) 6045.65623
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1112.79516
## Age (day) -14.81127
## Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -1866.1511
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1947.9113
## Fly Ash (component 3)(kg in a m^3 mixture) 405.7364
## Water (component 4)(kg in a m^3 mixture) -771.5735
## Superplasticizer (component 5)(kg in a m^3 mixture) 106.5620
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -1112.7952
## Fine Aggregate (component 7)(kg in a m^3 mixture) 6428.0992
## Age (day) -790.5656
## Age (day)
## Cement (component 1)(kg in a m^3 mixture) 540.99182
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -241.15038
## Fly Ash (component 3)(kg in a m^3 mixture) -624.06475
## Water (component 4)(kg in a m^3 mixture) 374.49650
## Superplasticizer (component 5)(kg in a m^3 mixture) -72.72060
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -14.81127
## Fine Aggregate (component 7)(kg in a m^3 mixture) -790.56558
## Age (day) 3990.43773
# Aktifkan library
library(corrplot)
# Palet warna
color <- colorRampPalette(c(
"#ffe5e5",
"#ff9999",
"#ff4d4d",
"#e60000",
"#800000"
))
# Visualisasi variance-covariance matrix
corrplot(cov_matrix,
method = "color",
type = "upper",
col = color(200),
tl.col = "black",
tl.cex = 0.3,
is.corr = FALSE,
title = "Visualisasi Variance-Covariance Matrix",
mar = c(0, 0, 2, 0))
Variance–covariance matrix menunjukkan bahwa variabel Cement memiliki
varians paling besar (10921.74), sehingga kontribusinya terhadap variasi
data paling dominan. Beberapa pasangan variabel memiliki kovarians
negatif, seperti Cement dengan Fly Ash dan Water dengan Fine Aggregate,
yang menandakan hubungan berlawanan arah. Secara umum, nilai kovarians
menunjukkan bahwa terdapat hubungan variasi antar komposisi material
dalam campuran beton.
Eigenvalue dan eigenvector dihitung dari covariance matrix untuk melihat komponen utama yang menjelaskan variasi data.
# Hitung eigen dari covariance matrix
eigen_result <- eigen(cov_matrix)
# Eigenvalue
eigen_values <- eigen_result$values
eigen_values
## [1] 12840.97152 9809.73610 7284.34193 4243.67465 3979.16746 1176.42112
## [7] 71.66399 11.33366
# Eigenvector
eigen_vectors <- eigen_result$vectors
eigen_vectors
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.905642491 -0.032638607 0.15480715 -0.008242651 0.15137736 -0.3065154
## [2,] -0.262539831 -0.786053324 0.07291600 -0.199058277 0.10670802 -0.4534540
## [3,] -0.238615941 0.303014979 -0.05149092 0.687223886 0.17758357 -0.5123562
## [4,] 0.005566835 -0.076263559 -0.04145565 0.075552203 -0.09842420 0.4824817
## [5,] -0.001306160 0.005093971 0.02406543 0.020513644 0.02293166 -0.1044518
## [6,] -0.009104736 0.274574303 -0.76069849 -0.480046914 0.07636126 -0.2707187
## [7,] -0.210131322 0.450692923 0.61077597 -0.485145472 -0.13283562 -0.2571290
## [8,] 0.098367597 -0.069853972 -0.11857274 0.126850611 -0.94893247 -0.2341287
## [,7] [,8]
## [1,] -0.1943806101 -0.007910220
## [2,] -0.2261845864 -0.009246849
## [3,] -0.2867754410 0.005607725
## [4,] -0.8246302637 -0.253446680
## [5,] 0.2332324978 -0.965991173
## [6,] -0.1859495571 -0.041496031
## [7,] -0.2445950510 -0.026831816
## [8,] 0.0003334611 0.002108410
Dari hasil eigenvalue, komponen pertama memiliki nilai paling besar (12840.97), sehingga komponen ini menjelaskan variasi data paling dominan dibandingkan komponen lainnya. Nilai eigen berikutnya menurun secara bertahap, yang menunjukkan bahwa sebagian besar variasi data dapat dijelaskan oleh beberapa komponen utama pertama. Eigenvector menunjukkan bahwa variabel seperti Cement memiliki kontribusi besar pada komponen utama pertama, sehingga variabel tersebut menjadi faktor penting dalam struktur variasi data.