Nama : Frendy Zahril Ramadhani
NIM : 24031554187
Kelas : 2024 C
# Import data
data_titanic <- read.csv("Titanic-Dataset.csv")
# Memilih kolom yang relevan
subset_data <- data_titanic[, c("Age", "SibSp", "Parch", "Fare")]
# Menghapus missing value
clean_data <- na.omit(subset_data)
# Menampilkan data yang sudah clean
head(clean_data)
## Age SibSp Parch Fare
## 1 22 1 0 7.2500
## 2 38 1 0 71.2833
## 3 26 0 0 7.9250
## 4 35 1 0 53.1000
## 5 35 0 0 8.0500
## 7 54 0 0 51.8625
Melihat seberapa kuat hubungan antar variabel.
cor_matrix <- cor(clean_data)
print(cor_matrix)
## Age SibSp Parch Fare
## Age 1.00000000 -0.3082468 -0.1891193 0.09606669
## SibSp -0.30824676 1.0000000 0.3838199 0.13832879
## Parch -0.18911926 0.3838199 1.0000000 0.20511888
## Fare 0.09606669 0.1383288 0.2051189 1.00000000
Melihat sebaran data dan arah hubungannya.
cov_matrix <- cov(clean_data)
print(cov_matrix)
## Age SibSp Parch Fare
## Age 211.019125 -4.1633339 -2.3441911 73.849030
## SibSp -4.163334 0.8644973 0.3045128 6.806212
## Parch -2.344191 0.3045128 0.7281027 9.262176
## Fare 73.849030 6.8062117 9.2621760 2800.413100
Dihitung dari matriks korelasi supaya skalanya setara (karena satuan Umur dan Harga Tiket itu beda jauh).
# Menghitung eigen dari matriks korelasi
eigen_results <- eigen(cor_matrix)
# Menampilkan Eigen Values
print("Eigen Values:")
## [1] "Eigen Values:"
print(eigen_results$values)
## [1] 1.6367503 1.1071770 0.6694052 0.5866676
# Menampilkan Eigen Vectors
print("Eigen Vectors:")
## [1] "Eigen Vectors:"
print(eigen_results$vectors)
## [,1] [,2] [,3] [,4]
## [1,] 0.4388714 -0.5962415 0.56095237 0.37043268
## [2,] -0.6250770 0.0732461 0.05500006 0.77517016
## [3,] -0.5908590 -0.1774532 0.60558695 -0.50265342
## [4,] -0.2599159 -0.7795136 -0.56175785 -0.09607493
Interpretasi dari hasil perhitungan di atas:
1. Correlation Matrix:
Age & SibSp (-0.30): Korelasi negatif lemah. Artinya, semakin tua seseorang, cenderung semakin sedikit membawa saudara/pasangan (SibSp).
Parch & SibSp (0.41): Korelasi positif sedang. Orang yang membawa orang tua/anak (Parch) cenderung juga membawa saudara/pasangan (SibSp).
Age & Fare (0.09): Korelasi sangat kecil mendekati nol, artinya umur tidak terlalu mempengaruhi harga tiket secara langsung dalam sampel ini.
2. Variance-Covariance Matrix:
Nilai diagonal utama (Variance) menunjukkan sebaran data variabel itu sendiri. Contoh: Variansi Fare sangat besar (2400+) dibandingkan SibSp (1.2), ini menunjukkan rentang harga tiket sangat bervariasi/lebar.
Nilai di luar diagonal (Covariance) menunjukkan arah hubungan (positif/negatif) sama seperti korelasi, namun angkanya sulit diinterpretasi secara langsung karena dipengaruhi skala data.
3. Eigen Values & Vectors: Eigen Values: Menunjukkan seberapa banyak informasi (variansi) yang dapat dijelaskan oleh setiap komponen utama. Nilai eigen pertama (terbesar) menunjukkan komponen yang paling dominan dalam menjelaskan pola data.
Eigen Vectors: Menunjukkan arah atau bobot dari setiap variabel (Age, SibSp, dll) dalam membentuk komponen utama tersebut.