titanic_data <- read.csv("Titanic-Dataset.csv")
head(titanic_data)
##   PassengerId Survived Pclass
## 1           1        0      3
## 2           2        1      1
## 3           3        1      3
## 4           4        1      1
## 5           5        0      3
## 6           6        0      3
##                                                  Name    Sex Age SibSp Parch
## 1                             Braund, Mr. Owen Harris   male  22     1     0
## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female  38     1     0
## 3                              Heikkinen, Miss. Laina female  26     0     0
## 4        Futrelle, Mrs. Jacques Heath (Lily May Peel) female  35     1     0
## 5                            Allen, Mr. William Henry   male  35     0     0
## 6                                    Moran, Mr. James   male  NA     0     0
##             Ticket    Fare Cabin Embarked
## 1        A/5 21171  7.2500              S
## 2         PC 17599 71.2833   C85        C
## 3 STON/O2. 3101282  7.9250              S
## 4           113803 53.1000  C123        S
## 5           373450  8.0500              S
## 6           330877  8.4583              Q
clean_data <- titanic_data[, c("Age", "SibSp", "Parch", "Fare")]
clean_data <- na.omit(clean_data)
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
# a) Correlation Matrix
cor_matrix <- cor(clean_data)
print("Correlation Matrix")
## [1] "Correlation Matrix"
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
cov_matrix <- cov(clean_data)
print("Variance Covariance Matrix")
## [1] "Variance Covariance Matrix"
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 value dan Eigen vector berdasarkan Covariance Matrix
eigen_result <- eigen(cov_matrix)
print("Eigenvalues")
## [1] "Eigenvalues"
print(eigen_result$values)
## [1] 2802.5636587  209.0385659    0.9438783    0.4787214
print("Eigenvectors")
## [1] "Eigenvectors"
print(eigen_result$vectors)
##             [,1]        [,2]         [,3]          [,4]
## [1,] 0.028477552  0.99929943 -0.024018111  0.0035788596
## [2,] 0.002386349 -0.02093144 -0.773693322  0.6332099362
## [3,] 0.003280818 -0.01253786 -0.633088089 -0.7739712590
## [4,] 0.999586200 -0.02837826  0.004609234  0.0009266652

#d penjelasan output Matriks Korelasi (Correlation Matrix) Matriks ini menunjukkan hubungan linear antara dua variabel dengan rentang nilai antara -1 hingga 1 Nilai 1: Korelasi positif sempurna Nilai -1: Korelasi negatif sempurna Nilai 0: Tidak ada hubungan linear data Titanic memiliki korelasi negatif antara Fare (tarif) dan Pclass (kelas). Ini relevan karena semakin kecil angka kelas (Kelas 1), semakin tinggi harga tiketnya. Survived juga biasanya berkorelasi negatif dengan Pclass (penumpang kelas 1 memiliki peluang selamat lebih tinggi)

Matriks Varian-Kovarians (Variance-Covariance Matrix) Matriks ini menunjukkan sejauh mana dua variabel berubah bersama-sama. Diagonal Utama: nilai Varian dari masing-masing variabel misalnya, varian dari Age, varian dari Fare. Ini menunjukkan sebaran data terhadap rata-ratanya

Elemen Luar Diagonal itu Kovarians antara dua variabel. Jika positif, kedua variabel cenderung meningkat bersama. Jika negatif, satu variabel meningkat sementara yang lain menurun

Perbedaan dengan Korelasi adalah dimana Kovarians masih dipengaruhi oleh skala/satuan misalnya, nilai kovarians Fare akan sangat besar karena angka tarif tiket bisa mencapai ratusan, sedangkan Survived hanya 0 dan 1

Nilai Eigen (Eigen Values) Dalam analisis data seperti Principal Component Analysis punya nilai eigen mewakili besarnya varians yang dijelaskan oleh setiap komponen utama Principal Component

Nilai eigen yang besar menunjukkan bahwa komponen tersebut menyimpan informasi keragaman data yang signifikan. Jika menjumlahkan semua nilai eigen, jumlahnya akan sama dengan jumlah variabel jika menggunakan matriks korelasi adalah 6

Vektor Eigen (Eigen Vectors) Vektor eigen menentukan arah dari komponen utama dalam ruang multidimensi. Setiap kolom dalam output eigen_result$vectors berkorespondensi dengan satu nilai eigen

Angka dalam vektor eigen disebut juga loadings menunjukkan seberapa besar kontribusi atau beban setiap variabel asli terhadap komponen tersebut. Misalnya, jika nilai untuk Fare sangat tinggi pada vektor pertama, berarti Fare adalah pembeda utama dalam struktur data tersebut