1. Import Data

Hal pertama yang dilakukan adalah memuat data ke dalam R, dengan memastikan folder yang digunakan file tersebut sama dengan file yang digunakan saat ini. Melalui “Session” dan menyesuaikan “Set Working Directory” sesuai foldernya.

# Import Data
data <- read.csv("Titanic-Dataset.csv")

# Menampilkan 6 baris pertama data
knitr::kable(head(data))
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 S
2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.2833 C85 C
3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 S
4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S
5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 S
6 0 3 Moran, Mr. James male NA 0 0 330877 8.4583 Q

2. Membersihkan Data

Data yang telah di muat akan melalui tahap seleksi kolom, yaitu hanya menggunakan variabel Age, SibSp, Parch dan Fare. Selanjutnya, dilakukan pembersihan data dengan menghapus baris yang terdapat missing value (NA).

# Seleksi Kolom
data_clean <- data[, c("Age", "SibSp", "Parch", "Fare")]

# Hapus Missing Value
data_clean <- na.omit(data_clean)

# Menampilkan 6 baris yang telah bersih
head(data_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. Analisis Struktur Data Multivariat

Selanjutnya akan dilakukan analisis lebih lanjut untuk mengetahui hubungan antar variabel, dengan menggunakan matriks korelasi, koavians dan penentuan nilai eigen

a) Correlation Matrix

Pada correlation matrix ini terdapat hasil mendekati +1 yaitu berhubungan positif, mendekati 0 yaitu hubungan lemah dan mendekati -1 hubungannya cenderung negatif kuat

# Correlation Matrix
corr_matrix <- cor(data_clean)
corr_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

Hasil Output :

  • Hubungan Age dengan yang lain, Age & SibSp memiliki hubungan negatif lemah sehingga memiliki kecenderungan semakin tua usia penumpang maka jumlah saudara/pasangan yang dibawa semakin sedikit, Age & Parch memiliki hubungan negatif sangat lemah sehingga hampir tidak ada hubungan antara pengaruh usia dengan jumlah orangtua/anak yang dibawa, Age & Fare memiliki nilai mendekati 0 sehingga usia penumpang hampir tidak ada hubungan dengan harga tiket yang mereka beli.
  • Hubungan SibSp dengan yang lain, SibSp & Parch memiliki hubungan positif yang paling kuat dibandingkan variabel yang lain sehingga penumpang yang membawa banyak saudara juga cenderung membawa anggota keluarga lain, SibSp & Fare memiliki nilai mendekati 0 sehingga jumlah saudara/pasangan yang dibawa tidak memiliki pengaruh besar pada harga tiket yang dibeli.
  • Hubungan Parch dengan yang lain, Parch & Fare memiliki hubungan positif sehingga jumlah orangtua/anak yang dibawa memiliki pengaruh pada harga tiket yang dibeli
  • Hubungan Fare dengan yang lain, semua hubungan variabel lain dengan fare memiliki nilai positif meskipun hubungannya tergolong rendah, namun hal ini tetap menunjukkan bahwa masing masing variabel masing memiliki sedikit kecenderungan dengan harga tiket yang dibeli

b) Variance-Covariance Matrix

Varians untuk mengetahui seberapa lebar data tersebut menyebar dan Kovarians untuk mengetahui apakah dua variabel tersebut berubah bersamaan searah atau berlawanan

# 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

Hasil Output :

  • Angka Diagonal (Varians), dimana Fare memiliki varians sangat besar (2800.41) yang menunjukkan bahwa harga tiket sangatlah bervariasi, Age juga memiliki varians yang cukup besar (211.01) sehingga menunjukkan bahwa umur penumpang cukup bervariasi atau berbeda-beda dibandingkan dengan variabel SibSp dan Parch yang biasanya hanya angka kecil (0,1 dan 2)
  • Angka Diluar Diagonal (Kovarians), jika memiliki nilai positif (+) maka kedua variabel cenderung naik bersamaan seperti Fare dan Age (semakin tua penumpang cenderung harga tiket yang dibayar mahal), SibSp dan Parch, SibSp dan Fare, Parch dan Fare. Sedangkan jika bernilai negatif (-) maka satu nilai variabel naik, variabel lainnya akan turun seperti Age dan SibSp (penumpang lebih tua cenderung membawa sedikit saudara/pasangan), Age dan Parch

c) Eigen Value & Eigen Vector

Analisis eigen ini dilakukan dengan menggunakan hasil matriks kovarians, dikarenakan matriks tersebut telah merangkum seluruh variabilitas dan hubungan antar variabel.

Eigen Value akan menunjukkan seberapa besar data menyebar ke arah tertentu, Eigen Vector menunjukkan arah dari sumbu tersebut sehingga vektor ini memberi tahu kombinasi variabel yang membentuk komponen utama.

# Eigen
eigen_result <- eigen(cov_matrix)

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

Hasil Outputnya :

  • Dari hasil tersebut, maka didapatkan nilai pertama (2802.56) sangat dominan sehingga dapat memberikan informasi penumpang hanya dengan data tersebut, nilai kedua (209.03) dapat menjelaskan sisa variasi dengan cukup besar dan nilai ketiga, keempat memiliki nilai yang sangat kecil sehingga tidak terlalu penting dalam menjelaskan data
#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

Hasil Outputnya :

Dari hasil vector value sebelumnya, maka didapatkan hasil berupa 4 kategori pembeda

  • Komponen Utama 1, memberikan hasil berupa nilai tertinggi 0.9995 baris ke-4 (Fare) sehingga komponen utama yang membedakan penumpang yaitu berdasarkan ekonomi atau harga tiket yang mereka beli.
  • Komponen Utama 2, memberikan hasil berupa nilai sebesar 0.9992 baris ke-1 (Age) sehingga pembeda terbesar kedua ditentukan oleh usia penumpang atau fokus membedakan penumpang berusia tua dan muda.
  • Komponen 3 dan 4, tidak memiliki nilai yang terlalu dominan atau tidak mendekati 1 sehingga tidak terlalu dapat membedakan perbedaan antar penumpang