Import Data

Titanic.Dataset <- read.csv("~/Titanic/Titanic-Dataset.csv")
head(Titanic.Dataset)
##   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

Data Cleaning

data_selected <- Titanic.Dataset[, c("Age", "SibSp", "Parch", "Fare")]
colSums(is.na(data_selected))
##   Age SibSp Parch  Fare 
##   177     0     0     0
data_clean <- na.omit(data_selected)
colSums(is.na(data_clean))
##   Age SibSp Parch  Fare 
##     0     0     0     0
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

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
  • Hubungan Age & SibSp nilai korelasi -0.308 yang menunjukkan hubungan negatif sedang, dimana semakin muda penumpang biasanya membawa saudara/pasangan.

  • Hubungan Age & Parch nilai korelasi -0.189 yang menunjukkan hubungan negatif lemah, dimana semakin muda penumpang maka cenderung membawa orangtua/anak.

  • Hubungan Age & Fare nilai korelasi 0.096 yang menunjukkan hubungan positif sangat lemah, dimana usia hampir tidak mempengaruhi harga tiket.

  • Hubungan SibSp & Parch nilai korelasi 0.384 yang menunjukkan hubungan positif sedang, dimana seorang penumpang yang membawa saudara/pasangan, biasanya membawa orangtua/anak-nya juga.

  • Hubungan SibSp & Fare nilai korelasi 0.138 yang menunjukkan hubungan positif lemah, dimana semakin banyak jumlah saudara/pasangan cenderung membayar tiket lebih mahal.

  • Hubungan Parch & Fare nilai hubungan 0.205 yang menunjukkan hubungan positif lemah, dimana semakin banyak anggota keluarga cenderung membeli tiket sedikit lebih mahal.

Kesimpulannya adalah tidak terdapat hubungan yang sangat kuat antar variabelnya. Hubungan yang paling kuat hanya dimiliki oleh SibSp dengan Parch yaitu dengan korelasi sebesar 0.384 yang menunjukkan hubungan positif sedang serta variable Fare tidak terlalu berkorelasi kuat dengan variabel yang lain.

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
  • Hubungan Age & SibSp nilai kovarians -4.163 yang menunjukkan hubungan negatif, dimana semakin muda penumpang biasanya membawa saudara/pasangan.

  • Hubungan Age & Parch nilai kovarians -2.344 yang menunjukkan hubungan negatif, dimana semakin muda penumpang maka cenderung membawa orangtua/anak.

  • Hubungan Age & Fare nilai kovarians 73.849 yang menunjukkan hubungan positif, dimana semakin tua cenderung membayar tiket sedikit lebih mahal.

  • Hubungan SibSp & Parch nilai kovarians 0.304 yang menunjukkan hubungan positif, dimana seorang penumpang yang membawa saudara/pasangan, biasanya membawa orangtua/anak-nya juga.

  • Hubungan SibSp & Fare nilai kovarians 6.806 yang menunjukkan hubungan positif, dimana semakin banyak jumlah saudara/pasangan cenderung membayar tiket lebih mahal.

  • Hubungan Parch & Fare nilai kovarians 9.262 yang menunjukkan hubungan positif, dimana semakin banyak anggota keluarga cenderung membeli tiket sedikit lebih mahal.

Kesimpulannya adalah variabel Fare memiliki variansi terbesar di antara variabel lainnya yaitu sebesar 2800.41 yang menunjukkan bahwa harga tiket sangat bervariasi. Variabel Age memiliki variasi sebesar 211.02, sedangkan variabel Parch dan SibSp memiliki variasi yang sangat kecil. Kovarians negatif antara Age dengan SibSp dan Parch menunjukkan bahwa penumpang yang lebih muda cenderung berpergian bersama pasangan/saudara/orangtua.

Eigen Value

eigen_result <- eigen(cor_matrix)
eigen_values <- eigen_result$values
eigen_values
## [1] 1.6367503 1.1071770 0.6694052 0.5866676

Berdasarkan hasil perhitungan di atas diperoleh nilai komponen sebagai berikut: 1.6367503 ; 1.1071770 ; 0.6694052 ; 0.5866676. Persentase variasi dari masing-masing komponen tersebut adalah 40.9% ; 27.7% ; 16.7% ; 14.7% yang dapat dicari dengan rumus (eigenvalue/n)x100%. Dua komponen pertama mampu menjelaskan sekitar 68.6% variasi total data yang menunjukkann bahwa hanya 2 komponen utama yang layak dipertahankan.

Eigen Vectors

eigen_vectors <- eigen_result$vectors
eigen_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

Berdasarkan hasil eigenvector diatas, komponen pertama dipengaruhi oleh variabel SibSp (0.625) dan Parch (0.591) yang menggambarkan dimensi ukuran keluarga penumpang. Komponen kedua dipengaruhi oleh variabel Age (0.596) dan Fare (0.779) yang menggambarkan dimensi ekonomi dan usia. Oleh karena itu, variasi utama dalam “Titanic-Dataset” dapat dijelaskann oleh dua faktor utama, yaitu faktor keluarga dan faktor ekonomi/usia.