Analisis ini dibuat untuk memenuhi tugas mata kuliah Analisis Multivariat, dengan melakukan pengolahan data Concrete Compressive Strenght untuk melihat hubungan antar variabel melalui matriks korelasi, matriks varians-kovarians, serta eigen values dan eigen vector.
library(readxl)
library(knitr)
Kode berikut digunakan untuk membaca data dari file excel ke dalam R
data_ccs <- read_excel("Concrete_Data.xls")
data_ccs
## # A tibble: 1,030 × 9
## Cement (component 1)(kg in a …¹ 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
## 7 380 95 0
## 8 380 95 0
## 9 266 114 0
## 10 475 0 0
## # ℹ 1,020 more rows
## # ℹ 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>, …
Data yang digunakan adalah data Concrete Compressive Strength yang berkaitan dengan kekuatan tekan beton. Dataset ini terdiri dari 1030 data dan 9 variabel. Kekuatan tekan beton dipengaruhi oleh komposisi bahan penyusun dan umur beton.Variabel yang digunakan meliputi bahan beton (cement, slag, fly ash, water, superplasticizer, coarse aggregate, dan fine aggregate), umur beton (age), serta kekuatan tekan beton (MPa).
Variabel bahan dan umur berperan sebagai input, sedangkan kekuatan tekan beton sebagai output.
data_x <- data_ccs[, !colnames(data_ccs) %in%
"Concrete compressive strength(MPa, megapascals)"]
data_x
## # A tibble: 1,030 × 8
## Cement (component 1)(kg in a …¹ 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
## 7 380 95 0
## 8 380 95 0
## 9 266 114 0
## 10 475 0 0
## # ℹ 1,020 more rows
## # ℹ 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)`
## # ℹ 5 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>, …
Pada analisis ini hanya menggunaka fitur atau input untuk di analisis lebih lanjut.
Matriks korelasi menunjukkan tingkat hubungan antar variabel dengan nilai antara -1 sampai 1. Nilai mendekati 1 atau -1 menunjukkan hubungan yang kuat, sedangkan nilai mendekati 0 menunjukkan hubungan yang lemah.
corr_matrix <- cor(data_x)
kable(round(corr_matrix,3))
| 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) | Water (component 4)(kg in a m^3 mixture) | Superplasticizer (component 5)(kg in a m^3 mixture) | Coarse Aggregate (component 6)(kg in a m^3 mixture) | Fine Aggregate (component 7)(kg in a m^3 mixture) | Age (day) | |
|---|---|---|---|---|---|---|---|---|
| Cement (component 1)(kg in a m^3 mixture) | 1.000 | -0.275 | -0.397 | -0.082 | 0.093 | -0.109 | -0.223 | 0.082 |
| Blast Furnace Slag (component 2)(kg in a m^3 mixture) | -0.275 | 1.000 | -0.324 | 0.107 | 0.043 | -0.284 | -0.282 | -0.044 |
| Fly Ash (component 3)(kg in a m^3 mixture) | -0.397 | -0.324 | 1.000 | -0.257 | 0.377 | -0.010 | 0.079 | -0.154 |
| Water (component 4)(kg in a m^3 mixture) | -0.082 | 0.107 | -0.257 | 1.000 | -0.657 | -0.182 | -0.451 | 0.278 |
| Superplasticizer (component 5)(kg in a m^3 mixture) | 0.093 | 0.043 | 0.377 | -0.657 | 1.000 | -0.266 | 0.223 | -0.193 |
| Coarse Aggregate (component 6)(kg in a m^3 mixture) | -0.109 | -0.284 | -0.010 | -0.182 | -0.266 | 1.000 | -0.179 | -0.003 |
| Fine Aggregate (component 7)(kg in a m^3 mixture) | -0.223 | -0.282 | 0.079 | -0.451 | 0.223 | -0.179 | 1.000 | -0.156 |
| Age (day) | 0.082 | -0.044 | -0.154 | 0.278 | -0.193 | -0.003 | -0.156 | 1.000 |
Berdasarkan hasil korelasi, Fly Ash memiliki korelasi positif sedang dengan Superplasticizer sebesar 0.377, yang menunjukkan bahwa penggunaan fly ash cenderung diikuti dengan peningkatan superplasticizer untuk menjaga kemudahan pengerjaan campuran beton. Water memiliki hubungan negatif kuat dengan superplasticizer sebesar -0.657, yang dimana jika water naik maka superplasticizer cenderung turun karena kedua bahan ini sama-sama berfungsi untuk mengatur tingkat kelecakan beton. Sebagian besar variabel memiliki korelasi lemah hingga sedang, sehingga tidak ada hubungan yang sangat dominan.
Variance–Covariance Matrix digunakan untuk melihat tingkat penyebaran data dan hubungan antar variabel pada komposisi beton.
cov_matrix <- cov(data_x)
kable(round(cov_matrix, 2))
| 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) | Water (component 4)(kg in a m^3 mixture) | Superplasticizer (component 5)(kg in a m^3 mixture) | Coarse Aggregate (component 6)(kg in a m^3 mixture) | Fine Aggregate (component 7)(kg in a m^3 mixture) | Age (day) | |
|---|---|---|---|---|---|---|---|---|
| Cement (component 1)(kg in a m^3 mixture) | 10921.74 | -2481.36 | -2658.35 | -181.99 | 57.91 | -888.61 | -1866.15 | 540.99 |
| Blast Furnace Slag (component 2)(kg in a m^3 mixture) | -2481.36 | 7444.08 | -1786.61 | 197.68 | 22.36 | -1905.21 | -1947.91 | -241.15 |
| Fly Ash (component 3)(kg in a m^3 mixture) | -2658.35 | -1786.61 | 4095.55 | -351.30 | 144.25 | -49.64 | 405.74 | -624.06 |
| Water (component 4)(kg in a m^3 mixture) | -181.99 | 197.68 | -351.30 | 456.06 | -83.87 | -302.72 | -771.57 | 374.50 |
| Superplasticizer (component 5)(kg in a m^3 mixture) | 57.91 | 22.36 | 144.25 | -83.87 | 35.68 | -123.69 | 106.56 | -72.72 |
| Coarse Aggregate (component 6)(kg in a m^3 mixture) | -888.61 | -1905.21 | -49.64 | -302.72 | -123.69 | 6045.66 | -1112.80 | -14.81 |
| Fine Aggregate (component 7)(kg in a m^3 mixture) | -1866.15 | -1947.91 | 405.74 | -771.57 | 106.56 | -1112.80 | 6428.10 | -790.57 |
| Age (day) | 540.99 | -241.15 | -624.06 | 374.50 | -72.72 | -14.81 | -790.57 | 3990.44 |
Berdasarkan Variance–Covariance Matrix, nilai variansi pada diagonal utama menunjukkan tingkat penyebaran masing-masing variabel. Cement memiliki variansi terbesar (10921.74), diikuti oleh Fine Aggregate (6428.10) dan Coarse Aggregate (6045.66), yang menunjukkan variasi penggunaan yang tinggi. Age juga memiliki variasi cukup besar (3990.44), sedangkan Superplasticizer memiliki variansi paling kecil (35.68), menandakan penggunaannya relatif konsisten.
Nilai kovariansi menunjukkan arah hubungan antar variabel. Kovariansi negatif antara Cement dengan Fly Ash (−2658.35) dan Cement dengan Blast Furnace Slag (−2481.36) menandakan adanya kecenderungan substitusi semen dengan material tambahan. Kovariansi negatif antara Water dengan Fine Aggregate (−771.57) dan Water dengan Coarse Aggregate (−302.72) menunjukkan bahwa peningkatan air cenderung diikuti penurunan agregat. Sebaliknya, kovariansi positif antara Cement dengan Age (540.99) dan Water dengan Age (374.50) menunjukkan keterkaitan variasi komposisi material dengan umur beton. Matriks ini memberikan gambaran awal mengenai arah hubungan dan variasi data sebagai dasar analisis lanjutan.
Eigen value menunjukkan seberapa besar variasi data yang dijelaskan oleh masing-masing komponen utama (principal component) yang terbentuk dari Variance–Covariance Matrix. Semakin besar nilai eigen, semakin besar pula informasi atau variasi data yang dibawa oleh komponen tersebut.
eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 12840.97152 9809.73610 7284.34193 4243.67465 3979.16746 1176.42112
## [7] 71.66399 11.33366
Berdasarkan hasil perhitungan, eigen value terbesar adalah 12840.97, diikuti oleh 9809.74 dan 7284.34, yang berarti sebagian besar variasi data terkonsentrasi pada beberapa komponen awal. Sebaliknya, eigen value terkecil seperti 71.66 dan 11.33 menunjukkan bahwa komponen tersebut hanya menjelaskan variasi yang sangat kecil dan kontribusinya terhadap struktur data relatif tidak signifikan.
Eigen vector menunjukkan arah pembentuk komponen utama (principal component), yaitu seberapa besar kontribusi masing-masing variabel dalam membentuk setiap komponen. Nilai eigen vector disebut juga loading, di mana nilai absolut yang besar menandakan variabel tersebut paling berpengaruh pada komponen terkait, sedangkan tanda positif atau negatif hanya menunjukkan arah hubungan, bukan baik atau buruk. Nilai besar (mendekati ±1): variabel sangat berpengaruh pada komponen itu Nilai kecil (mendekati 0): pengaruhnya kecil Tanda (+ / −) menunjukkan arah hubungan: Positif: searah Negatif: berlawanan arah
eigen_result$vector
## [,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