IMPORT & BACA DATA

# Import dan tampilkan data
data <- read.csv("Maternal_health.csv")
head(data)
##   Age SystolicBP DiastolicBP    BS BodyTemp HeartRate RiskLevel
## 1  25        130          80 15.00       98        86 high risk
## 2  35        140          90 13.00       98        70 high risk
## 3  29         90          70  8.00      100        80 high risk
## 4  30        140          85  7.00       98        70 high risk
## 5  35        120          60  6.10       98        76  low risk
## 6  23        140          80  7.01       98        70 high risk
# Mengambil data numerik
data_num <- data[sapply(data, is.numeric)]

Penjelasan Dataset:

Dataset Maternal Health Risk berisi data kondisi kesehatan ibu hamil yang terdiri dari beberapa variabel numerik, yaitu Age, SystolicBP, DiastolicBP, BS, BodyTemp, dan HeartRate. Selain itu, terdapat variabel RiskLevel yang menunjukkan tingkat risiko kesehatan ibu. Dataset ini digunakan untuk menganalisis hubungan dan variasi antar variabel kesehatan ibu hamil.

CORRELATION MATRIX

# Correlation Matrix
cor_matrix <- cor(data_num)
cor_matrix
##                     Age  SystolicBP DiastolicBP         BS    BodyTemp
## Age          1.00000000  0.41604545  0.39802629  0.4732843 -0.25532314
## SystolicBP   0.41604545  1.00000000  0.78700648  0.4251717 -0.28661552
## DiastolicBP  0.39802629  0.78700648  1.00000000  0.4238241 -0.25753832
## BS           0.47328434  0.42517166  0.42382407  1.0000000 -0.10349336
## BodyTemp    -0.25532314 -0.28661552 -0.25753832 -0.1034934  1.00000000
## HeartRate    0.07979763 -0.02310796 -0.04615057  0.1428672  0.09877104
##               HeartRate
## Age          0.07979763
## SystolicBP  -0.02310796
## DiastolicBP -0.04615057
## BS           0.14286723
## BodyTemp     0.09877104
## HeartRate    1.00000000

Interpretasi:

Hasil correlation matrix menunjukkan hubungan paling kuat terjadi antara SystolicBP dan DiastolicBP dengan nilai korelasi 0,787, yang berarti terdapat hubungan positif kuat antara tekanan darah sistolik dan diastolik. Variabel Age memiliki korelasi positif sedang dengan BS (0,473), menunjukkan bahwa semakin bertambah usia, kadar gula darah cenderung meningkat. Sebaliknya, BodyTemp memiliki korelasi negatif lemah dengan hampir semua variabel, menandakan bahwa suhu tubuh tidak memiliki hubungan kuat dengan indikator kesehatan lainnya. Variabel HeartRate memiliki korelasi sangat rendah terhadap variabel lain, sehingga pengaruhnya relatif kecil.

VARIANCE-COVARIANCE MATRIX

# Variance-Covariance Matrix
cov_matrix <- cov(data_num)
cov_matrix
##                    Age SystolicBP DiastolicBP         BS   BodyTemp HeartRate
## Age         181.559065 103.171539   74.471739 21.0035619 -4.7180044  8.697168
## SystolicBP  103.171539 338.704005  201.121845 25.7712999 -7.2338429 -3.439938
## DiastolicBP  74.471739 201.121845  192.815323 19.3828770 -4.9042413 -5.183543
## BS           21.003562  25.771300   19.382877 10.8473512 -0.4674483  3.806040
## BodyTemp     -4.718004  -7.233843   -4.904241 -0.4674483  1.8806951  1.095640
## HeartRate     8.697168  -3.439938   -5.183543  3.8060397  1.0956395 65.427104

Interpretasi:

Variance–covariance matrix menunjukkan bahwa SystolicBP memiliki varians paling besar (338,70), sehingga merupakan variabel dengan penyebaran data tertinggi. Varians DiastolicBP (192,82) dan Age (181,56) juga cukup besar, menunjukkan variasi yang signifikan. Kovarians positif yang besar antara SystolicBP dan DiastolicBP (201,12) menunjukkan kedua variabel meningkat secara bersamaan. Sementara itu, kovarians yang kecil atau mendekati nol pada variabel lain menunjukkan hubungan yang lemah dalam skala aslinya.

EIGEN VALUE DAN EIGEN VECTOR

eigen_result <- eigen(cov_matrix)

# Eigen value
eigen_result$values
## [1] 529.521825 136.772898  64.572037  51.358769   7.360073   1.647943

Interpretasi Eigen value:

Eigen value menunjukkan bahwa komponen utama pertama memiliki nilai paling besar (529,52), sehingga menjelaskan sebagian besar variasi data. Komponen kedua dan ketiga memiliki eigen value yang jauh lebih kecil (136,77 dan 64,57), menandakan kontribusi variasi yang menurun. Hal ini menunjukkan bahwa sebagian besar informasi data dapat direpresentasikan oleh beberapa komponen utama saja.

# Eigen vector
eigen_result$vectors
##              [,1]         [,2]        [,3]         [,4]        [,5]
## [1,] -0.346411189  0.923900546 -0.13192259  0.042731491  0.08198705
## [2,] -0.764857940 -0.293487053  0.14910706  0.553048994  0.02349903
## [3,] -0.537978589 -0.186074547 -0.12389090 -0.811464330  0.04575582
## [4,] -0.072118241  0.069777475  0.04387199 -0.031191932 -0.99247862
## [5,]  0.018657383 -0.008883756  0.01905652 -0.008215683 -0.04608110
## [6,]  0.004638836  0.143880423  0.97094112 -0.181096759  0.05911889
##              [,6]
## [1,]  0.021345781
## [2,]  0.014469639
## [3,]  0.006196148
## [4,] -0.044928412
## [5,]  0.998508320
## [6,] -0.016098692

Interpretasi Eigen vector:

Eigen vector menunjukkan bahwa pada komponen utama pertama, variabel SystolicBP (-0,765) dan DiastolicBP (-0,538) memiliki kontribusi paling besar, diikuti oleh Age (-0,346). Hal ini menunjukkan bahwa komponen utama pertama merepresentasikan faktor tekanan darah dan usia. Variabel BS, BodyTemp, dan HeartRate memiliki nilai eigen vector yang kecil, sehingga kontribusinya terhadap komponen utama pertama relatif rendah.