Import Data

Dataset yang digunakan berisi data penumpang kapal Titanic yang digunakan untuk analisis dan prediksi kelangsungan hidup penumpang. Dataset ini berasal dari kaggle (https://www.kaggle.com/datasets/yasserh/titanic-dataset?select=Titanic-Dataset.csv).

Sebelum melakukan analisis lebih lanjut, yang hal pertama yang perlu dilakukan adalah import dataset pada R terlebih dahulu dengan:

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

Melihat data

Untuk menampilkan 6 baris pertama dataset Titanic, maka menggunakan kode program dibawah ini:

head(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

Mengambil kolom yang diminta

data2 <- data[, c("Age", "SibSp", "Parch", "Fare")]

Menghapus missing value

data2 <- na.omit(data2)

Mengecek hasil setelah menghapus missing value

Untuk melihat ringkasan statistik pada setiap variabel dan memastikan data tidak memiliki missing value dapat menggunakan kode program di bawah ini:

summary(data2)
##       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

1. Age (Usia penumpang)

Min = 0,42, yang artinya penumpang termuda berusia sekitar 0,42 tahun (bayi)

1st Qu. = 20,12, artinya 25% penumpang berusia ≤ 20.12 tahun

Median = 28,00, artinya usia tengah penumpang adalah 28 tahun

Mean = 29,70, artinya rata-rata usia penumpang sekitar 29,7 tahun

3rd Qu. = 38,00, artinya 75% penumpang berusia ≤ 38 tahun

Max = 80,00, artinya penumpang tertua berusia 80 tahun

Kesimpulannya adalah mayoritas penumpang berada pada usia dewasa muda (20-38 tahun).

2. SibSp (Jumlah Saudara/Pasangan)

Min = 0,0000, ada penumpang yang bepergian tanpa saudara dan pasangan

1st Qu. = 0,0000, terdapat 25% penumpang yang tidak membawa saudara ataupun pasangan

Median = 0,0000, lebih dari setengah penumpang bepergian sendiri

Mean = 0,5126, rata-rata penumpang membawa sekitar 0,5 saudara atau pasangan

3rd Qu. = 1,0000, artinya 75% penumpang membawa paling banyak 1 saudara/pasangan

Max = 5,0000, jumlah saudara/pasangan terbanyak yang dibawa adalah 5 orang

Kesimpulannya adalah sebagian besar penumpang bepergian sendiri atau hanya dengan satu saudara/pasangan.

3. Parch (Jumlah Orang Tua/Anak)

Min = 0,0000, ada penumpang yang tidak membawa orang tua atau anak

1st Qu. = 0,0000, terdapat 25% penumpang tidak membawa orang tua atau anak

Median = 0,0000, lebih dari setengah penumpang tidak membawa orang tua atau anak

Mean = 0,4314, rata-rata penumpang membawa kurang dari 1 orang tua/anak

3rd Qu. = 1,0000, artinya 75% penumpang membawa paling banyak 1 orang tua/anak

Max = 6,0000, jumlah orang tua/anak terbanyak yang dibawa adalah 6 orang

Kesimpulannya adalah mayoritas penumpang bepergian tanpa orang tua atau anak.

4. Fare (Harga Tiket)

Min = 0,0000, ada penumpang yang tidak membayar tiket atau harga tidak tercatat

1st Qu. = 8,05, terdapat 25% penumpang membayar tiket ≤ 8.05

Median = 15,74, artinya harga tiket tengah adalah 15,74

Mean = 34,69, rata-rata harga tiket cukup tinggi karena dipengaruhi tiket mahal

3rd Qu. = 33,38, artinya 75% penumpang membayar tiket ≤ 33,38

Max = 512,33, Harga tiket tertinggi sangat mahal dibandingkan mayoritas penumpang

Kesimpulannya adalah sebagian besar penumpang membayar tiket dengan harga rendah, namun terdapat beberapa tiket sangat mahal yang menyebabkan nilai rata-rata menjadi tinggi.

Berdasarkan variabel Age, SibSp, Parch, dan Fare, dapat disimpulkan bahwa mayoritas penumpang merupakan individu dewasa yang cenderung bepergian sendiri dengan jumlah anggota keluarga yang sedikit. Distribusi harga tiket menunjukkan ketimpangan karena adanya beberapa nilai fare yang sangat tinggi.

Correlation matrix

Matriks korelasi menunjukkan tingkat hubungan antar variabel dengan nilai antara -1 sampai 1.

cor_matrix <- cor(data2)
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

berdasarkan output dari matriks korelasi di atas, terdapat hubungan antar variabel sebagai berikut:

Age - SibSp (-0,3082468) memiliki korelasi negatif lemah sedang, dengan penumpang yang lebih tua cenderung membawa lebih sedikit saudara atau pasangan.

Age - Parch (-0,1891193) memiliki korelasi negatif lemah, yang digambarkan dengan usia yang lebih tinggi cenderung tidak berkaitan dengan membawa orang tua atau anak.

Age - Fare (0,09606669) memiliki korelasi positif lemah, yang artinya usia hampir tidak berpengaruh terhadap harga tiket.

SibSp - Parch (0,3838199) memiliki korelasi yang positif sedang, dengan penumpang yang membawa saudara/pasangan biasanya juga membawa orang tua atau anak.

SibSp - Fare (0,13832879) mempunyai korelasi yang positif lemah, yang digambarkan dengan yang membawa saudara/pasangan sedikit berkaitan dengan harga tiket yang lebih tinggi.

Parch - Fare (0,2051189) memiliki korelasi positif lemah, dengan penumpang yang membawa orang tua/anak cenderung membayar tiket sedikit lebih mahal.

Kesimpulannya adalah tidak terdapat hubungan yang sangat kuat antar variabel. Akan tetapi, hubungan yang paling terlihat adalah antara SibSp dan Parch, yang menunjukkan keterkaitan antar anggota keluarga. Kemudian, pada variabel usia tidak terlihat pengaruh yang signifikan terhadap harga tiket maupun jumlah anggota keluarga yang dibawa.

Variance-covariance matrix

Kode di bawah ini digunakan untuk menghitung variance–covariance matrix dari variabel Age, SibSp, Parch, dan Fare.

cov_matrix <- cov(data2)
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

Terdapat Varians (diagonal) pada output dari kode di atas yang ditunjukkan sebagai berikut:

Age = 211.019125 yang menunjukkan variasi usia penumpang yang cukup besar.

SibSp = 0.8644973 menunjukkan variasi jumlah saudara/pasangan kecil.

Parch = 0.7281027 menunjukkan variasi jumlah orang tua/anak kecil.

Fare = 2800.413100, artinya variasi harga tiket sangat besar, sehingga menunjukkan perbedaan harga tiket yang jauh.

Terdapat juga kovarians (hubungan antar variabel) yang ditunjukkan sebagai berikut:

Age - SibSp = -4.163334 memiliki kovarians negatif yang artinya usia lebih tinggi cenderung membawa lebih sedikit saudara/pasangan.

Age - Parch = -2.344191 yang memiliki kovarians negatif lemah.

Age - Fare = 73.849030 memiliki kovarians positif, sehingga artinya usia lebih tinggi sedikit berkaitan dengan harga tiket lebih tinggi.

SibSp - Parch = 0.3045128 memiliki kovarians positif dengan penumpang yang membawa saudara biasanya juga membawa keluarga lain.

SibSp - Fare = 6.806212 memiliki hubungan yang positif kecil.

Parch - Fare = 9.262176, artinya memiliki hubungan positif yang kecil.

Kesimpulannya adalah variabel Fare memiliki variasi terbesar dibandingkan dengan variabel lainnya, sedangkan SibSp dan Parch memiliki variasi kecil. Hubungan antar jumlah anggota keluarga (SibSp dan Parch) cenderung positif, sedangkan usia memiliki kecenderungan hubungan negatif dengan jumlah anggota keluarga.

Eigen value & eigen vector

Kode di bawah ini digunakan untuk menghitung eigen value dan eigen vector dari variance-covariance matrix.

eigen_result <- eigen(cov_matrix)

Eigen value

eigen_result$values
## [1] 2802.5636587  209.0385659    0.9438783    0.4787214

Keterangan:

Eigen value pertama (2802.5636587) memiliki variasi terbesar dalam data. Artinya, sebagian besar informasi dalam data sudah diwakili oleh komponen utama pertama.

Eigen value kedua (209.0385659) memunjukkan variasi yang cukup besar, akan tetapi jauh lebih kecil dari yang pertama.

Eigen value ketiga (0.9438783) & keempat (0.4787214) menunjukkan kontribusi variasi yang sangat kecil.

Eigen value menunjukkan besarnya variasi data. Semakin besar eigen value, maka semakin besar kontribusinya yang ditunjukkan dengan sebagian besar variasi data didominasi oleh satu komponen utama.

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

Eigen vector menunjukkan arah variasi data dan menjelaskan seberapa besar kontribusi setiap variabel Age, SibSp, Parch, dan Fare terhadap masing-masing komponen utama. Pada komponen utama pertama (PC1), nilai eigen vector terbesar terdapat pada variabel Fare (0,999586200), sehingga variasi terbesar dalam data terutama dipengaruhi oleh harga tiket.