Tugas ini menggunakan R, dengan mengimpor dataset Titanic dari kaggle, menggunakan kolom (Age, SibSp, Parch, dan Fare), serta menghapus row dengan missing value. Perhitungan yang dilakukan yaitu Correlation Matrix, Variance-Covariance Matrix, Eigen value dan eigen vector. Kemudian menjelaskan hasil dari setiap output. Hasil analisis diunggah pada RPubs.
Dataset Titanic dibaca ke dalam R menggunakan fungsi read.csv() dan disimpan sebagai data frame untuk analisis.
df <- read.csv("Titanic-Dataset.csv")
Analisis menggunakan variabel Age, SibSp, Parch, dan Fare. Menghapus row dengan missing value.
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
df_clean <- df %>%
dplyr::select( Age, SibSp, Parch, Fare) %>%
na.omit()
str(df_clean)
## 'data.frame': 714 obs. of 4 variables:
## $ Age : num 22 38 26 35 35 54 2 27 14 4 ...
## $ SibSp: int 1 1 0 1 0 0 3 0 1 1 ...
## $ Parch: int 0 0 0 0 0 0 1 2 0 1 ...
## $ Fare : num 7.25 71.28 7.92 53.1 8.05 ...
## - attr(*, "na.action")= 'omit' Named int [1:177] 6 18 20 27 29 30 32 33 37 43 ...
## ..- attr(*, "names")= chr [1:177] "6" "18" "20" "27" ...
head(df_clean)
## 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
Matriks korelasi digunakan untuk melihat hubungan linier antar variabel dengan nilai antara -1 hingga 1. Nilai mendekati 1 = hubungan positif kuat Nilai mendekati -1 = hubungan negatif kuat Nilai mendekati 0 = hubungan lemah atau tidak ada hubungan
cor_matrix <- cor(df_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
Penjelasan Output: Berdasarkan nilai korelasi, Age–SibSp (−0.308) dan Age–Parch (−0.189) menunjukkan hubungan negatif, sehingga penumpang yang lebih tua cenderung membawa lebih sedikit anggota keluarga, sedangkan Age–Fare (0.096) menunjukkan usia hampir tidak berpengaruh terhadap harga tiket. Korelasi SibSp–Parch (0.384) bersifat positif sedang, menandakan keterkaitan jumlah anggota keluarga. Sementara itu, SibSp–Fare (0.138) dan Parch–Fare (0.205) menunjukkan hubungan positif lemah, sehingga penumpang yang bepergian dengan keluarga cenderung membayar tiket sedikit lebih mahal, namun pengaruhnya kecil.
Matriks varians–kovarians menunjukkan tingkat penyebaran data dan hubungan perubahan antar variabel.
cov_matrix <- cov(df_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
Penjelasan Output: Berdasarkan matriks varians–kovarians, Age memiliki varians 211.019 yang menunjukkan sebaran usia cukup besar, sedangkan SibSp (0.864) dan Parch (0.728) memiliki variasi kecil. Fare memiliki varians tertinggi (2800.413), menandakan perbedaan harga tiket yang sangat besar. Kovarians Age–SibSp (−4.163) dan Age–Parch (−2.344) bernilai negatif, sehingga penumpang yang lebih tua cenderung membawa lebih sedikit anggota keluarga, sementara Age–Fare (73.849) bernilai positif namun lemah. Selain itu, kovarians SibSp–Parch (0.305) menunjukkan hubungan searah antar anggota keluarga, sedangkan SibSp–Fare (6.806) dan Parch–Fare (9.262) bernilai positif lemah, yang mengindikasikan bahwa bepergian dengan keluarga cenderung meningkatkan harga tiket secara ringan.
Eigen value menunjukkan besarnya variasi data yang dijelaskan pada setiap komponen utama, sedangkan eigen vector menunjukkan kontribusi variabel terhadap komponen.
eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
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
Penjelasan Output: a.)Eigen values menunjukkan seberapa besar variasi data yang dijelaskan oleh tiap komponen utama. Pada data ini, eigen value pertama (2802.56) dan kedua (209.04) jauh lebih besar dibandingkan yang lain, sehingga sebagian besar informasi data terkonsentrasi pada dua komponen tersebut. b.)Eigen vectors menunjukkan variabel yang paling berkontribusi pada tiap komponen. Komponen pertama didominasi oleh Fare, sedangkan komponen kedua didominasi oleh Age. Variabel SibSp dan Parch berkontribusi lebih kecil karena terkait dengan komponen yang memiliki eigen value rendah.