Nama Anggota Kelompok: - Erma Shafira Zulfianti (23031554012) - Alin Tifana Safitri (23031554019) - Jesika Trisyanda (23031554228)

Kelas : Analisis Multivariat 2023E UNIVERSITAS NEGERI SURABAYA

1. Pendahuluan

Kesehatan janin merupakan salah satu aspek vital dalam dunia kebidanan dan kandungan, karena kondisi janin yang tidak terdeteksi sejak dini dapat menyebabkan risiko serius baik bagi ibu maupun bayi. Oleh karena itu, pemantauan secara berkala selama masa kehamilan menjadi sangat penting untuk mendeteksi kemungkinan adanya kelainan atau komplikasi.

Salah satu metode utama dalam pemantauan kesehatan janin adalah kardiotokografi (CTG), yaitu teknik pencatatan aktivitas detak jantung janin dan kontraksi rahim secara simultan. Hasil dari pemeriksaan CTG menghasilkan berbagai parameter kuantitatif yang dapat dianalisis untuk menilai kondisi janin.

Dalam konteks analisis data, salah satu pendekatan statistik yang dapat digunakan untuk memprediksi tingkat kesehatan janin berdasarkan parameter CTG adalah regresi logistik ordinal. Regresi logistik ordinal merupakan metode analisis yang digunakan ketika variabel dependen (target) memiliki sifat kategori berurutan (ordinal), seperti “Normal”, “Suspect”, dan “Pathological”. Metode ini tidak hanya mempertimbangkan hubungan antara variabel independen dan target, tetapi juga memperhatikan urutan logis dari kategori target tersebut.

2. Deskripsi Dataset

Dataset yang digunakan dalam analisis ini merupakan data hasil CTG yang terdiri dari berbagai parameter numerik yang menggambarkan kondisi janin dan aktivitas rahim selama kehamilan. Dataset ini memiliki satu variabel target yaitu fetal_health, yang merupakan variabel ordinal dengan tiga tingkatan.

  1. baseline.value: Nilai detak jantung janin dasar (Baseline Fetal Heart Rate - FHR).
  2. accelerations: Jumlah percepatan per detik.
  3. fetal_movement: Jumlah pergerakan janin per detik.
  4. uterine_contractions: Jumlah kontraksi uterine per detik.
  5. light_decelerations: Jumlah penurunan ringan per detik.
  6. severe_decelerations: Jumlah penurunan berat per detik.
  7. prolongued_decelerations: Jumlah penurunan berkepanjangan per detik.
  8. abnormal_short_term_variability: Persentase waktu dengan variabilitas jangka pendek yang abnormal. 9 mean_value_of_short_term_variability: Nilai rata-rata variabilitas jangka pendek.
  9. percentage_of_time_with_abnormal_long_term_variability: Persentase waktu dengan variabilitas jangka panjang yang abnormal.
  10. mean_value_of_long_term_variability: Nilai rata-rata variabilitas jangka panjang.
  11. histogram_width: Lebar histogram yang dibuat menggunakan semua nilai dari suatu rekaman.
  12. histogram_min: Nilai minimum histogram.
  13. histogram_max: Nilai maksimum histogram.
  14. histogram_number_of_peaks: Jumlah puncak dalam histogram ujian.
  15. histogram_number_of_zeroes: Jumlah nol dalam histogram ujian.
  16. histogram_mode: Modus histogram.
  17. histogram_mean: Rata-rata histogram.
  18. histogram_median: Median histogram.
  19. histogram_variance: Varians histogram.
  20. histogram_tendency: Tren histogram.
  21. fetal_health: Status kesehatan janin dengan kategori: 1: Normal 2: Suspect 3: Pathological

Penjelasan Tentang Variabel: - Variabel Dependen (fetal_health): Merupakan variabel yang menggambarkan status kesehatan janin, dengan tiga kategori ordinal (Normal, Suspect, Pathological). - Variabel Independen: Merupakan serangkaian variabel fisiologis yang diukur pada janin selama pemeriksaan untuk menentukan pengaruhnya terhadap status kesehatan janin.

3. Input Data

data <- read.csv("fetal_health.csv")

data

Membaca dataset CSV berisi informasi kesehatan janin ke dalam variabel data.

Data tersebut terdiri dari 2126 baris dan 22 kolom.

4. Preprocessing

# Mengecek missing values
sum(is.na(data)) 
## [1] 0

Menghitung jumlah data yang hilang (NA) dalam dataset. Hasil : 0 maka tidak ada nilai kosong dalam dataset.

# Ubah target menjadi faktor ordinal
data$fetal_health <- factor(data$fetal_health, 
                            levels = c(1, 2, 3), 
                            labels = c("Normal", "Suspect", "Pathologic"), 
                            ordered = TRUE)

Variabel target fetal_health diubah dari tipe numerik menjadi faktor ordinal. Proses ini dilakukan dengan mendefinisikan tiga level yaitu 1, 2, dan 3 yang kemudian diberi label deskriptif “Normal”, “Suspect”, dan “Pathologic”.

# Standarisasi semua kolom numerik kecuali 'fetal_health'
data[, -which(names(data) == "fetal_health")] <- scale(data[, -which(names(data) == "fetal_health")])

seluruh variabel numerik dalam dataset, kecuali fetal_health, distandarisasi menggunakan fungsi scale(). Langkah ini bertujuan untuk mengubah distribusi data menjadi berskala standar, yaitu dengan nilai rata-rata nol dan standar deviasi satu. Standarisasi diperlukan untuk memastikan bahwa semua fitur memiliki kontribusi yang seimbang terhadap model dan tidak ada variabel yang mendominasi karena perbedaan skala.

5. Korelasi Antar Variabel

# Korelasi antar variabel prediktor
cor_matrix <- cor(data[, -which(names(data) == "fetal_health")])
round(cor_matrix, 2)
##                                                        baseline.value
## baseline.value                                                   1.00
## accelerations                                                   -0.08
## fetal_movement                                                  -0.03
## uterine_contractions                                            -0.15
## light_decelerations                                             -0.16
## severe_decelerations                                            -0.05
## prolongued_decelerations                                        -0.10
## abnormal_short_term_variability                                  0.31
## mean_value_of_short_term_variability                            -0.28
## percentage_of_time_with_abnormal_long_term_variability           0.29
## mean_value_of_long_term_variability                             -0.03
## histogram_width                                                 -0.15
## histogram_min                                                    0.36
## histogram_max                                                    0.28
## histogram_number_of_peaks                                       -0.11
## histogram_number_of_zeroes                                       0.00
## histogram_mode                                                   0.71
## histogram_mean                                                   0.72
## histogram_median                                                 0.79
## histogram_variance                                              -0.13
## histogram_tendency                                               0.29
##                                                        accelerations
## baseline.value                                                 -0.08
## accelerations                                                   1.00
## fetal_movement                                                  0.05
## uterine_contractions                                            0.09
## light_decelerations                                            -0.11
## severe_decelerations                                           -0.04
## prolongued_decelerations                                       -0.13
## abnormal_short_term_variability                                -0.28
## mean_value_of_short_term_variability                            0.21
## percentage_of_time_with_abnormal_long_term_variability         -0.37
## mean_value_of_long_term_variability                            -0.14
## histogram_width                                                 0.30
## histogram_min                                                  -0.15
## histogram_max                                                   0.39
## histogram_number_of_peaks                                       0.19
## histogram_number_of_zeroes                                     -0.01
## histogram_mode                                                  0.24
## histogram_mean                                                  0.27
## histogram_median                                                0.27
## histogram_variance                                              0.13
## histogram_tendency                                              0.03
##                                                        fetal_movement
## baseline.value                                                  -0.03
## accelerations                                                    0.05
## fetal_movement                                                   1.00
## uterine_contractions                                            -0.07
## light_decelerations                                              0.05
## severe_decelerations                                            -0.01
## prolongued_decelerations                                         0.27
## abnormal_short_term_variability                                 -0.10
## mean_value_of_short_term_variability                             0.12
## percentage_of_time_with_abnormal_long_term_variability          -0.07
## mean_value_of_long_term_variability                              0.01
## histogram_width                                                  0.16
## histogram_min                                                   -0.15
## histogram_max                                                    0.10
## histogram_number_of_peaks                                        0.16
## histogram_number_of_zeroes                                      -0.02
## histogram_mode                                                  -0.06
## histogram_mean                                                  -0.09
## histogram_median                                                -0.07
## histogram_variance                                               0.18
## histogram_tendency                                               0.00
##                                                        uterine_contractions
## baseline.value                                                        -0.15
## accelerations                                                          0.09
## fetal_movement                                                        -0.07
## uterine_contractions                                                   1.00
## light_decelerations                                                    0.29
## severe_decelerations                                                   0.01
## prolongued_decelerations                                               0.08
## abnormal_short_term_variability                                       -0.23
## mean_value_of_short_term_variability                                   0.29
## percentage_of_time_with_abnormal_long_term_variability                -0.31
## mean_value_of_long_term_variability                                   -0.07
## histogram_width                                                        0.14
## histogram_min                                                         -0.11
## histogram_max                                                          0.12
## histogram_number_of_peaks                                              0.08
## histogram_number_of_zeroes                                             0.06
## histogram_mode                                                        -0.10
## histogram_mean                                                        -0.19
## histogram_median                                                      -0.14
## histogram_variance                                                     0.24
## histogram_tendency                                                    -0.07
##                                                        light_decelerations
## baseline.value                                                       -0.16
## accelerations                                                        -0.11
## fetal_movement                                                        0.05
## uterine_contractions                                                  0.29
## light_decelerations                                                   1.00
## severe_decelerations                                                  0.11
## prolongued_decelerations                                              0.23
## abnormal_short_term_variability                                      -0.12
## mean_value_of_short_term_variability                                  0.56
## percentage_of_time_with_abnormal_long_term_variability               -0.27
## mean_value_of_long_term_variability                                  -0.24
## histogram_width                                                       0.52
## histogram_min                                                        -0.55
## histogram_max                                                         0.22
## histogram_number_of_peaks                                             0.40
## histogram_number_of_zeroes                                            0.24
## histogram_mode                                                       -0.35
## histogram_mean                                                       -0.53
## histogram_median                                                     -0.39
## histogram_variance                                                    0.56
## histogram_tendency                                                    0.00
##                                                        severe_decelerations
## baseline.value                                                        -0.05
## accelerations                                                         -0.04
## fetal_movement                                                        -0.01
## uterine_contractions                                                   0.01
## light_decelerations                                                    0.11
## severe_decelerations                                                   1.00
## prolongued_decelerations                                               0.01
## abnormal_short_term_variability                                        0.03
## mean_value_of_short_term_variability                                   0.03
## percentage_of_time_with_abnormal_long_term_variability                -0.03
## mean_value_of_long_term_variability                                   -0.04
## histogram_width                                                        0.04
## histogram_min                                                         -0.07
## histogram_max                                                         -0.02
## histogram_number_of_peaks                                              0.01
## histogram_number_of_zeroes                                             0.04
## histogram_mode                                                        -0.22
## histogram_mean                                                        -0.16
## histogram_median                                                      -0.16
## histogram_variance                                                     0.14
## histogram_tendency                                                    -0.07
##                                                        prolongued_decelerations
## baseline.value                                                            -0.10
## accelerations                                                             -0.13
## fetal_movement                                                             0.27
## uterine_contractions                                                       0.08
## light_decelerations                                                        0.23
## severe_decelerations                                                       0.01
## prolongued_decelerations                                                   1.00
## abnormal_short_term_variability                                            0.05
## mean_value_of_short_term_variability                                       0.27
## percentage_of_time_with_abnormal_long_term_variability                    -0.14
## mean_value_of_long_term_variability                                       -0.23
## histogram_width                                                            0.27
## histogram_min                                                             -0.28
## histogram_max                                                              0.12
## histogram_number_of_peaks                                                  0.22
## histogram_number_of_zeroes                                                 0.06
## histogram_mode                                                            -0.44
## histogram_mean                                                            -0.49
## histogram_median                                                          -0.44
## histogram_variance                                                         0.50
## histogram_tendency                                                        -0.22
##                                                        abnormal_short_term_variability
## baseline.value                                                                    0.31
## accelerations                                                                    -0.28
## fetal_movement                                                                   -0.10
## uterine_contractions                                                             -0.23
## light_decelerations                                                              -0.12
## severe_decelerations                                                              0.03
## prolongued_decelerations                                                          0.05
## abnormal_short_term_variability                                                   1.00
## mean_value_of_short_term_variability                                             -0.43
## percentage_of_time_with_abnormal_long_term_variability                            0.46
## mean_value_of_long_term_variability                                              -0.32
## histogram_width                                                                  -0.26
## histogram_min                                                                     0.28
## histogram_max                                                                    -0.11
## histogram_number_of_peaks                                                        -0.17
## histogram_number_of_zeroes                                                       -0.15
## histogram_mode                                                                    0.06
## histogram_mean                                                                    0.07
## histogram_median                                                                  0.12
## histogram_variance                                                               -0.15
## histogram_tendency                                                               -0.01
##                                                        mean_value_of_short_term_variability
## baseline.value                                                                        -0.28
## accelerations                                                                          0.21
## fetal_movement                                                                         0.12
## uterine_contractions                                                                   0.29
## light_decelerations                                                                    0.56
## severe_decelerations                                                                   0.03
## prolongued_decelerations                                                               0.27
## abnormal_short_term_variability                                                       -0.43
## mean_value_of_short_term_variability                                                   1.00
## percentage_of_time_with_abnormal_long_term_variability                                -0.47
## mean_value_of_long_term_variability                                                    0.07
## histogram_width                                                                        0.66
## histogram_min                                                                         -0.62
## histogram_max                                                                          0.41
## histogram_number_of_peaks                                                              0.50
## histogram_number_of_zeroes                                                             0.27
## histogram_mode                                                                        -0.31
## histogram_mean                                                                        -0.45
## histogram_median                                                                      -0.34
## histogram_variance                                                                     0.56
## histogram_tendency                                                                    -0.07
##                                                        percentage_of_time_with_abnormal_long_term_variability
## baseline.value                                                                                           0.29
## accelerations                                                                                           -0.37
## fetal_movement                                                                                          -0.07
## uterine_contractions                                                                                    -0.31
## light_decelerations                                                                                     -0.27
## severe_decelerations                                                                                    -0.03
## prolongued_decelerations                                                                                -0.14
## abnormal_short_term_variability                                                                          0.46
## mean_value_of_short_term_variability                                                                    -0.47
## percentage_of_time_with_abnormal_long_term_variability                                                   1.00
## mean_value_of_long_term_variability                                                                     -0.17
## histogram_width                                                                                         -0.45
## histogram_min                                                                                            0.42
## histogram_max                                                                                           -0.28
## histogram_number_of_peaks                                                                               -0.28
## histogram_number_of_zeroes                                                                              -0.12
## histogram_mode                                                                                           0.17
## histogram_mean                                                                                           0.22
## histogram_median                                                                                         0.19
## histogram_variance                                                                                      -0.28
## histogram_tendency                                                                                       0.04
##                                                        mean_value_of_long_term_variability
## baseline.value                                                                       -0.03
## accelerations                                                                        -0.14
## fetal_movement                                                                        0.01
## uterine_contractions                                                                 -0.07
## light_decelerations                                                                  -0.24
## severe_decelerations                                                                 -0.04
## prolongued_decelerations                                                             -0.23
## abnormal_short_term_variability                                                      -0.32
## mean_value_of_short_term_variability                                                  0.07
## percentage_of_time_with_abnormal_long_term_variability                               -0.17
## mean_value_of_long_term_variability                                                   1.00
## histogram_width                                                                       0.11
## histogram_min                                                                        -0.14
## histogram_max                                                                         0.00
## histogram_number_of_peaks                                                             0.06
## histogram_number_of_zeroes                                                            0.12
## histogram_mode                                                                        0.07
## histogram_mean                                                                        0.14
## histogram_median                                                                      0.06
## histogram_variance                                                                   -0.16
## histogram_tendency                                                                    0.15
##                                                        histogram_width
## baseline.value                                                   -0.15
## accelerations                                                     0.30
## fetal_movement                                                    0.16
## uterine_contractions                                              0.14
## light_decelerations                                               0.52
## severe_decelerations                                              0.04
## prolongued_decelerations                                          0.27
## abnormal_short_term_variability                                  -0.26
## mean_value_of_short_term_variability                              0.66
## percentage_of_time_with_abnormal_long_term_variability           -0.45
## mean_value_of_long_term_variability                               0.11
## histogram_width                                                   1.00
## histogram_min                                                    -0.90
## histogram_max                                                     0.69
## histogram_number_of_peaks                                         0.75
## histogram_number_of_zeroes                                        0.32
## histogram_mode                                                   -0.16
## histogram_mean                                                   -0.28
## histogram_median                                                 -0.17
## histogram_variance                                                0.62
## histogram_tendency                                                0.12
##                                                        histogram_min
## baseline.value                                                  0.36
## accelerations                                                  -0.15
## fetal_movement                                                 -0.15
## uterine_contractions                                           -0.11
## light_decelerations                                            -0.55
## severe_decelerations                                           -0.07
## prolongued_decelerations                                       -0.28
## abnormal_short_term_variability                                 0.28
## mean_value_of_short_term_variability                           -0.62
## percentage_of_time_with_abnormal_long_term_variability          0.42
## mean_value_of_long_term_variability                            -0.14
## histogram_width                                                -0.90
## histogram_min                                                   1.00
## histogram_max                                                  -0.30
## histogram_number_of_peaks                                      -0.67
## histogram_number_of_zeroes                                     -0.31
## histogram_mode                                                  0.35
## histogram_mean                                                  0.49
## histogram_median                                                0.40
## histogram_variance                                             -0.55
## histogram_tendency                                             -0.24
##                                                        histogram_max
## baseline.value                                                  0.28
## accelerations                                                   0.39
## fetal_movement                                                  0.10
## uterine_contractions                                            0.12
## light_decelerations                                             0.22
## severe_decelerations                                           -0.02
## prolongued_decelerations                                        0.12
## abnormal_short_term_variability                                -0.11
## mean_value_of_short_term_variability                            0.41
## percentage_of_time_with_abnormal_long_term_variability         -0.28
## mean_value_of_long_term_variability                             0.00
## histogram_width                                                 0.69
## histogram_min                                                  -0.30
## histogram_max                                                   1.00
## histogram_number_of_peaks                                       0.52
## histogram_number_of_zeroes                                      0.18
## histogram_mode                                                  0.24
## histogram_mean                                                  0.19
## histogram_median                                                0.29
## histogram_variance                                              0.44
## histogram_tendency                                             -0.14
##                                                        histogram_number_of_peaks
## baseline.value                                                             -0.11
## accelerations                                                               0.19
## fetal_movement                                                              0.16
## uterine_contractions                                                        0.08
## light_decelerations                                                         0.40
## severe_decelerations                                                        0.01
## prolongued_decelerations                                                    0.22
## abnormal_short_term_variability                                            -0.17
## mean_value_of_short_term_variability                                        0.50
## percentage_of_time_with_abnormal_long_term_variability                     -0.28
## mean_value_of_long_term_variability                                         0.06
## histogram_width                                                             0.75
## histogram_min                                                              -0.67
## histogram_max                                                               0.52
## histogram_number_of_peaks                                                   1.00
## histogram_number_of_zeroes                                                  0.29
## histogram_mode                                                             -0.10
## histogram_mean                                                             -0.22
## histogram_median                                                           -0.12
## histogram_variance                                                          0.45
## histogram_tendency                                                          0.11
##                                                        histogram_number_of_zeroes
## baseline.value                                                               0.00
## accelerations                                                               -0.01
## fetal_movement                                                              -0.02
## uterine_contractions                                                         0.06
## light_decelerations                                                          0.24
## severe_decelerations                                                         0.04
## prolongued_decelerations                                                     0.06
## abnormal_short_term_variability                                             -0.15
## mean_value_of_short_term_variability                                         0.27
## percentage_of_time_with_abnormal_long_term_variability                      -0.12
## mean_value_of_long_term_variability                                          0.12
## histogram_width                                                              0.32
## histogram_min                                                               -0.31
## histogram_max                                                                0.18
## histogram_number_of_peaks                                                    0.29
## histogram_number_of_zeroes                                                   1.00
## histogram_mode                                                              -0.06
## histogram_mean                                                              -0.08
## histogram_median                                                            -0.05
## histogram_variance                                                           0.20
## histogram_tendency                                                           0.08
##                                                        histogram_mode
## baseline.value                                                   0.71
## accelerations                                                    0.24
## fetal_movement                                                  -0.06
## uterine_contractions                                            -0.10
## light_decelerations                                             -0.35
## severe_decelerations                                            -0.22
## prolongued_decelerations                                        -0.44
## abnormal_short_term_variability                                  0.06
## mean_value_of_short_term_variability                            -0.31
## percentage_of_time_with_abnormal_long_term_variability           0.17
## mean_value_of_long_term_variability                              0.07
## histogram_width                                                 -0.16
## histogram_min                                                    0.35
## histogram_max                                                    0.24
## histogram_number_of_peaks                                       -0.10
## histogram_number_of_zeroes                                      -0.06
## histogram_mode                                                   1.00
## histogram_mean                                                   0.89
## histogram_median                                                 0.93
## histogram_variance                                              -0.31
## histogram_tendency                                               0.42
##                                                        histogram_mean
## baseline.value                                                   0.72
## accelerations                                                    0.27
## fetal_movement                                                  -0.09
## uterine_contractions                                            -0.19
## light_decelerations                                             -0.53
## severe_decelerations                                            -0.16
## prolongued_decelerations                                        -0.49
## abnormal_short_term_variability                                  0.07
## mean_value_of_short_term_variability                            -0.45
## percentage_of_time_with_abnormal_long_term_variability           0.22
## mean_value_of_long_term_variability                              0.14
## histogram_width                                                 -0.28
## histogram_min                                                    0.49
## histogram_max                                                    0.19
## histogram_number_of_peaks                                       -0.22
## histogram_number_of_zeroes                                      -0.08
## histogram_mode                                                   0.89
## histogram_mean                                                   1.00
## histogram_median                                                 0.95
## histogram_variance                                              -0.40
## histogram_tendency                                               0.33
##                                                        histogram_median
## baseline.value                                                     0.79
## accelerations                                                      0.27
## fetal_movement                                                    -0.07
## uterine_contractions                                              -0.14
## light_decelerations                                               -0.39
## severe_decelerations                                              -0.16
## prolongued_decelerations                                          -0.44
## abnormal_short_term_variability                                    0.12
## mean_value_of_short_term_variability                              -0.34
## percentage_of_time_with_abnormal_long_term_variability             0.19
## mean_value_of_long_term_variability                                0.06
## histogram_width                                                   -0.17
## histogram_min                                                      0.40
## histogram_max                                                      0.29
## histogram_number_of_peaks                                         -0.12
## histogram_number_of_zeroes                                        -0.05
## histogram_mode                                                     0.93
## histogram_mean                                                     0.95
## histogram_median                                                   1.00
## histogram_variance                                                -0.29
## histogram_tendency                                                 0.39
##                                                        histogram_variance
## baseline.value                                                      -0.13
## accelerations                                                        0.13
## fetal_movement                                                       0.18
## uterine_contractions                                                 0.24
## light_decelerations                                                  0.56
## severe_decelerations                                                 0.14
## prolongued_decelerations                                             0.50
## abnormal_short_term_variability                                     -0.15
## mean_value_of_short_term_variability                                 0.56
## percentage_of_time_with_abnormal_long_term_variability              -0.28
## mean_value_of_long_term_variability                                 -0.16
## histogram_width                                                      0.62
## histogram_min                                                       -0.55
## histogram_max                                                        0.44
## histogram_number_of_peaks                                            0.45
## histogram_number_of_zeroes                                           0.20
## histogram_mode                                                      -0.31
## histogram_mean                                                      -0.40
## histogram_median                                                    -0.29
## histogram_variance                                                   1.00
## histogram_tendency                                                  -0.08
##                                                        histogram_tendency
## baseline.value                                                       0.29
## accelerations                                                        0.03
## fetal_movement                                                       0.00
## uterine_contractions                                                -0.07
## light_decelerations                                                  0.00
## severe_decelerations                                                -0.07
## prolongued_decelerations                                            -0.22
## abnormal_short_term_variability                                     -0.01
## mean_value_of_short_term_variability                                -0.07
## percentage_of_time_with_abnormal_long_term_variability               0.04
## mean_value_of_long_term_variability                                  0.15
## histogram_width                                                      0.12
## histogram_min                                                       -0.24
## histogram_max                                                       -0.14
## histogram_number_of_peaks                                            0.11
## histogram_number_of_zeroes                                           0.08
## histogram_mode                                                       0.42
## histogram_mean                                                       0.33
## histogram_median                                                     0.39
## histogram_variance                                                  -0.08
## histogram_tendency                                                   1.00

Matriks korelasi antar seluruh variabel prediktor (kecuali target fetal_health) menggunakan fungsi cor(). Hasil matriks korelasi menunjukkan hubungan linier antara pasangan variabel. Korelasi positif menandakan bahwa kenaikan nilai suatu variabel cenderung diikuti oleh kenaikan variabel lain, sedangkan korelasi negatif menunjukkan arah sebaliknya.

# Cari pasangan fitur yang sangat berkorelasi (|cor| > 0.8)
high_cor_pairs <- which(abs(cor_matrix) > 0.8 & abs(cor_matrix) < 1, arr.ind = TRUE)
high_cor_df <- data.frame(
  Var1 = rownames(cor_matrix)[high_cor_pairs[, 1]],
  Var2 = colnames(cor_matrix)[high_cor_pairs[, 2]],
  Correlation = cor_matrix[high_cor_pairs]
)

Mencari pasangan variabel yang memiliki korelasi tinggi, didefinisikan sebagai nilai absolut korelasi di atas 0.8 namun kurang dari 1 (untuk mengecualikan korelasi dengan dirinya sendiri).

# Hilangkan duplikat
high_cor_df <- high_cor_df[high_cor_df$Var1 < high_cor_df$Var2, ]

print(high_cor_df)
##               Var1             Var2 Correlation
## 1    histogram_min  histogram_width  -0.8985190
## 3   histogram_mean   histogram_mode   0.8934124
## 4 histogram_median   histogram_mode   0.9333992
## 8   histogram_mean histogram_median   0.9482513

Duplikasi pasangan yang identik dibuang agar tidak ada redudansi. Dari hasil tersebut, ditemukan empat pasangan fitur dengan korelasi tinggi:

  1. histogram_min dan histogram_width: korelasi negatif kuat sebesar -0.90, menunjukkan bahwa semakin kecil nilai minimum histogram, semakin lebar histogramnya.
  2. histogram_mean dan histogram_mode: korelasi positif kuat sebesar 0.89.
  3. histogram_median dan histogram_mode: korelasi sangat kuat sebesar 0.93.
  4. histogram_mean dan histogram_median: korelasi sangat kuat sebesar 0.95.

Korelasi yang sangat tinggi seperti ini dapat menyebabkan multikolinearitas, yang dapat memengaruhi kestabilan koefisien dalam model prediktif

# Cek struktur data setelah perubahan
str(data)
## 'data.frame':    2126 obs. of  22 variables:
##  $ baseline.value                                        : num  -1.3519 -0.1325 -0.0309 0.0707 -0.1325 ...
##  $ accelerations                                         : num  -0.8222 0.73 -0.0461 -0.0461 0.9887 ...
##  $ fetal_movement                                        : num  -0.203 -0.203 -0.203 -0.203 -0.203 ...
##  $ uterine_contractions                                  : num  -1.482 0.554 1.233 1.233 1.233 ...
##  $ light_decelerations                                   : num  -0.638 0.375 0.375 0.375 -0.638 ...
##  $ severe_decelerations                                  : num  -0.0575 -0.0575 -0.0575 -0.0575 -0.0575 ...
##  $ prolongued_decelerations                              : num  -0.269 -0.269 -0.269 -0.269 -0.269 ...
##  $ abnormal_short_term_variability                       : num  1.51 -1.74 -1.8 -1.8 -1.8 ...
##  $ mean_value_of_short_term_variability                  : num  -0.943 0.869 0.869 1.208 1.208 ...
##  $ percentage_of_time_with_abnormal_long_term_variability: num  1.802 -0.535 -0.535 -0.535 -0.535 ...
##  $ mean_value_of_long_term_variability                   : num  -1.028 0.393 0.926 2.632 2.081 ...
##  $ histogram_width                                       : num  -0.165 1.529 1.529 1.195 1.195 ...
##  $ histogram_min                                         : num  -1.068 -0.865 -0.865 -1.373 -1.373 ...
##  $ histogram_max                                         : num  -2.119 1.893 1.893 0.333 0.333 ...
##  $ histogram_number_of_peaks                             : num  -0.701 0.655 0.316 2.35 1.672 ...
##  $ histogram_number_of_zeroes                            : num  -0.458 0.958 0.958 -0.458 -0.458 ...
##  $ histogram_mode                                        : num  -1.0654 0.2166 0.2166 -0.0276 -0.0276 ...
##  $ histogram_mean                                        : num  0.1532 0.0891 0.025 -0.0392 0.0891 ...
##  $ histogram_median                                      : num  -1.18136 0.13201 -0.00624 -0.07537 -0.00624 ...
##  $ histogram_variance                                    : num  1.87 -0.235 -0.2 -0.2 -0.269 ...
##  $ histogram_tendency                                    : num  1.113 -0.524 -0.524 1.113 1.113 ...
##  $ fetal_health                                          : Ord.factor w/ 3 levels "Normal"<"Suspect"<..: 2 1 1 1 1 3 3 3 3 3 ...

6. Eksplorasi Data

summary(data)
##  baseline.value     accelerations     fetal_movement    uterine_contractions
##  Min.   :-2.77454   Min.   :-0.8222   Min.   :-0.2032   Min.   :-1.4821     
##  1st Qu.:-0.74220   1st Qu.:-0.8222   1st Qu.:-0.2032   1st Qu.:-0.8032     
##  Median :-0.03088   Median :-0.3048   Median :-0.2032   Median :-0.1244     
##  Mean   : 0.00000   Mean   : 0.0000   Mean   : 0.0000   Mean   : 0.0000     
##  3rd Qu.: 0.68044   3rd Qu.: 0.7300   3rd Qu.:-0.1389   3rd Qu.: 0.8939     
##  Max.   : 2.71279   Max.   : 4.0930   Max.   :10.1042   Max.   : 3.6094     
##  light_decelerations severe_decelerations prolongued_decelerations
##  Min.   :-0.6383     Min.   :-0.05746     Min.   :-0.2687         
##  1st Qu.:-0.6383     1st Qu.:-0.05746     1st Qu.:-0.2687         
##  Median :-0.6383     Median :-0.05746     Median :-0.2687         
##  Mean   : 0.0000     Mean   : 0.00000     Mean   : 0.0000         
##  3rd Qu.: 0.3752     3rd Qu.:-0.05746     3rd Qu.:-0.2687         
##  Max.   : 4.4289     Max.   :17.39459     Max.   : 8.2066         
##  abnormal_short_term_variability mean_value_of_short_term_variability
##  Min.   :-2.0352                 Min.   :-1.2825                     
##  1st Qu.:-0.8719                 1st Qu.:-0.7164                     
##  Median : 0.1169                 Median :-0.1503                     
##  Mean   : 0.0000                 Mean   : 0.0000                     
##  3rd Qu.: 0.8149                 3rd Qu.: 0.4158                     
##  Max.   : 2.3271                 Max.   : 6.4164                     
##  percentage_of_time_with_abnormal_long_term_variability
##  Min.   :-0.53524                                      
##  1st Qu.:-0.53524                                      
##  Median :-0.53524                                      
##  Mean   : 0.00000                                      
##  3rd Qu.: 0.06269                                      
##  Max.   : 4.41126                                      
##  mean_value_of_long_term_variability histogram_width    histogram_min    
##  Min.   :-1.4547                     Min.   :-1.73135   Min.   :-1.4743  
##  1st Qu.:-0.6374                     1st Qu.:-0.85856   1st Qu.:-0.8992  
##  Median :-0.1399                     Median :-0.07562   Median :-0.0196  
##  Mean   : 0.0000                     Mean   : 0.00000   Mean   : 0.0000  
##  3rd Qu.: 0.4642                     3rd Qu.: 0.75866   3rd Qu.: 0.8938  
##  Max.   : 7.5534                     Max.   : 2.81227   Max.   : 2.2131  
##  histogram_max     histogram_number_of_peaks histogram_number_of_zeroes
##  Min.   :-2.3420   Min.   :-1.3793           Min.   :-0.4583           
##  1st Qu.:-0.6702   1st Qu.:-0.7012           1st Qu.:-0.4583           
##  Median :-0.1129   Median :-0.3622           Median :-0.4583           
##  Mean   : 0.0000   Mean   : 0.0000           Mean   : 0.0000           
##  3rd Qu.: 0.5559   3rd Qu.: 0.6550           3rd Qu.:-0.4583           
##  Max.   : 4.1225   Max.   : 4.7236           Max.   :13.7048           
##  histogram_mode    histogram_mean     histogram_median   histogram_variance
##  Min.   :-4.7281   Min.   :-3.95101   Min.   :-4.22286   Min.   :-0.6491   
##  1st Qu.:-0.5160   1st Qu.:-0.61631   1st Qu.:-0.62837   1st Qu.:-0.5800   
##  Median : 0.0945   Median : 0.08911   Median : 0.06288   Median :-0.4075   
##  Mean   : 0.0000   Mean   : 0.00000   Mean   : 0.00000   Mean   : 0.0000   
##  3rd Qu.: 0.6439   3rd Qu.: 0.66626   3rd Qu.: 0.68500   3rd Qu.: 0.1792   
##  Max.   : 3.0247   Max.   : 3.03903   Max.   : 3.31175   Max.   : 8.6340   
##  histogram_tendency     fetal_health 
##  Min.   :-2.1615    Normal    :1655  
##  1st Qu.:-0.5244    Suspect   : 295  
##  Median :-0.5244    Pathologic: 176  
##  Mean   : 0.0000                     
##  3rd Qu.: 1.1127                     
##  Max.   : 1.1127
library(arsenal)
## Warning: package 'arsenal' was built under R version 4.4.3
tab <- tableby(fetal_health ~ ., data)
summary(tab, text = TRUE)
## 
## 
## |                                                       | Normal (N=1655) | Suspect (N=295) | Pathologic (N=176) | Total (N=2126)  | p value|
## |:------------------------------------------------------|:---------------:|:---------------:|:------------------:|:---------------:|-------:|
## |baseline.value                                         |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.134 (0.961)  |  0.852 (0.802)  |   -0.164 (0.959)   |  0.000 (1.000)  |        |
## |-  Range                                               | -2.775 - 2.713  | -1.352 - 2.611  |   -2.368 - 1.900   | -2.775 - 2.713  |        |
## |accelerations                                          |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.211 (1.035)  | -0.751 (0.188)  |   -0.721 (0.261)   | -0.000 (1.000)  |        |
## |-  Range                                               | -0.822 - 4.093  | -0.822 - 0.471  |   -0.822 - 0.471   | -0.822 - 4.093  |        |
## |fetal_movement                                         |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.033 (0.878)  | -0.025 (0.894)  |   0.347 (1.838)    | -0.000 (1.000)  |        |
## |-  Range                                               | -0.203 - 10.104 | -0.203 - 9.011  |   -0.203 - 7.833   | -0.203 - 10.104 |        |
## |uterine_contractions                                   |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.141 (0.936)  | -0.671 (0.903)  |   -0.198 (1.231)   | -0.000 (1.000)  |        |
## |-  Range                                               | -1.482 - 3.609  | -1.482 - 2.252  |   -1.482 - 3.270   | -1.482 - 3.609  |        |
## |light_decelerations                                    |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.018 (0.977)  | -0.457 (0.518)  |   0.602 (1.398)    |  0.000 (1.000)  |        |
## |-  Range                                               | -0.638 - 4.429  | -0.638 - 4.091  |   -0.638 - 4.429   | -0.638 - 4.429  |        |
## |severe_decelerations                                   |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.047 (0.429)  | -0.057 (0.000)  |   0.537 (3.176)    |  0.000 (1.000)  |        |
## |-  Range                                               | -0.057 - 17.395 | -0.057 - -0.057 |  -0.057 - 17.395   | -0.057 - 17.395 |        |
## |prolongued_decelerations                               |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.182 (0.446)  | -0.108 (0.749)  |   1.889 (2.324)    | -0.000 (1.000)  |        |
## |-  Range                                               | -0.269 - 4.817  | -0.269 - 4.817  |   -0.269 - 8.207   | -0.269 - 8.207  |        |
## |abnormal_short_term_variability                        |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.263 (0.901)  |  0.867 (0.684)  |   1.021 (0.841)    | -0.000 (1.000)  |        |
## |-  Range                                               | -2.035 - 2.094  | -1.686 - 1.862  |   -1.686 - 2.327   | -2.035 - 2.327  |        |
## |mean_value_of_short_term_variability                   |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.111 (0.927)  | -0.786 (0.748)  |   0.275 (1.358)    |  0.000 (1.000)  |        |
## |-  Range                                               | -1.283 - 6.416  | -1.283 - 5.624  |   -1.283 - 5.624   | -1.283 - 6.416  |        |
## |percentage_of_time_with_abnormal_long_term_variability |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.261 (0.627)  |  1.043 (1.102)  |   0.707 (1.848)    | -0.000 (1.000)  |        |
## |-  Range                                               | -0.535 - 3.433  | -0.535 - 3.161  |   -0.535 - 4.411   | -0.535 - 4.411  |        |
## |mean_value_of_long_term_variability                    |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.092 (1.034)  | -0.029 (0.667)  |   -0.817 (0.727)   | -0.000 (1.000)  |        |
## |-  Range                                               | -1.455 - 7.553  | -1.455 - 3.787  |   -1.455 - 2.365   | -1.455 - 7.553  |        |
## |histogram_width                                        |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.076 (0.933)  | -0.546 (1.014)  |   0.203 (1.260)    | -0.000 (1.000)  |        |
## |-  Range                                               | -1.552 - 2.710  | -1.603 - 2.042  |   -1.731 - 2.812   | -1.731 - 2.812  |        |
## |histogram_min                                          |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.084 (0.922)  |  0.667 (1.049)  |   -0.325 (1.156)   | -0.000 (1.000)  |        |
## |-  Range                                               | -1.474 - 2.213  | -1.474 - 2.078  |   -1.474 - 2.044   | -1.474 - 2.213  |        |
## |histogram_max                                          |                 |                 |                    |                 |   0.085|
## |-  Mean (SD)                                           |  0.026 (0.990)  | -0.088 (0.910)  |   -0.095 (1.208)   | -0.000 (1.000)  |        |
## |-  Range                                               | -2.342 - 4.122  | -2.119 - 2.005  |   -2.008 - 3.677   | -2.342 - 4.122  |        |
## |histogram_number_of_peaks                              |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.032 (0.970)  | -0.256 (1.051)  |   0.127 (1.124)    | -0.000 (1.000)  |        |
## |-  Range                                               | -1.379 - 4.724  | -1.379 - 4.046  |   -1.379 - 3.367   | -1.379 - 4.724  |        |
## |histogram_number_of_zeroes                             |                 |                 |                    |                 |   0.111|
## |-  Mean (SD)                                           |  0.017 (0.978)  | -0.113 (1.134)  |   0.033 (0.957)    |  0.000 (1.000)  |        |
## |-  Range                                               | -0.458 - 13.705 | -0.458 - 10.872 |   -0.458 - 3.791   | -0.458 - 13.705 |        |
## |histogram_mode                                         |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.049 (0.819)  |  0.556 (0.670)  |   -1.395 (1.596)   |  0.000 (1.000)  |        |
## |-  Range                                               | -3.141 - 3.025  | -2.897 - 1.804  |   -4.728 - 1.376   | -4.728 - 3.025  |        |
## |histogram_mean                                         |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.032 (0.835)  |  0.651 (0.675)  |   -1.387 (1.461)   | -0.000 (1.000)  |        |
## |-  Range                                               | -2.989 - 3.039  | -2.348 - 2.398  |   -3.951 - 1.500   | -3.951 - 3.039  |        |
## |histogram_median                                       |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.026 (0.871)  |  0.621 (0.725)  |   -1.281 (1.337)   |  0.000 (1.000)  |        |
## |-  Range                                               | -2.287 - 3.312  | -3.255 - 2.482  |   -4.223 - 1.515   | -4.223 - 3.312  |        |
## |histogram_variance                                     |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           | -0.046 (0.769)  | -0.400 (0.630)  |   1.102 (2.091)    | -0.000 (1.000)  |        |
## |-  Range                                               | -0.649 - 5.459  | -0.649 - 3.354  |   -0.649 - 8.634   | -0.649 - 8.634  |        |
## |histogram_tendency                                     |                 |                 |                    |                 | < 0.001|
## |-  Mean (SD)                                           |  0.035 (0.965)  |  0.186 (0.966)  |   -0.645 (1.134)   | -0.000 (1.000)  |        |
## |-  Range                                               | -2.162 - 1.113  | -2.162 - 1.113  |   -2.162 - 1.113   | -2.162 - 1.113  |        |

Bertujuan untuk memberikan gambaran umum mengenai distribusi data. tableby() digunakan untuk membuat ringkasan statistik deskriptif berdasarkan kategori dari variabel target.

7. Pembentukan Model

library(MASS)
## Warning: package 'MASS' was built under R version 4.4.3
# Model ordinal logistic regression
model_ord <- polr(fetal_health ~ ., data, method = "logistic", Hess = TRUE)
## Warning in polr(fetal_health ~ ., data, method = "logistic", Hess = TRUE):
## design appears to be rank-deficient, so dropping some coefs
summary(model_ord)
## Call:
## polr(formula = fetal_health ~ ., data = data, Hess = TRUE, method = "logistic")
## 
## Coefficients:
##                                                            Value Std. Error
## baseline.value                                          0.525506    0.23798
## accelerations                                          -2.632034    0.35347
## fetal_movement                                          0.228139    0.09161
## uterine_contractions                                   -0.554651    0.09109
## light_decelerations                                     0.008476    0.15504
## severe_decelerations                                    0.113793    0.07364
## prolongued_decelerations                                1.388268    0.14036
## abnormal_short_term_variability                         1.469920    0.14113
## mean_value_of_short_term_variability                   -0.189618    0.17190
## percentage_of_time_with_abnormal_long_term_variability  0.592582    0.08245
## mean_value_of_long_term_variability                     0.202377    0.14070
## histogram_width                                         1.517214    0.29220
## histogram_min                                           1.719456    0.30570
## histogram_number_of_peaks                              -0.085116    0.12574
## histogram_number_of_zeroes                              0.037260    0.08212
## histogram_mode                                         -0.918328    0.30500
## histogram_mean                                          0.653210    0.34330
## histogram_median                                       -0.663068    0.42446
## histogram_variance                                      0.799546    0.15981
## histogram_tendency                                      0.254947    0.11559
##                                                         t value
## baseline.value                                          2.20818
## accelerations                                          -7.44622
## fetal_movement                                          2.49022
## uterine_contractions                                   -6.08873
## light_decelerations                                     0.05467
## severe_decelerations                                    1.54532
## prolongued_decelerations                                9.89088
## abnormal_short_term_variability                        10.41539
## mean_value_of_short_term_variability                   -1.10308
## percentage_of_time_with_abnormal_long_term_variability  7.18695
## mean_value_of_long_term_variability                     1.43836
## histogram_width                                         5.19245
## histogram_min                                           5.62465
## histogram_number_of_peaks                              -0.67690
## histogram_number_of_zeroes                              0.45375
## histogram_mode                                         -3.01091
## histogram_mean                                          1.90272
## histogram_median                                       -1.56215
## histogram_variance                                      5.00325
## histogram_tendency                                      2.20561
## 
## Intercepts:
##                    Value   Std. Error t value
## Normal|Suspect      3.5905  0.2488    14.4340
## Suspect|Pathologic  6.5563  0.3120    21.0165
## 
## Residual Deviance: 1253.083 
## AIC: 1297.083

Model regresi logistik ordinal berhasil dibentuk untuk memprediksi tingkat kesehatan janin (fetal_health). Hasil menunjukkan bahwa beberapa variabel berpengaruh signifikan terhadap klasifikasi, seperti accelerations (pengaruh negatif signifikan), prolongued_decelerations, abnormal_short_term_variability, percentage_of_time_with_abnormal_long_term_variability, histogram_width, dan histogram_min (semuanya dengan pengaruh positif signifikan). Nilai t yang tinggi menunjukkan kekuatan kontribusi fitur tersebut dalam memisahkan kategori Normal, Suspect, dan Pathologic. Sementara itu, beberapa variabel seperti light_decelerations, histogram_number_of_zeroes, dan number_of_peaks tampak tidak signifikan, yang berpotensi dieliminasi atau ditinjau kembali.

7.1. Uji Multikolinieritas

library(performance)
## Warning: package 'performance' was built under R version 4.4.3
# Cek multikolinearitas
vif_info <- check_collinearity(model_ord)
# Variabel dengan VIF > 5
high_vif_vars <- vif_info$Term[vif_info$VIF > 5]

# Tampilkan
print("Variabel yang akan dihapus karena VIF > 5:")
## [1] "Variabel yang akan dihapus karena VIF > 5:"
print(high_vif_vars)
## [1] "baseline.value"                      "abnormal_short_term_variability"    
## [3] "mean_value_of_long_term_variability" "histogram_width"                    
## [5] "histogram_number_of_zeroes"          "histogram_mode"                     
## [7] "histogram_variance"                  "histogram_tendency"

Uji multikolinieritas dilakukan menggunakan fungsi check_collinearity(). Hasilnya menunjukkan bahwa delapan variabel memiliki nilai VIF (Variance Inflation Factor) lebih dari 5, yang mengindikasikan adanya korelasi tinggi antar prediktor.

# Hapus variabel tersebut dari data
data <- data[, !names(data) %in% high_vif_vars]

Karena multikolinieritas dapat mengganggu kestabilan dan interpretabilitas model, variabel-variabel ini dihapus sebelum dilakukan pemodelan ulang.

7.2. Bangun Ulang Model

model_ord <- polr(fetal_health ~ ., data, method = "logistic", Hess = TRUE)
summary(model_ord)
## Call:
## polr(formula = fetal_health ~ ., data = data, Hess = TRUE, method = "logistic")
## 
## Coefficients:
##                                                           Value Std. Error
## accelerations                                          -3.12105    0.31847
## fetal_movement                                          0.01265    0.08728
## uterine_contractions                                   -0.65147    0.08492
## light_decelerations                                     0.27568    0.12309
## severe_decelerations                                    0.28106    0.06605
## prolongued_decelerations                                1.58846    0.10977
## mean_value_of_short_term_variability                   -0.68567    0.14536
## percentage_of_time_with_abnormal_long_term_variability  0.77818    0.07034
## histogram_min                                           0.37637    0.11846
## histogram_max                                           0.88920    0.10828
## histogram_number_of_peaks                              -0.13929    0.11959
## histogram_mean                                         -0.37598    0.28591
## histogram_median                                       -0.01112    0.26907
##                                                         t value
## accelerations                                          -9.80028
## fetal_movement                                          0.14498
## uterine_contractions                                   -7.67186
## light_decelerations                                     2.23960
## severe_decelerations                                    4.25514
## prolongued_decelerations                               14.47134
## mean_value_of_short_term_variability                   -4.71696
## percentage_of_time_with_abnormal_long_term_variability 11.06395
## histogram_min                                           3.17730
## histogram_max                                           8.21205
## histogram_number_of_peaks                              -1.16471
## histogram_mean                                         -1.31503
## histogram_median                                       -0.04135
## 
## Intercepts:
##                    Value   Std. Error t value
## Normal|Suspect      3.4384  0.2381    14.4423
## Suspect|Pathologic  5.8827  0.2807    20.9594
## 
## Residual Deviance: 1483.986 
## AIC: 1513.986

Setelah menghapus variabel-variabel dengan multikolinieritas tinggi, model regresi logistik ordinal dibangun ulang menggunakan variabel yang tersisa. Hasilnya menunjukkan bahwa sebagian besar variabel tetap memberikan kontribusi signifikan terhadap prediksi tingkat kesehatan janin. Dibandingkan dengan model sebelumnya, model ini lebih stabil secara statistik karena terbebas dari multikolinieritas, meskipun nilai AIC sedikit meningkat menjadi 1513.986 (dari sebelumnya 1297.083), namun merupakan kompromi wajar dalam upaya mendapatkan model yang lebih dapat diinterpretasikan dan bebas dari bias korelasi internal.

7.3. Uji Kesesuaian Model (Goodness of Fit)

library(generalhoslem)
## Warning: package 'generalhoslem' was built under R version 4.4.3
## Loading required package: reshape
## Warning: package 'reshape' was built under R version 4.4.3
# Uji Lipsitz
lipsitz.test(model_ord)
## 
##  Lipsitz goodness of fit test for ordinal response models
## 
## data:  formula:  fetal_health ~ accelerations + fetal_movement + uterine_contractions + formula:      light_decelerations + severe_decelerations + prolongued_decelerations + formula:      mean_value_of_short_term_variability + percentage_of_time_with_abnormal_long_term_variability + formula:      histogram_min + histogram_max + histogram_number_of_peaks + formula:      histogram_mean + histogram_median
## LR statistic = 10.138, df = 9, p-value = 0.3394

Hipotesis :

H0 : Model sesuai (tidak ada perbedaan antara observasi dan prediksi)

H1 : Model tidak sesuai (ada perbedaan antara observasi dan prediksi)

Berdasarkan output tersebut diperoleh informasi bahwa pada pada taraf signifikansi 5%, gagal tolak H0 karena p-value 0.3394 > 0.05 (α = 0.05). Artinya, tidak ada perbedaan antara observasi dan prediksi.

7.4 Odds Ratio

# Odds Ratio
odds_ratio <- exp(coef(model_ord))
print("Odds Ratio:")
## [1] "Odds Ratio:"
print(odds_ratio)
##                                          accelerations 
##                                             0.04411088 
##                                         fetal_movement 
##                                             1.01273435 
##                                   uterine_contractions 
##                                             0.52127953 
##                                    light_decelerations 
##                                             1.31743010 
##                                   severe_decelerations 
##                                             1.32453887 
##                               prolongued_decelerations 
##                                             4.89622506 
##                   mean_value_of_short_term_variability 
##                                             0.50375130 
## percentage_of_time_with_abnormal_long_term_variability 
##                                             2.17751404 
##                                          histogram_min 
##                                             1.45698534 
##                                          histogram_max 
##                                             2.43317045 
##                              histogram_number_of_peaks 
##                                             0.86997802 
##                                         histogram_mean 
##                                             0.68661884 
##                                       histogram_median 
##                                             0.98893667

Dari output tersebut, diperoleh informasi sebagai berikut:

  1. Untuk variabel accelerations, diperoleh nilai odds ratio sebesar 0.0441, artinya setiap peningkatan satu unit pada akselerasi, kemungkinan status kesehatan janin yang lebih buruk (Suspect atau Pathologic) berkurang 0.044 kali dibandingkan dengan keadaan tanpa akselerasi. Ini menunjukkan bahwa lebih banyak akselerasi berhubungan dengan penurunan risiko masalah kesehatan janin.

  2. Untuk variabel fetal_movement, diperoleh nilai odds ratio sebesar 1.0127, artinya setiap peningkatan satu unit pada pergerakan janin akan meningkatkan kemungkinan status kesehatan janin yang lebih buruk sebesar 1.01 kali. Ini menunjukkan bahwa lebih banyak gerakan janin berhubungan dengan peningkatan risiko masalah kesehatan janin, meskipun efeknya sangat kecil.

  3. Untuk variabel uterine_contractions, diperoleh nilai odds ratio sebesar 0.5213, yang berarti setiap peningkatan satu unit pada kontraksi uterine, kemungkinan status patologis pada janin berkurang 0.52 kali dibandingkan dengan keadaan tanpa kontraksi uterine. Ini menunjukkan bahwa kontraksi uterine yang lebih kuat berhubungan dengan penurunan risiko masalah kesehatan janin.

  4. Untuk variabel light_decelerations, diperoleh nilai odds ratio sebesar 1.3174, artinya jika ada satu unit peningkatan dalam decelerasi ringan, kemungkinan status kesehatan janin yang lebih buruk akan meningkat 1.32 kali. Ini menunjukkan bahwa lebih banyak decelerasi ringan berhubungan dengan peningkatan risiko masalah kesehatan janin.

  5. Untuk variabel severe_decelerations, diperoleh nilai odds ratio sebesar 1.3245, artinya jika ada satu unit peningkatan dalam decelerasi berat, kemungkinan status patologis pada janin akan meningkat 1.32 kali dibandingkan dengan keadaan sebelumnya.Menunjukkan bahwa decelerasi berat berhubungan dengan peningkatan risiko masalah kesehatan janin.

  6. Untuk variabel prolongued_decelerations, diperoleh nilai odds ratio sebesar 4.8962, yang berarti jika ada satu unit peningkatan dalam decelerasi berkepanjangan, kemungkinan status patologis pada janin akan meningkat 4.90 kali. Ini menunjukkan bahwa decelerasi berkepanjangan sangat kuat berhubungan dengan peningkatan risiko masalah kesehatan janin.

  7. Untuk variabel mean_value_of_short_term_variability, diperoleh nilai odds ratio sebesar 0.5038, artinya setiap peningkatan satu unit dalam variabilitas jangka pendek, kemungkinan status patologis pada janin akan berkurang 0.50 kali. Menunjukkan bahwa lebih banyak variabilitas jangka pendek berhubungan dengan penurunan risiko masalah kesehatan janin.

  8. Untuk variabel percentage_of_time_with_abnormal_long_term_variability, diperoleh nilai odds ratio sebesar 2.1775, artinya setiap peningkatan satu unit dalam persentase waktu dengan variabilitas jangka panjang abnormal, kemungkinan status patologis pada janin akan meningkat 2.18 kali. Ini menunjukkan bahwa lebih banyak waktu dengan variabilitas jangka panjang abnormal berhubungan dengan peningkatan risiko masalah kesehatan janin.

  9. Untuk variabel histogram_min, diperoleh nilai odds ratio sebesar 1.4570, artinya jika ada satu unit peningkatan pada nilai minimum histogram, kemungkinan status patologis pada janin akan meningkat 1.46 kali. Ini menunjukkan bahwa nilai minimum histogram yang lebih rendah berhubungan dengan peningkatan risiko masalah kesehatan janin.

  10. Untuk variabel histogram_max, diperoleh nilai odds ratio sebesar 2.4332, yang berarti jika ada satu unit peningkatan pada nilai maksimum histogram, kemungkinan status patologis pada janin akan meningkat 2.43 kali. Ini menunjukkan bahwa nilai maksimum histogram yang lebih tinggi berhubungan dengan peningkatan risiko masalah kesehatan janin.

  11. Untuk variabel histogram_number_of_peaks, diperoleh nilai odds ratio sebesar 0.8700, yang berarti setiap peningkatan satu unit pada jumlah puncak histogram, kemungkinan status patologis pada janin akan berkurang 0.87 kali. Ini menunjukkan bahwa lebih banyak puncak histogram berhubungan dengan penurunan risiko masalah kesehatan janin.

  12. Untuk variabel histogram_mean, diperoleh nilai odds ratio sebesar 0.6866, yang berarti setiap peningkatan satu unit pada rata-rata histogram, kemungkinan status patologis pada janin akan berkurang 0.69 kali. Ini menunjukkan bahwa rata-rata histogram yang lebih tinggi berhubungan dengan penurunan risiko masalah kesehatan janin.

  13. Untuk variabel histogram_median, diperoleh nilai odds ratio sebesar 0.9889, artinya setiap peningkatan satu unit pada median histogram, kemungkinan status patologis pada janin akan berkurang 0.99 kali. Ini menunjukkan bahwa median histogram yang lebih tinggi berhubungan dengan penurunan risiko masalah kesehatan janin, meskipun efeknya sangat kecil.

` ## 8. Kesimpulan

Penelitian ini bertujuan untuk menganalisis faktor-faktor yang memengaruhi tingkat kesehatan janin menggunakan metode regresi logistik ordinal. Dengan menggunakan dataset yang terdiri dari berbagai variabel fisiologis hasil pemantauan detak jantung janin melalui kardiotokografi (CTG), dilakukan serangkaian tahap analisis mulai dari eksplorasi data, deteksi multikolinearitas, hingga pemodelan regresi.

Hasil analisis menunjukkan bahwa beberapa fitur seperti accelerations, prolongued decelerations, abnormal short term variability, dan histogram_width memiliki pengaruh signifikan terhadap status kesehatan janin. Secara khusus, peningkatan jumlah akselerasi berkaitan dengan kondisi janin yang lebih sehat, sedangkan tingginya nilai deselerasi berkepanjangan dan variabilitas jangka pendek abnormal meningkatkan risiko janin mengalami kondisi mencurigakan atau patologis. Selain itu, bentuk distribusi histogram denyut jantung janin, seperti lebar histogram, juga memberikan kontribusi dalam memprediksi risiko.

Penghapusan variabel dengan nilai VIF tinggi dilakukan untuk mengatasi multikolinearitas antar variabel dan meningkatkan stabilitas model. Model regresi logistik ordinal yang dibangun setelah proses tersebut menunjukkan hasil yang lebih baik dan mudah diinterpretasikan, serta mampu menangkap urutan tingkat keparahan kondisi janin secara statistik.

Secara keseluruhan, pendekatan regresi logistik ordinal terbukti sesuai dan efektif untuk menganalisis data kesehatan janin yang bersifat ordinal. Hasil penelitian ini dapat memberikan landasan awal bagi pengembangan sistem pendukung keputusan berbasis data untuk membantu tenaga medis dalam memantau dan mengantisipasi kondisi janin secara lebih akurat dan objektif.