Nama : Frendy Zahril Ramadhani

NIM : 24031554187

Kelas : 2024 C

1. Import Data & Preprocessing

# 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

2. Perhitungan Matriks

a) Correlation Matrix

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

b) Variance-Covariance Matrix

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

c) Eigen Values dan Vectors

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

3. Penjelasan Hasil

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.