Membaca Data

## 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

Pemilihan Variabel

## ambil kolom yang digunakan
data <- data_titanic[, c("Age", "SibSp", "Parch", "Fare")]

Pengecekan dan Penghapusan Missing Value

## 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.

Matriks Korelasi

## 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

  1. 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.

  2. 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.

  3. Korelasi antara Age dan Fare (0.096) bersifat positif sangat lemah, yang mengindikasikan bahwa usia hampir tidak berpengaruh terhadap harga tiket.

  4. 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.

  5. 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.

Matriks Varians–Kovarians

## 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

  1. Varians Age (211.02) menunjukkan bahwa usia penumpang memiliki variasi yang cukup besar.

  2. Varians SibSp (0.86) menunjukkan bahwa jumlah pasangan atau saudara yang dibawa penumpang tidak terlalu bervariasi.

  3. Varians Parch (0.73) menunjukkan variasi yang kecil pada jumlah orang tua atau anak yang dibawa.

  4. Varians Fare (2800.41) merupakan yang terbesar, yang menunjukkan bahwa harga tiket memiliki variasi yang sangat tinggi antar penumpang.

Kovarians

  1. Kovarians Age dan SibSp (-4.16) bernilai negatif, yang berarti penumpang dengan usia lebih tua cenderung bepergian dengan lebih sedikit pasangan atau saudara.

  2. Kovarians Age dan Parch (-2.34) juga bernilai negatif, yang menunjukkan jumlah orang tua atau anak.

  3. Kovarians Age dan Fare (73.85) bernilai positif, yang berarti penumpang yang lebih tua membayar tiket sedikit lebih mahal.

  4. Kovarians SibSp dan Parch (0.30) bernilai positif, menunjukkan bahwa penumpang yang membawa pasangan atau saudara juga membawa orang tua atau anak.

  5. 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 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.

  1. 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.

  2. Komponen utama kedua (PC2) menunjukkan kontribusi yang cukup besar dari variabel Fare, sehingga komponen ini berkaitan dengan aspek ekonomi atau harga tiket penumpang.

  3. Komponen ketiga dan keempat memiliki eigenvalue yang lebih kecil, sehingga kontribusinya terhadap variasi data relatif rendah dan kurang penting untuk analisis lebih lanjut.

Kesimpulan

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.