# Import data Titanic
titanic <- read.csv("Titanic-Dataset.csv")
head(titanic)
## 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
Proses import data menunjukkan 6 baris pertama dari dataset Titanic-Dataset.csv menggunakan fungsi head(). Ini menunjukkan bahwa file sudah berhasil dibaca oleh R dan disimpan ke dalam objek bernama titanic. Dataset berisi informasi karakteristik penumpang titanic. Seperti umur, jumlah anggota keluarga yang ikut, dan tarif/harga tiket yang akan digunakan untuk analisis statistik.
# Ambil kolom Age, SibSp, Parch, Fare
data_num <- titanic[, c("Age", "SibSp", "Parch", "Fare")]
# Hapus baris dengan missing value
data_clean <- na.omit(data_num)
summary(data_clean)
## Age SibSp Parch Fare
## Min. : 0.42 Min. :0.0000 Min. :0.0000 Min. : 0.00
## 1st Qu.:20.12 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.: 8.05
## Median :28.00 Median :0.0000 Median :0.0000 Median : 15.74
## Mean :29.70 Mean :0.5126 Mean :0.4314 Mean : 34.69
## 3rd Qu.:38.00 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.: 33.38
## Max. :80.00 Max. :5.0000 Max. :6.0000 Max. :512.33
Setelah memilih kolom Age, SibSp, Parch, dan Fare serta menghapus baris yang mengandung missing value, dihasilkan ringkasan statistik berikut: - Age : memiliki nilai minimum 0.42 dan maksimum 80 tahun, dengan nilai rata-rata 29.70 tahun dan median 28 tahun. Ini menunjukkan bahwa mayoritas penumpang berada di usia dewasa muda - SibSp : memiliki nilai minimum 0 dan maksimum 5, dengan rata-rata 0.51 dan median 0, yang menunjukkan bahwa sebagian besar penumpang bepergian tanpa saudara maupun pasangan - Parch : memiliki nilai minimum 0 dan maksimum 6, dengan rata-rata 0.43 dan median 0, yang menunjukkan bahwa mayoritas penumpang tidak membawa orang tua atau anak - Fare : memiliki nilai miimum 0 dan maksimum 512.33 , dengan rata-rata 34.69 dan median 15.74, yang menunjukkan bahwa distribusi harga tiket sangat bervariasi
# Correlation Matrix
cor_matrix <- cor(data_clean)
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
Correlation Matrix menunjukkan hubungan linier antar variabel Age, SibSp, Parch, dan Fare. - Korelasi antar Age dan SibSp sebesar -0.3082468, menunjukkan hubungan negatif sedang, di mana penumpang yang lebih tua cenderung bepergian dengan lebih sedikit saudara atau pasangan - Korelasi antara Age dan Parch sebesar -0.1891193, menunjukkan hubungan negatif lemah, yang mengindikasikan bahwa penumpang dengan usia lebih muda cenderung bepergian bersama orang tua atau anak - Korelasi antara Age dan Fare sebesar 0.09606669, menunjukkan hubungan positif sangat lemah, sehingga usia penumpang hampir tidak berpengaruh terhadap harga tiket - Korelasi antara SibSp dan Parch 0.3838199, menunjukkan hubungan positif sedang, berarti penumpang yang membawa saudara atau pasangan cenderung membawa orang tua atau anak - Korelasi antara SibSp dan Fare sebesar 0.13832879, serta korelasi antara Parch dan Fare sebesar 0.20511888, keduanya menunjukkan hubungan positif lemah, sehingga jumlah anggota keluarga hanya sedikit berhubungan dengan besarnya harga tiket. Nilai diagonal bernilai 1, menandakan korelasi sempurna tiap variabel dengan dirinya sendiri.
# Variance-Covariance Matrix
cov_matrix <- cov(data_clean)
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
Matriks varians–kovarians menunjukkan sebaran dan hubungan antar variabel. Nilai varians terdapat pada diagonal matriks, di mana Age memiliki varians 211,02, SibSp 0,86, Parch 0,73, dan Fare 2800,41. Varians Fare yang paling besar menunjukkan bahwa harga tiket memiliki penyebaran data paling tinggi dibandingkan variabel lainnya. Nilai kovarians di luar diagonal menunjukkan arah hubungan antar variabel, misalnya kovarians Age dan SibSp sebesar -4,16 serta Age dan Parch sebesar -2,34 yang bernilai negatif, menandakan bahwa usia cenderung berlawanan arah dengan jumlah anggota keluarga. Sementara kovarians positif antara SibSp dan Parch sebesar 0,30 menunjukkan bahwa kedua variabel tersebut cenderung meningkat bersama.
# Eigen value dan eigen vector
eigen_result <- eigen(cov_matrix)
# Eigen value
eigen_result$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
# Eigen vector
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
Nilai eigen yang diperoleh adalah 2802,56, 209,04, 0,94, dan 0,48. Eigen value menunjukkan besarnya variasi data yang dijelaskan oleh masing-masing komponen utama. Eigen value terbesar yaitu 2802,56 menunjukkan bahwa komponen utama pertama menjelaskan variasi data paling besar dan didominasi oleh variabel dengan varians tinggi, yaitu Fare. Eigen value kedua sebesar 209,04 masih menjelaskan variasi yang cukup besar dan berkaitan dengan variabel Age. Sementara itu, dua eigen value terakhir yang sangat kecil (0,94 dan 0,48) menunjukkan bahwa kontribusi variasi dari komponen tersebut sangat rendah dan dapat diabaikan.
Eigen vector menunjukkan kontribusi masing-masing variabel terhadap setiap komponen utama. Pada komponen utama pertama, nilai eigen vector terbesar terdapat pada variabel Fare dengan bobot 0,9996, yang menunjukkan bahwa komponen ini hampir sepenuhnya dipengaruhi oleh harga tiket. Komponen utama kedua didominasi oleh variabel Age dengan bobot 0,9993, yang berarti variasi usia penumpang menjadi faktor utama pada komponen tersebut. Komponen ketiga dan keempat menunjukkan kombinasi antara SibSp dan Parch, yang mengindikasikan bahwa hubungan jumlah saudara/pasangan dan orang tua/anak membentuk variasi tambahan yang relatif kecil.