Deskripsi Tugas

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.

1. import dataset ke R

Dataset Titanic dibaca ke dalam R menggunakan fungsi read.csv() dan disimpan sebagai data frame untuk analisis.

df <- read.csv("Titanic-Dataset.csv")

2. Pemilihan Variabel dan Pembersihan Data

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

3. Correlation Matrix

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.

4. Variance-Covariance Matrix

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.

5. Eigen value dan eigen vector

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.