1. Import Data

Maternal.Health.Risk.Data.Set <- read.csv("Maternal Health Risk Data Set.csv")
head(Maternal.Health.Risk.Data.Set)
##   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

2. Correlation Matrix

data_num <- Maternal.Health.Risk.Data.Set[,1:6]
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:

Untuk correlation matrix, SystolicBP dan DiastolicBP punya hubungan yang kuat dan positif, jadi kalau tekanan sistolik naik maka diastolik juga ikut naik.

3. 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:

Untuk Covariance matrix jika nilainya positif maka akan searah dan kalau negatif maka akan berlawanan.

4. Eigen Value dan Eigen Vector

eigen_result <- eigen(cov_matrix)

eigen_result$values
## [1] 529.521825 136.772898  64.572037  51.358769   7.360073   1.647943
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:

Untuk eigen value, semakin besar eigen value maka semakin menunjukkan bahawa komponen tersebut seamkin penting, untuk Eigen vector menunjukkan kontribusi masing-masing variabel dalam membentuk komponen utama. Jadi dari eigen vector kita bisa melihat variabel mana yang paling berpengaruh terhadap komponen dengan eigen value terbesar.