1 Pendahuluan

Analisis multivariat digunakan untuk menganalisis beberapa variabel secara bersamaan guna memahami hubungan antar variabel dan menyederhanakan data yang kompleks. Pada tugas ini digunakan dataset Concrete Compressive Strength dari UCI Repository yang berisi komponen penyusun beton. Analisis dilakukan melalui matriks korelasi, matriks varians-kovarians, serta dekomposisi eigen untuk melihat struktur variasi data dan mengidentifikasi komponen utama yang paling berpengaruh.

2. Import dan Eksplorasi Data

Tujuan import dan eksplorasi data adalah untuk memastikan data berhasil dimuat ke dalam R serta memahami karakteristik dasarnya, seperti struktur, distribusi nilai, kualitas data, dan potensi outlier, sebelum dilakukan analisis lebih lanjut.

2.1 Load Library

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(ggplot2)
library(reshape2)
## 
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(knitr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows

2.2 Import Dataset

dataset <- read_xls("Concrete_Data.xls")

str(dataset)
## tibble [1,030 × 9] (S3: tbl_df/tbl/data.frame)
##  $ Cement (component 1)(kg in a m^3 mixture)            : num [1:1030] 540 540 332 332 199 ...
##  $ Blast Furnace Slag (component 2)(kg in a m^3 mixture): num [1:1030] 0 0 142 142 132 ...
##  $ Fly Ash (component 3)(kg in a m^3 mixture)           : num [1:1030] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Water  (component 4)(kg in a m^3 mixture)            : num [1:1030] 162 162 228 228 192 228 228 228 228 228 ...
##  $ Superplasticizer (component 5)(kg in a m^3 mixture)  : num [1:1030] 2.5 2.5 0 0 0 0 0 0 0 0 ...
##  $ Coarse Aggregate  (component 6)(kg in a m^3 mixture) : num [1:1030] 1040 1055 932 932 978 ...
##  $ Fine Aggregate (component 7)(kg in a m^3 mixture)    : num [1:1030] 676 676 594 594 826 ...
##  $ Age (day)                                            : num [1:1030] 28 28 270 365 360 90 365 28 28 28 ...
##  $ Concrete compressive strength(MPa, megapascals)      : num [1:1030] 80 61.9 40.3 41.1 44.3 ...

2.3 Praproses Data

Pada tahap ini dilakukan penghapusan variabel target dan pemilihan variabel numerik agar data sesuai dengan kebutuhan analisis.

data <- dataset %>%
  select(where(is.numeric)) %>%
  select(-`Concrete compressive strength(MPa, megapascals)`) %>%
  na.omit()

str(data)
## tibble [1,030 × 8] (S3: tbl_df/tbl/data.frame)
##  $ Cement (component 1)(kg in a m^3 mixture)            : num [1:1030] 540 540 332 332 199 ...
##  $ Blast Furnace Slag (component 2)(kg in a m^3 mixture): num [1:1030] 0 0 142 142 132 ...
##  $ Fly Ash (component 3)(kg in a m^3 mixture)           : num [1:1030] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Water  (component 4)(kg in a m^3 mixture)            : num [1:1030] 162 162 228 228 192 228 228 228 228 228 ...
##  $ Superplasticizer (component 5)(kg in a m^3 mixture)  : num [1:1030] 2.5 2.5 0 0 0 0 0 0 0 0 ...
##  $ Coarse Aggregate  (component 6)(kg in a m^3 mixture) : num [1:1030] 1040 1055 932 932 978 ...
##  $ Fine Aggregate (component 7)(kg in a m^3 mixture)    : num [1:1030] 676 676 594 594 826 ...
##  $ Age (day)                                            : num [1:1030] 28 28 270 365 360 90 365 28 28 28 ...

2.4 Eksplorasi Data

2.4.1 Preview data

head(data)
## # A tibble: 6 × 8
##   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)`
## # ℹ 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>,
## #   `Fine Aggregate (component 7)(kg in a m^3 mixture)` <dbl>, …
str(data)
## tibble [1,030 × 8] (S3: tbl_df/tbl/data.frame)
##  $ Cement (component 1)(kg in a m^3 mixture)            : num [1:1030] 540 540 332 332 199 ...
##  $ Blast Furnace Slag (component 2)(kg in a m^3 mixture): num [1:1030] 0 0 142 142 132 ...
##  $ Fly Ash (component 3)(kg in a m^3 mixture)           : num [1:1030] 0 0 0 0 0 0 0 0 0 0 ...
##  $ Water  (component 4)(kg in a m^3 mixture)            : num [1:1030] 162 162 228 228 192 228 228 228 228 228 ...
##  $ Superplasticizer (component 5)(kg in a m^3 mixture)  : num [1:1030] 2.5 2.5 0 0 0 0 0 0 0 0 ...
##  $ Coarse Aggregate  (component 6)(kg in a m^3 mixture) : num [1:1030] 1040 1055 932 932 978 ...
##  $ Fine Aggregate (component 7)(kg in a m^3 mixture)    : num [1:1030] 676 676 594 594 826 ...
##  $ Age (day)                                            : num [1:1030] 28 28 270 365 360 90 365 28 28 28 ...

Berdasarkan hasil eksplorasi awal menggunakan fungsi head() dan str(), dataset yang digunakan terdiri dari 1.030 observasi dan 8 variabel. Seluruh variabel dalam dataset ini bertipe numerik, sehingga memenuhi syarat untuk dilakukan analisis statistik lanjutan.

2.4.2 Statistik Deskriptif

summary(data)
##  Cement (component 1)(kg in a m^3 mixture)
##  Min.   :102.0                            
##  1st Qu.:192.4                            
##  Median :272.9                            
##  Mean   :281.2                            
##  3rd Qu.:350.0                            
##  Max.   :540.0                            
##  Blast Furnace Slag (component 2)(kg in a m^3 mixture)
##  Min.   :  0.0                                        
##  1st Qu.:  0.0                                        
##  Median : 22.0                                        
##  Mean   : 73.9                                        
##  3rd Qu.:142.9                                        
##  Max.   :359.4                                        
##  Fly Ash (component 3)(kg in a m^3 mixture)
##  Min.   :  0.00                            
##  1st Qu.:  0.00                            
##  Median :  0.00                            
##  Mean   : 54.19                            
##  3rd Qu.:118.27                            
##  Max.   :200.10                            
##  Water  (component 4)(kg in a m^3 mixture)
##  Min.   :121.8                            
##  1st Qu.:164.9                            
##  Median :185.0                            
##  Mean   :181.6                            
##  3rd Qu.:192.0                            
##  Max.   :247.0                            
##  Superplasticizer (component 5)(kg in a m^3 mixture)
##  Min.   : 0.000                                     
##  1st Qu.: 0.000                                     
##  Median : 6.350                                     
##  Mean   : 6.203                                     
##  3rd Qu.:10.160                                     
##  Max.   :32.200                                     
##  Coarse Aggregate  (component 6)(kg in a m^3 mixture)
##  Min.   : 801.0                                      
##  1st Qu.: 932.0                                      
##  Median : 968.0                                      
##  Mean   : 972.9                                      
##  3rd Qu.:1029.4                                      
##  Max.   :1145.0                                      
##  Fine Aggregate (component 7)(kg in a m^3 mixture)   Age (day)     
##  Min.   :594.0                                     Min.   :  1.00  
##  1st Qu.:731.0                                     1st Qu.:  7.00  
##  Median :779.5                                     Median : 28.00  
##  Mean   :773.6                                     Mean   : 45.66  
##  3rd Qu.:824.0                                     3rd Qu.: 56.00  
##  Max.   :992.6                                     Max.   :365.00

2.4.3 Cek Missing Value

colSums(is.na(data))
##             Cement (component 1)(kg in a m^3 mixture) 
##                                                     0 
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 
##                                                     0 
##            Fly Ash (component 3)(kg in a m^3 mixture) 
##                                                     0 
##             Water  (component 4)(kg in a m^3 mixture) 
##                                                     0 
##   Superplasticizer (component 5)(kg in a m^3 mixture) 
##                                                     0 
##  Coarse Aggregate  (component 6)(kg in a m^3 mixture) 
##                                                     0 
##     Fine Aggregate (component 7)(kg in a m^3 mixture) 
##                                                     0 
##                                             Age (day) 
##                                                     0

Hasil pengecekan menunjukkan bahwa dataset tidak memiliki missing value.

3. Correlation Matrix

Analisis matriks korelasi bertujuan untuk mengetahui hubungan linier antar variabel numerik dalam dataset. Korelasi ini penting untuk melihat tingkat keterkaitan antar variabel sebelum dilakukan analisis multivariat lebih lanjut.

cor_matrix <- cor(data)
round(cor_matrix, 3)
##                                                       Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                 1.000
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                    -0.275
## Fly Ash (component 3)(kg in a m^3 mixture)                                               -0.397
## Water  (component 4)(kg in a m^3 mixture)                                                -0.082
## Superplasticizer (component 5)(kg in a m^3 mixture)                                       0.093
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                     -0.109
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                        -0.223
## Age (day)                                                                                 0.082
##                                                       Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                            -0.275
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                                 1.000
## Fly Ash (component 3)(kg in a m^3 mixture)                                                           -0.324
## Water  (component 4)(kg in a m^3 mixture)                                                             0.107
## Superplasticizer (component 5)(kg in a m^3 mixture)                                                   0.043
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                                 -0.284
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                    -0.282
## Age (day)                                                                                            -0.044
##                                                       Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                 -0.397
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                     -0.324
## Fly Ash (component 3)(kg in a m^3 mixture)                                                 1.000
## Water  (component 4)(kg in a m^3 mixture)                                                 -0.257
## Superplasticizer (component 5)(kg in a m^3 mixture)                                        0.377
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                      -0.010
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                          0.079
## Age (day)                                                                                 -0.154
##                                                       Water  (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                -0.082
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                     0.107
## Fly Ash (component 3)(kg in a m^3 mixture)                                               -0.257
## Water  (component 4)(kg in a m^3 mixture)                                                 1.000
## Superplasticizer (component 5)(kg in a m^3 mixture)                                      -0.657
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                     -0.182
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                        -0.451
## Age (day)                                                                                 0.278
##                                                       Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                           0.093
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                               0.043
## Fly Ash (component 3)(kg in a m^3 mixture)                                                          0.377
## Water  (component 4)(kg in a m^3 mixture)                                                          -0.657
## Superplasticizer (component 5)(kg in a m^3 mixture)                                                 1.000
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                               -0.266
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                   0.223
## Age (day)                                                                                          -0.193
##                                                       Coarse Aggregate  (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                           -0.109
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                               -0.284
## Fly Ash (component 3)(kg in a m^3 mixture)                                                          -0.010
## Water  (component 4)(kg in a m^3 mixture)                                                           -0.182
## Superplasticizer (component 5)(kg in a m^3 mixture)                                                 -0.266
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                                 1.000
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                   -0.179
## Age (day)                                                                                           -0.003
##                                                       Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                        -0.223
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                            -0.282
## Fly Ash (component 3)(kg in a m^3 mixture)                                                        0.079
## Water  (component 4)(kg in a m^3 mixture)                                                        -0.451
## Superplasticizer (component 5)(kg in a m^3 mixture)                                               0.223
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                             -0.179
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                 1.000
## Age (day)                                                                                        -0.156
##                                                       Age (day)
## Cement (component 1)(kg in a m^3 mixture)                 0.082
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)    -0.044
## Fly Ash (component 3)(kg in a m^3 mixture)               -0.154
## Water  (component 4)(kg in a m^3 mixture)                 0.278
## Superplasticizer (component 5)(kg in a m^3 mixture)      -0.193
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)     -0.003
## Fine Aggregate (component 7)(kg in a m^3 mixture)        -0.156
## Age (day)                                                 1.000

Visualisasi Correlation Matrix

# Mengubah correlation matrix ke format long
cor_long <- melt(cor_matrix)

# Visualisasi heatmap korelasi
ggplot(cor_long, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile() +
  scale_fill_gradient2(
    low = "blue",
    mid = "white",
    high = "red",
    midpoint = 0
  ) +
  labs(
    title = "Heatmap Correlation Matrix",
    x = "Variabel",
    y = "Variabel",
    fill = "Korelasi"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interprestasi Correlation Matrix

Korelasi merupakan ukuran statistik yang menunjukkan kekuatan dan arah hubungan linier antara dua variabel, dengan nilai berkisar antara −1 hingga +1. Nilai mendekati +1 menunjukkan hubungan positif yang kuat, mendekati −1 menunjukkan hubungan negatif yang kuat, sedangkan nilai mendekati 0 menandakan hubungan yang lemah atau tidak signifikan.

Berdasarkan heatmap korelasi, sebagian besar variabel pada dataset memiliki korelasi lemah hingga sedang, yang ditunjukkan oleh warna yang tidak terlalu ekstrem. Korelasi negatif paling kuat terlihat antara Water dan Superplasticizer, yang menunjukkan bahwa semakin banyak superplasticizer digunakan, jumlah air dalam campuran cenderung berkurang. Hal ini sesuai dengan fungsi superplasticizer dalam meningkatkan kelecakan beton tanpa menambah air.

Selain itu, Cement memiliki korelasi negatif dengan Fly Ash dan Blast Furnace Slag, yang mengindikasikan adanya hubungan substitusi antar bahan pengikat dalam campuran beton. Variabel Age (day) menunjukkan korelasi yang relatif lemah dengan sebagian besar komponen, sehingga umur beton tidak memiliki hubungan linier yang kuat terhadap komposisi bahan.

Secara keseluruhan, hasil ini menunjukkan bahwa tidak terdapat korelasi yang sangat kuat antar variabel, sehingga risiko multikolinearitas rendah dan data layak digunakan untuk analisis multivariat selanjutnya.

4. Variance-Covariance Matrix

Matriks varians-kovarians digunakan untuk melihat besar varians masing-masing variabel serta hubungan kovarians antar variabel dalam satuan asli data.

cov_matrix <- cov(data)
round(cov_matrix, 3)
##                                                       Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                             10921.743
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                 -2481.359
## Fly Ash (component 3)(kg in a m^3 mixture)                                            -2658.351
## Water  (component 4)(kg in a m^3 mixture)                                              -181.990
## Superplasticizer (component 5)(kg in a m^3 mixture)                                      57.915
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                   -888.609
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                     -1866.151
## Age (day)                                                                               540.992
##                                                       Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                         -2481.359
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                              7444.084
## Fly Ash (component 3)(kg in a m^3 mixture)                                                        -1786.608
## Water  (component 4)(kg in a m^3 mixture)                                                           197.679
## Superplasticizer (component 5)(kg in a m^3 mixture)                                                  22.355
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                              -1905.211
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                 -1947.911
## Age (day)                                                                                          -241.150
##                                                       Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                              -2658.351
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                  -1786.608
## Fly Ash (component 3)(kg in a m^3 mixture)                                              4095.548
## Water  (component 4)(kg in a m^3 mixture)                                               -351.297
## Superplasticizer (component 5)(kg in a m^3 mixture)                                      144.250
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                     -49.644
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                        405.736
## Age (day)                                                                               -624.065
##                                                       Water  (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                              -181.990
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                   197.679
## Fly Ash (component 3)(kg in a m^3 mixture)                                             -351.297
## Water  (component 4)(kg in a m^3 mixture)                                               456.060
## Superplasticizer (component 5)(kg in a m^3 mixture)                                     -83.871
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                   -302.724
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                      -771.573
## Age (day)                                                                               374.497
##                                                       Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                          57.915
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                              22.355
## Fly Ash (component 3)(kg in a m^3 mixture)                                                        144.250
## Water  (component 4)(kg in a m^3 mixture)                                                         -83.871
## Superplasticizer (component 5)(kg in a m^3 mixture)                                                35.683
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                             -123.687
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                 106.562
## Age (day)                                                                                         -72.721
##                                                       Coarse Aggregate  (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                         -888.609
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                            -1905.211
## Fly Ash (component 3)(kg in a m^3 mixture)                                                         -49.644
## Water  (component 4)(kg in a m^3 mixture)                                                         -302.724
## Superplasticizer (component 5)(kg in a m^3 mixture)                                               -123.687
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                              6045.656
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                                -1112.795
## Age (day)                                                                                          -14.811
##                                                       Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture)                                                     -1866.151
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)                                         -1947.911
## Fly Ash (component 3)(kg in a m^3 mixture)                                                      405.736
## Water  (component 4)(kg in a m^3 mixture)                                                      -771.573
## Superplasticizer (component 5)(kg in a m^3 mixture)                                             106.562
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)                                          -1112.795
## Fine Aggregate (component 7)(kg in a m^3 mixture)                                              6428.099
## Age (day)                                                                                      -790.566
##                                                       Age (day)
## Cement (component 1)(kg in a m^3 mixture)               540.992
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)  -241.150
## Fly Ash (component 3)(kg in a m^3 mixture)             -624.065
## Water  (component 4)(kg in a m^3 mixture)               374.497
## Superplasticizer (component 5)(kg in a m^3 mixture)     -72.721
## Coarse Aggregate  (component 6)(kg in a m^3 mixture)    -14.811
## Fine Aggregate (component 7)(kg in a m^3 mixture)      -790.566
## Age (day)                                              3990.438

Visualisasi Variance-Covariance Matrix

cov_long <- melt(cov_matrix)

ggplot(cov_long, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile() +
  scale_fill_gradient2(
    low = "blue",
    mid = "white",
    high = "red",
    midpoint = 0
  ) +
  labs(
    title = "Heatmap Variance-Covariance Matrix",
    x = "Variabel",
    y = "Variabel",
    fill = "Covariance"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interprestasi Variance-Covariance Matrix

Variance-covariance menunjukkan seberapa besar penyebaran tiap variabel (varians) dan bagaimana hubungan arah pergerakan antar dua variabel (kovarians). Berbeda dengan korelasi yang nilainya antara −1 sampai +1, nilai kovarians dipengaruhi oleh satuan masing-masing variabel.

Dari heatmap terlihat bahwa nilai pada bagian diagonal paling besar karena menunjukkan varians tiap variabel. Beberapa variabel seperti Cement, Blast Furnace Slag, dan Coarse Aggregate memiliki penyebaran data yang cukup besar.

Beberapa pasangan variabel memiliki kovarians positif, artinya jika satu variabel meningkat maka variabel lain cenderung ikut meningkat. Ada juga kovarians negatif, seperti antara Cement dengan Fly Ash dan Blast Furnace Slag, yang menunjukkan bahwa ketika penggunaan semen meningkat, penggunaan bahan tersebut cenderung menurun.

Namun karena setiap variabel memiliki satuan berbeda (kg dan hari), besar kecilnya nilai kovarians sangat dipengaruhi skala data.Oleh karena itu, untuk analisis lanjutan biasanya digunakan matriks korelasi agar hasilnya lebih mudah dibandingkan.

Karena variabel dalam dataset memiliki satuan yang berbeda (kilogram dan hari), secara teoritis analisis PCA lebih stabil jika menggunakan matriks korelasi agar setiap variabel memiliki kontribusi yang sebanding. Namun pada analisis ini digunakan matriks varians-kovarians untuk memperoleh eigenvalue dan eigenvector sesuai dengan pendekatan perhitungan langsung terhadap variasi asli data.

5. Eigen Value dan Eigen Vector

Eigen value dan eigen vector didapat dari pemecahan matriks kovarians.Eigen value menunjukkan seberapa besar variasi yang dijelaskan oleh tiap komponen, sedangkan eigen vector menunjukkan seberapa besar kontribusi tiap variabel dalam membentuk komponen tersebut.

5.1 Eigen Value

# Menghitung eigen dari covariance matrix
cov_matrix <- cov(data)
eigen_hasil <- eigen(cov_matrix)
# Menghitung proporsi dan kumulatif
prop_var <- eigen_hasil$values / sum(eigen_hasil$values)
cumsum_var <- cumsum(prop_var)

# Membuat tabel ringkasan
eigen_table <- data.frame(
  PC = paste0("PC", 1:length(eigen_hasil$values)),
  Eigenvalue = eigen_hasil$values,
  Proportion = prop_var * 100,
  Cumulative = cumsum_var * 100
)

# Menampilkan tabel
eigen_table %>%
  kable(caption = "Eigenvalue Summary",
        digits = 4,
        col.names = c("PC", "Eigenvalue", "Proporsi (%)", "Kumulatif (%)")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE,
                position = "center")
Eigenvalue Summary
PC Eigenvalue Proporsi (%) Kumulatif (%)
PC1 12840.9715 32.5770 32.5770
PC2 9809.7361 24.8869 57.4639
PC3 7284.3419 18.4801 75.9439
PC4 4243.6747 10.7660 86.7099
PC5 3979.1675 10.0950 96.8049
PC6 1176.4211 2.9845 99.7894
PC7 71.6640 0.1818 99.9712
PC8 11.3337 0.0288 100.0000

Visualisasi Eigen Value (Scree Plot)

ggplot(eigen_table, aes(x = PC, y = Eigenvalue, group = 1)) +
  geom_line(color = "blue", linewidth = 1.2) +
  geom_point(color = "red", size = 3) +
  theme_minimal() +
  labs(
    title = "Scree Plot",
    subtitle = "Eigenvalue dari Variance-Covariance Matrix",
    x = "Principal Component",
    y = "Eigenvalue"
  ) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 15),
    plot.subtitle = element_text(hjust = 0.5, size = 11),
    axis.text.x = element_text(face = "bold"),
    axis.title = element_text(face = "bold")
  )

Interprestasi Eigen Value

Berdasarkan scree plot dan tabel eigenvalue, terlihat bahwa nilai eigenvalue terbesar terdapat pada PC1, kemudian menurun cukup tajam hingga PC3, dan setelah itu penurunannya mulai melandai. PC1 mampu menjelaskan 32,57% variasi data, PC2 sebesar 24,89%, dan PC3 sebesar 18,48%, sehingga tiga komponen pertama secara kumulatif sudah menjelaskan sekitar 75,94% variasi total data.

Ketika ditambahkan PC4, variasi yang dapat dijelaskan meningkat menjadi 86,71%, dan hingga PC5 mencapai 96,80%. Sementara itu, PC6, PC7, dan PC8 hanya memberikan tambahan variasi yang sangat kecil (kurang dari 3% secara individu), sehingga kontribusinya relatif tidak signifikan. Hal ini menunjukkan bahwa sebagian besar informasi dalam data sudah dapat diwakili oleh sekitar 3–4 komponen utama saja, sehingga reduksi dimensi dapat dilakukan tanpa kehilangan banyak informasi penting.

5.2 Eigen Vector

# Eigen vector (yang benar pakai $vectors)
eigen_vectors <- eigen_hasil$vectors

# Memberi nama PC dan variabel
colnames(eigen_vectors) <- paste0("PC", 1:ncol(eigen_vectors))
rownames(eigen_vectors) <- colnames(data)

# Mengubah ke data frame
loading_matrix <- as.data.frame(eigen_vectors)

loading_matrix %>%
  kable(caption = "Eigenvector",
        digits = 4) %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE,
                position = "center")
Eigenvector
PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8
Cement (component 1)(kg in a m^3 mixture) 0.9056 -0.0326 0.1548 -0.0082 0.1514 -0.3065 -0.1944 -0.0079
Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.2625 -0.7861 0.0729 -0.1991 0.1067 -0.4535 -0.2262 -0.0092
Fly Ash (component 3)(kg in a m^3 mixture) -0.2386 0.3030 -0.0515 0.6872 0.1776 -0.5124 -0.2868 0.0056
Water (component 4)(kg in a m^3 mixture) 0.0056 -0.0763 -0.0415 0.0756 -0.0984 0.4825 -0.8246 -0.2534
Superplasticizer (component 5)(kg in a m^3 mixture) -0.0013 0.0051 0.0241 0.0205 0.0229 -0.1045 0.2332 -0.9660
Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.0091 0.2746 -0.7607 -0.4800 0.0764 -0.2707 -0.1859 -0.0415
Fine Aggregate (component 7)(kg in a m^3 mixture) -0.2101 0.4507 0.6108 -0.4851 -0.1328 -0.2571 -0.2446 -0.0268
Age (day) 0.0984 -0.0699 -0.1186 0.1269 -0.9489 -0.2341 0.0003 0.0021

Interprestasi Eigen Vector

Eigenvector menunjukkan seberapa besar pengaruh masing-masing variabel dalam membentuk setiap komponen utama (principal component). Semakin besar nilai suatu variabel (baik positif maupun negatif), maka semakin besar perannya dalam komponen tersebut.

Pada PC1, variabel dengan nilai absolut loading terbesar adalah Cement, sehingga komponen pertama terutama menggambarkan variasi jumlah semen dalam campuran beton. Artinya, perubahan pada PC1 sangat dipengaruhi oleh banyaknya semen yang digunakan. Pada PC2, variabel yang paling dominan adalah Blast Furnace Slag, sehingga komponen ini berkaitan dengan variasi bahan pengganti semen. Selanjutnya, PC3 banyak dipengaruhi oleh Coarse Aggregate dan Fine Aggregate, sehingga komponen ini mencerminkan variasi agregat (batu dan pasir).

Pada PC4, yang paling berpengaruh adalah Fly Ash, sehingga komponen ini mewakili penggunaan fly ash dalam campuran. PC5 hampir sepenuhnya dipengaruhi oleh Age (umur beton), sehingga komponen ini terutama menggambarkan perbedaan umur beton. Sementara itu, PC6 dan PC7 cukup dipengaruhi oleh Water, dan PC8 sangat didominasi oleh Superplasticizer.

Secara keseluruhan, setiap komponen utama menangkap variasi dari kelompok bahan tertentu dalam beton. Dengan demikian, PCA membantu menyederhanakan banyak variabel menjadi beberapa komponen yang lebih ringkas dan mudah dipahami, tanpa kehilangan informasi utama dari data.

6. Kesimpulan

Berdasarkan hasil analisis, matriks korelasi menunjukkan bahwa sebagian besar variabel memiliki hubungan lemah hingga sedang, sehingga tidak terdapat multikolinearitas yang sangat kuat. Matriks varians-kovarians memperlihatkan besar penyebaran tiap variabel serta arah hubungan antar variabel dalam satuan aslinya.

Hasil dekomposisi eigen menunjukkan bahwa sebagian besar variasi data dapat dijelaskan oleh beberapa komponen utama saja. Tiga komponen pertama sudah mampu menjelaskan sekitar 75% variasi total data, dan hingga lima komponen menjelaskan lebih dari 96%. Hal ini menunjukkan bahwa reduksi dimensi dapat dilakukan tanpa kehilangan banyak informasi penting.

Secara keseluruhan, analisis ini berhasil menyederhanakan struktur data campuran beton menjadi beberapa komponen utama yang mewakili kelompok bahan tertentu, sehingga data menjadi lebih ringkas dan mudah dipahami untuk analisis lanjutan.