## membaca data
data_titanic <- read.csv("Titanic-Dataset.csv")
head(data_titanic)
## 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
## ambil kolom yang digunakan
data <- data_titanic[, c("Age", "SibSp", "Parch", "Fare")]
## cek baris yang mengandung missing value
data[!complete.cases(data), ]
## Age SibSp Parch Fare
## 6 NA 0 0 8.4583
## 18 NA 0 0 13.0000
## 20 NA 0 0 7.2250
## 27 NA 0 0 7.2250
## 29 NA 0 0 7.8792
## 30 NA 0 0 7.8958
## 32 NA 1 0 146.5208
## 33 NA 0 0 7.7500
## 37 NA 0 0 7.2292
## 43 NA 0 0 7.8958
## 46 NA 0 0 8.0500
## 47 NA 1 0 15.5000
## 48 NA 0 0 7.7500
## 49 NA 2 0 21.6792
## 56 NA 0 0 35.5000
## 65 NA 0 0 27.7208
## 66 NA 1 1 15.2458
## 77 NA 0 0 7.8958
## 78 NA 0 0 8.0500
## 83 NA 0 0 7.7875
## 88 NA 0 0 8.0500
## 96 NA 0 0 8.0500
## 102 NA 0 0 7.8958
## 108 NA 0 0 7.7750
## 110 NA 1 0 24.1500
## 122 NA 0 0 8.0500
## 127 NA 0 0 7.7500
## 129 NA 1 1 22.3583
## 141 NA 0 2 15.2458
## 155 NA 0 0 7.3125
## 159 NA 0 0 8.6625
## 160 NA 8 2 69.5500
## 167 NA 0 1 55.0000
## 169 NA 0 0 25.9250
## 177 NA 3 1 25.4667
## 181 NA 8 2 69.5500
## 182 NA 0 0 15.0500
## 186 NA 0 0 50.0000
## 187 NA 1 0 15.5000
## 197 NA 0 0 7.7500
## 199 NA 0 0 7.7500
## 202 NA 8 2 69.5500
## 215 NA 1 0 7.7500
## 224 NA 0 0 7.8958
## 230 NA 3 1 25.4667
## 236 NA 0 0 7.5500
## 241 NA 1 0 14.4542
## 242 NA 1 0 15.5000
## 251 NA 0 0 7.2500
## 257 NA 0 0 79.2000
## 261 NA 0 0 7.7500
## 265 NA 0 0 7.7500
## 271 NA 0 0 31.0000
## 275 NA 0 0 7.7500
## 278 NA 0 0 0.0000
## 285 NA 0 0 26.0000
## 296 NA 0 0 27.7208
## 299 NA 0 0 30.5000
## 301 NA 0 0 7.7500
## 302 NA 2 0 23.2500
## 304 NA 0 0 12.3500
## 305 NA 0 0 8.0500
## 307 NA 0 0 110.8833
## 325 NA 8 2 69.5500
## 331 NA 2 0 23.2500
## 335 NA 1 0 133.6500
## 336 NA 0 0 7.8958
## 348 NA 1 0 16.1000
## 352 NA 0 0 35.0000
## 355 NA 0 0 7.2250
## 359 NA 0 0 7.8792
## 360 NA 0 0 7.8792
## 365 NA 1 0 15.5000
## 368 NA 0 0 7.2292
## 369 NA 0 0 7.7500
## 376 NA 1 0 82.1708
## 385 NA 0 0 7.8958
## 389 NA 0 0 7.7292
## 410 NA 3 1 25.4667
## 411 NA 0 0 7.8958
## 412 NA 0 0 6.8583
## 414 NA 0 0 0.0000
## 416 NA 0 0 8.0500
## 421 NA 0 0 7.8958
## 426 NA 0 0 7.2500
## 429 NA 0 0 7.7500
## 432 NA 1 0 16.1000
## 445 NA 0 0 8.1125
## 452 NA 1 0 19.9667
## 455 NA 0 0 8.0500
## 458 NA 1 0 51.8625
## 460 NA 0 0 7.7500
## 465 NA 0 0 8.0500
## 467 NA 0 0 0.0000
## 469 NA 0 0 7.7250
## 471 NA 0 0 7.2500
## 476 NA 0 0 52.0000
## 482 NA 0 0 0.0000
## 486 NA 3 1 25.4667
## 491 NA 1 0 19.9667
## 496 NA 0 0 14.4583
## 498 NA 0 0 15.1000
## 503 NA 0 0 7.6292
## 508 NA 0 0 26.5500
## 512 NA 0 0 8.0500
## 518 NA 0 0 24.1500
## 523 NA 0 0 7.2250
## 525 NA 0 0 7.2292
## 528 NA 0 0 221.7792
## 532 NA 0 0 7.2292
## 534 NA 0 2 22.3583
## 539 NA 0 0 14.5000
## 548 NA 0 0 13.8625
## 553 NA 0 0 7.8292
## 558 NA 0 0 227.5250
## 561 NA 0 0 7.7500
## 564 NA 0 0 8.0500
## 565 NA 0 0 8.0500
## 569 NA 0 0 7.2292
## 574 NA 0 0 7.7500
## 579 NA 1 0 14.4583
## 585 NA 0 0 8.7125
## 590 NA 0 0 8.0500
## 594 NA 0 2 7.7500
## 597 NA 0 0 33.0000
## 599 NA 0 0 7.2250
## 602 NA 0 0 7.8958
## 603 NA 0 0 42.4000
## 612 NA 0 0 7.0500
## 613 NA 1 0 15.5000
## 614 NA 0 0 7.7500
## 630 NA 0 0 7.7333
## 634 NA 0 0 0.0000
## 640 NA 1 0 16.1000
## 644 NA 0 0 56.4958
## 649 NA 0 0 7.5500
## 651 NA 0 0 7.8958
## 654 NA 0 0 7.8292
## 657 NA 0 0 7.8958
## 668 NA 0 0 7.7750
## 670 NA 1 0 52.0000
## 675 NA 0 0 0.0000
## 681 NA 0 0 8.1375
## 693 NA 0 0 56.4958
## 698 NA 0 0 7.7333
## 710 NA 1 1 15.2458
## 712 NA 0 0 26.5500
## 719 NA 0 0 15.5000
## 728 NA 0 0 7.7375
## 733 NA 0 0 0.0000
## 739 NA 0 0 7.8958
## 740 NA 0 0 7.8958
## 741 NA 0 0 30.0000
## 761 NA 0 0 14.5000
## 767 NA 0 0 39.6000
## 769 NA 1 0 24.1500
## 774 NA 0 0 7.2250
## 777 NA 0 0 7.7500
## 779 NA 0 0 7.7375
## 784 NA 1 2 23.4500
## 791 NA 0 0 7.7500
## 793 NA 8 2 69.5500
## 794 NA 0 0 30.6958
## 816 NA 0 0 0.0000
## 826 NA 0 0 6.9500
## 827 NA 0 0 56.4958
## 829 NA 0 0 7.7500
## 833 NA 0 0 7.2292
## 838 NA 0 0 8.0500
## 840 NA 0 0 29.7000
## 847 NA 8 2 69.5500
## 850 NA 1 0 89.1042
## 860 NA 0 0 7.2292
## 864 NA 8 2 69.5500
## 869 NA 0 0 9.5000
## 879 NA 0 0 7.8958
## 889 NA 1 2 23.4500
## hapus baris yang mengandung missing value
data_clean <- na.omit(data)
Baris data yang mengandung missing value dihapus agar analisis dilakukan menggunakan data yang lengkap.
## 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
Matriks korelasi menunjukkan arah dan kekuatan hubungan antar variabel dengan nilai antara -1 sampai 1.
Interpretasi Hasil
Korelasi antara Age dan SibSp (-0.308) menunjukkan hubungan negatif sedang, yang berarti penumpang dengan usia lebih tua bepergian dengan lebih sedikit pasangan atau saudara.
Korelasi antara Age dan Parch (-0.189) menunjukkan hubungan negatif lemah, sehingga usia penumpang relatif tidak berhubungan kuat dengan jumlah orang tua atau anak yang dibawa.
Korelasi antara Age dan Fare (0.096) bersifat positif sangat lemah, yang mengindikasikan bahwa usia hampir tidak berpengaruh terhadap harga tiket.
Korelasi antara SibSp dan Parch (0.384) menunjukkan hubungan positif sedang, yang berarti penumpang yang membawa pasangan atau saudara juga membawa orang tua atau anak.
Korelasi antara SibSp dan Fare (0.138) serta Parch dan Fare (0.205) menunjukkan hubungan positif lemah, sehingga jumlah anggota keluarga hanya sedikit berkaitan dengan harga tiket.
## 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
Varians
Varians Age (211.02) menunjukkan bahwa usia penumpang memiliki variasi yang cukup besar.
Varians SibSp (0.86) menunjukkan bahwa jumlah pasangan atau saudara yang dibawa penumpang tidak terlalu bervariasi.
Varians Parch (0.73) menunjukkan variasi yang kecil pada jumlah orang tua atau anak yang dibawa.
Varians Fare (2800.41) merupakan yang terbesar, yang menunjukkan bahwa harga tiket memiliki variasi yang sangat tinggi antar penumpang.
Kovarians
Kovarians Age dan SibSp (-4.16) bernilai negatif, yang berarti penumpang dengan usia lebih tua cenderung bepergian dengan lebih sedikit pasangan atau saudara.
Kovarians Age dan Parch (-2.34) juga bernilai negatif, yang menunjukkan jumlah orang tua atau anak.
Kovarians Age dan Fare (73.85) bernilai positif, yang berarti penumpang yang lebih tua membayar tiket sedikit lebih mahal.
Kovarians SibSp dan Parch (0.30) bernilai positif, menunjukkan bahwa penumpang yang membawa pasangan atau saudara juga membawa orang tua atau anak.
Kovarians SibSp dan Fare (6.81) serta Parch dan Fare (9.26) bernilai positif, yang menunjukkan bahwa semakin banyak anggota keluarga yang dibawa, harga tiket makin meningkat
## Eigen Value dan Eigen Vector
eigen_result <- eigen(cor_matrix)
eigen_result$values
## [1] 1.6367503 1.1071770 0.6694052 0.5866676
eigen_result$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
Eigenvalue menunjukkan besarnya variasi data yang dijelaskan oleh setiap komponen utama, sedangkan eigenvector menunjukkan pola kombinasi variabel pembentuk komponen tersebut.
Eigen Value
Eigenvalue menunjukkan besarnya variasi data yang dapat dijelaskan oleh setiap komponen utama. Nilai eigenvalue yang diperoleh adalah:
Komponen 1: 1.637
Komponen 2: 1.108
Komponen 3: 0.669
Komponen 4: 0.587
Karena jumlah variabel adalah 4, maka total eigenvalue bernilai 4 dan eigenvalue > 1, maka dua komponen utama pertama bagus untuk dipertahankan karena mampu menjelaskan variasi data yang paling besar.
Eigen Vector
Eigenvector menunjukkan pola kombinasi variabel yang membentuk setiap komponen utama. Nilai absolut yang lebih besar menunjukkan kontribusi variabel yang lebih dominan pada komponen tersebut.
Komponen utama pertama (PC1) didominasi oleh variabel SibSp dan Parch dengan nilai eigenvector yang relatif besar, sehingga komponen ini merepresentasikan karakteristik jumlah anggota keluarga yang dibawa penumpang.
Komponen utama kedua (PC2) menunjukkan kontribusi yang cukup besar dari variabel Fare, sehingga komponen ini berkaitan dengan aspek ekonomi atau harga tiket penumpang.
Komponen ketiga dan keempat memiliki eigenvalue yang lebih kecil, sehingga kontribusinya terhadap variasi data relatif rendah dan kurang penting untuk analisis lebih lanjut.
Secara umum, hubungan antar variabel pada data Titanic tergolong lemah hingga sedang. Variabel Fare memiliki variasi terbesar, sedangkan analisis eigen menunjukkan bahwa dua komponen utama pertama sudah cukup untuk merangkum informasi data.