1. Working Directory
getwd()
## [1] "C:/Users/ASUS/OneDrive/Documents/SEMESTER 4/Analisis Multivariat"

Working directory menunjukkan lokasi folder aktif yang digunakan R untuk membaca dan menyimpan file berada di folder Analisis Multivariat.

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

Dataset berhasil dimuat dan dibaca.

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
  1. Struktur Data
str(data)
## '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" ...

Menampilkan jumlah observasi 891 dan variabel 12 serta tipe data tiap variabel.

  1. Pilih variabel tertentu
data_selected <- data[, c("Age", "SibSp", "Parch", "Fare")]
head(data_selected)
##   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
## 6  NA     0     0  8.4583
  1. Membersihkan Missing Value
data_clean <- na.omit(data_selected)

Data menjadi bersih dan tidak memiliki nilai kosong.

summary(data_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
dim(data_clean)
## [1] 714   4
  1. Analisis Matriks
  1. 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

Hasil matriks korelasi menunjukkan bahwa hubungan antar variabel numerik pada data Titanic cenderung lemah hingga sedang. Korelasi negatif ditemukan antara usia dengan jumlah saudara/pasangan (−0,308) dan jumlah orang tua/anak (−0,189), yang mengindikasikan bahwa penumpang yang lebih tua cenderung bepergian tanpa keluarga. Korelasi positif tertinggi terjadi antara SibSp dan Parch (0,384), menunjukkan bahwa penumpang yang membawa saudara atau pasangan juga cenderung membawa anggota keluarga lainnya. Sementara itu, variabel Fare memiliki korelasi lemah dengan variabel lainnya, sehingga dapat disimpulkan bahwa harga tiket relatif independen terhadap usia maupun ukuran keluarga.

  1. 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 matriks kovarians menunjukkan bahwa variabel Fare memiliki variasi paling besar dibandingkan variabel lainnya, dengan nilai varians sebesar 2800,41. Hal ini menunjukkan bahwa perbedaan harga tiket antar penumpang Titanic sangat tinggi. Varians usia (Age) sebesar 211,02 menunjukkan bahwa usia penumpang cukup beragam, namun variasinya masih jauh lebih kecil dibandingkan harga tiket. Sementara itu, varians SibSp (0,86) dan Parch (0,73) tergolong kecil, yang menandakan bahwa sebagian besar penumpang tidak membawa banyak anggota keluarga. Kovarians positif antara Age dan Fare (73,85) menunjukkan bahwa penumpang yang lebih tua cenderung membayar harga tiket yang lebih mahal. Sebaliknya, kovarians negatif antara Age dengan SibSp (−4,16) dan Parch (−2,34) menunjukkan bahwa penumpang yang lebih tua cenderung bepergian tanpa saudara, pasangan, maupun anak. Selain itu, kovarians positif antara SibSp dan Parch (0,30) menunjukkan bahwa penumpang yang membawa saudara atau pasangan umumnya juga membawa anggota keluarga lainnya.

  1. Eigen
eigen_result <- eigen(cov_matrix)

Eigen Values

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

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 perhitungan eigen value dari matriks kovarians menunjukkan bahwa komponen utama pertama memiliki eigen value sebesar 2802,56, yang jauh lebih besar dibandingkan komponen lainnya. Hal ini menunjukkan bahwa sebagian besar variasi data dijelaskan oleh komponen utama pertama. Komponen kedua memiliki eigen value sebesar 209,04, yang masih menjelaskan variasi data namun dalam jumlah yang jauh lebih kecil. Sementara itu, komponen ketiga (0,94) dan keempat (0,48) memiliki eigen value yang sangat kecil, sehingga kontribusinya terhadap variasi data dapat dianggap tidak signifikan.

Berdasarkan eigen vector, komponen utama pertama didominasi oleh variabel Fare dengan nilai koefisien sebesar 0,9996, sedangkan kontribusi variabel lainnya sangat kecil. Hal ini menunjukkan bahwa variasi terbesar dalam data terutama disebabkan oleh perbedaan harga tiket penumpang. Pada komponen utama kedua, variabel Age memiliki kontribusi paling besar dengan nilai koefisien sebesar 0,9993, yang menunjukkan bahwa komponen ini merepresentasikan variasi usia penumpang. Komponen ketiga dan keempat merupakan kombinasi dari variabel SibSp dan Parch, yang mencerminkan variasi jumlah anggota keluarga yang dibawa oleh penumpang.

Kesimpulan Hasil Analisis Multivariat

Berdasarkan hasil analisis matriks korelasi, matriks kovarians, dan analisis eigen, dapat disimpulkan bahwa hubungan antar variabel numerik pada data Titanic cenderung lemah hingga sedang. Usia penumpang memiliki hubungan negatif dengan jumlah saudara/pasangan serta orang tua/anak yang dibawa, yang menunjukkan bahwa penumpang dengan usia lebih tua cenderung bepergian tanpa keluarga. Hubungan positif antara jumlah saudara/pasangan dan jumlah orang tua/anak menunjukkan bahwa penumpang yang membawa satu jenis anggota keluarga umumnya juga membawa anggota keluarga lainnya.

Hasil matriks kovarians menunjukkan bahwa variabel Fare memiliki variasi paling besar dibandingkan variabel lainnya, yang menunjukkan adanya perbedaan harga tiket yang sangat signifikan antar penumpang. Variasi usia penumpang berada pada tingkat sedang, sedangkan jumlah anggota keluarga yang dibawa relatif kecil variasinya. Selain itu, usia penumpang cenderung berhubungan positif dengan harga tiket dan berhubungan negatif dengan jumlah anggota keluarga yang dibawa.

Analisis eigen memperkuat temuan tersebut dengan menunjukkan bahwa sebagian besar variasi data dijelaskan oleh satu komponen utama yang didominasi oleh variabel Fare, sementara komponen selanjutnya memberikan kontribusi variasi yang jauh lebih kecil. Hal ini menunjukkan bahwa struktur data Titanic sangat dipengaruhi oleh perbedaan harga tiket, sementara faktor usia dan ukuran keluarga memberikan pengaruh yang lebih kecil terhadap variasi data secara keseluruhan.