setwd("C:/Users/LENOVO/Downloads/")
getwd()
## [1] "C:/Users/LENOVO/Downloads"
anmul <- read.csv("Titanic-Dataset.csv")
str(anmul)
## 'data.frame': 891 obs. of 12 variables:
## $ PassengerId: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Survived : int 0 1 1 1 0 0 0 0 1 1 ...
## $ Pclass : int 3 1 3 1 3 3 1 3 3 2 ...
## $ Name : chr "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
## $ Sex : chr "male" "female" "female" "female" ...
## $ Age : num 22 38 26 35 35 NA 54 2 27 14 ...
## $ SibSp : int 1 1 0 1 0 0 0 3 0 1 ...
## $ Parch : int 0 0 0 0 0 0 0 1 2 0 ...
## $ Ticket : chr "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
## $ Fare : num 7.25 71.28 7.92 53.1 8.05 ...
## $ Cabin : chr "" "C85" "" "C123" ...
## $ Embarked : chr "S" "C" "S" "S" ...
Dataset Titanic terdiri dari 891 observasi dan 12 variabel.
Memilih variabel yang digunakan dan menghapus missing value
anmul2 <- anmul[, c("Age", "SibSp", "Parch", "Fare")]
colSums(is.na(anmul2))
## Age SibSp Parch Fare
## 177 0 0 0
anmul_clean <- na.omit(anmul2)
dim(anmul_clean)
## [1] 714 4
summary(anmul_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
Berdasarkan hasil tersebut dihasilkan bahwa variabel Age memiliki 177 missing value sehingga dilakukan penghapusan baris menggunakan fungsi na.omit(). Setelah cleaning, diperoleh 714 observasi dengan 4 variabel numerik Rata-rata usia penumpang adalah 29.7 tahun dengan rentang usia yang cukup lebar. Sebagian besar penumpang bepergian sendiri, terlihat dari rendahnya rata-rata variabel SibSp dan Parch. Selain itu, variabel Fare memiliki nilai maksimum jauh di atas median, yang mengindikasikan adanya perbedaan harga tiket antar penumpang
Correlation matrix digunakan untuk mengukur kekuatan dan arah hubungan linear antar variabel
correlation_matrix <- cor(anmul_clean)
round(correlation_matrix, 2)
## Age SibSp Parch Fare
## Age 1.00 -0.31 -0.19 0.10
## SibSp -0.31 1.00 0.38 0.14
## Parch -0.19 0.38 1.00 0.21
## Fare 0.10 0.14 0.21 1.00
Korelasi tertinggi terdapat pada variabel SibSp dan Parch sebesar 0.38, yang mengindikasikan bahwa penumpang yang bepergian dengan saudara atau pasangan cenderung juga membawa anggota keluarga lainnya. Sementara itu, variabel Age memiliki korelasi negatif dengan SibSp dan Parch. Secara keseluruhan, tidak ditemukan hubungan linear yang kuat antar variabel sehingga tingkat multikolinearitas pada data tergolong rendah.
Variance-covariance matrix digunakan untuk melihat tingkat penyebaran data serta arah hubungan antar variabel. Nilai variance terletak pada diagonal utama matriks dan menunjukkan seberapa besar variasi masing-masing variabel.
covariance_matrix <- cov(anmul_clean)
round(covariance_matrix, 2)
## Age SibSp Parch Fare
## Age 211.02 -4.16 -2.34 73.85
## SibSp -4.16 0.86 0.30 6.81
## Parch -2.34 0.30 0.73 9.26
## Fare 73.85 6.81 9.26 2800.41
Berdasarkan hasil analisis, variabel Fare memiliki nilai variance paling besar yaitu 2800.41, yang menunjukkan bahwa tarif tiket memiliki tingkat variasi yang sangat tinggi dibandingkan variabel lainnya. Nilai covariance antara Age dan SibSp (-4.16) serta Age dan Parch (-2.34) bernilai negatif, yang mengindikasikan hubungan berlawanan arah. Secara keseluruhan, perbedaan nilai variance menunjukkan bahwa setiap variabel memiliki tingkat keragaman yang berbeda dalam dataset.
Eigen value menunjukkan besarnya variasi data yang dapat dijelaskan oleh setiap komponen utama
eigen_val <- eigen(covariance_matrix)
eigen_val$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
eigen_val$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
Berdasarkan hasil , eigen value terbesar adalah 2802.563, diikuti oleh 209.038, sedangkan dua komponen lainnya memiliki nilai yang sangat kecil. Eigen value pertama memiliki nilai yang jauh lebih besar dibandingkan komponen lainnya, sehingga dapat disimpulkan bahwa sebagian besar keragaman data dijelaskan oleh komponen pertama. Berdasarkan eigen vector, komponen pertama didominasi oleh variabel Fare, yang memiliki nilai mendekati 1. Hal ini menunjukkan bahwa Fare memberikan kontribusi terbesar terhadap variasi data dibandingkan variabel lainnya.