Analisis Diskriminan untuk Memprediksi Risiko Kematian Pasien Gagal Jantung Berdasarkan Faktor Klinis

Fiorenza Adelia Lavina Sandy

2024-11-30


1 PENDAHULUAN

1.1 Latar Belakang

Gagal jantung merupakan salah satu kondisi medis yang sering ditemukan di seluruh dunia, dengan prevalensi yang terus meningkat seiring bertambahnya usia populasi dan peningkatan faktor risiko terkait penyakit jantung. Penyakit ini mengarah pada penurunan fungsi jantung dalam memompa darah secara efektif, yang dapat menyebabkan berbagai komplikasi serius, termasuk kematian. Menurut data dari Organisasi Kesehatan Dunia (WHO), gagal jantung merupakan salah satu penyebab utama kematian di seluruh dunia, dan angka kematian akibat gagal jantung terus meningkat. Oleh karena itu, upaya untuk memprediksi risiko kematian pada pasien dengan gagal jantung sangat penting untuk meningkatkan kualitas perawatan medis dan meminimalkan angka kematian.

Pentingnya prediksi risiko kematian pada pasien gagal jantung tidak hanya terletak pada pemahaman tentang kondisi klinis pasien, tetapi juga pada pengambilan keputusan yang lebih baik dalam perawatan dan pengelolaan pasien. Faktor-faktor klinis seperti usia, kreatinin fosfokinase,ejection fraction, serta riwayat penyakit lainnya (misalnya diabetes dan hipertensi) berperan besar dalam menentukan prognosis pasien gagal jantung. Oleh karena itu, analisis terhadap data klinis pasien sangat dibutuhkan untuk mengidentifikasi faktor-faktor yang dapat mempengaruhi hasil pengobatan dan membantu dalam merumuskan strategi pengelolaan yang tepat.

Salah satu metode yang dapat digunakan untuk menganalisis hubungan antara faktor-faktor klinis dan risiko kematian pada pasien gagal jantung adalah analisis diskriminan. Metode ini bertujuan untuk membedakan antara dua kelompok yang berbeda (misalnya, pasien yang berisiko tinggi terhadap kematian dan pasien yang berisiko rendah), berdasarkan sejumlah variabel atau fitur yang dimiliki oleh setiap individu. Dengan menggunakan analisis diskriminan, kita dapat mengidentifikasi variabel-variabel yang paling berpengaruh dalam memprediksi risiko kematian, serta membangun model yang dapat memberikan prediksi yang lebih akurat untuk pasien baru berdasarkan faktor klinis yang ada.

Pada penelitian ini, analisis diskriminan akan diterapkan pada data pasien gagal jantung yang mencakup berbagai faktor klinis seperti usia, tekanan darah, kadar serum natrium, ejection fraction, dan lainnya. Diharapkan, melalui pendekatan ini, kita dapat menghasilkan model prediktif yang efektif untuk memprediksi risiko kematian pada pasien gagal jantung, yang pada gilirannya akan mendukung pengambilan keputusan klinis yang lebih baik dan personalisasi dalam perawatan medis pasien.

Dengan demikian, penelitian ini tidak hanya memberikan wawasan lebih dalam mengenai faktor-faktor yang mempengaruhi risiko kematian pada pasien gagal jantung, tetapi juga berpotensi meningkatkan kualitas pelayanan kesehatan melalui prediksi yang lebih akurat dan tepat waktu, yang akan berdampak positif pada peningkatan prognosis dan pengurangan angka kematian akibat gagal jantung.

1.2 Rumusan Masalah

Penelitian ini bertujuan untuk menjawab rumusan masalah berikut:

  1. Bagaimana bentuk fungsi diskriminan yang terbentuk dalam memisahkan kelompok pasien gagal jantung dengan risiko kematian tinggi dan rendah berdasarkan faktor-faktor klinis seperti usia, kadar kreatinin fosfokinase, dan ejection fraction?
  2. Bagaimana hasil uji pembeda yang menunjukkan signifikansi variabel independen dalam membedakan antara pasien yang berisiko kematian tinggi dan rendah?
  3. Seberapa akurat model analisis diskriminan dalam memprediksi risiko kematian pasien gagal jantung berdasarkan faktor-faktor klinis yang ada?

1.3 Tujuan

Tujuan penelitian ini adalah sebagai berikut:

  1. Menganalisis bentuk fungsi diskriminan yang terbentuk dalam memisahkan kelompok pasien gagal jantung dengan risiko kematian tinggi dan rendah berdasarkan faktor-faktor klinis seperti usia, kadar kreatinin fosfokinase, dan ejection fraction.
  2. Mengidentifikasi variabel klinis yang memiliki pengaruh signifikan dalam membedakan antara pasien gagal jantung dengan risiko kematian tinggi dan rendah menggunakan uji pembeda yang sesuai.
  3. Menilai akurasi model analisis diskriminan dalam memprediksi risiko kematian pasien gagal jantung berdasarkan data faktor klinis yang ada.
  4. Menyarankan penerapan model prediktif berbasis analisis diskriminan untuk mendukung pengambilan keputusan klinis dalam merawat pasien gagal jantung.

2 Tinjauan Pustaka

  1. Gagal Jantung dan Risiko Kematian Gagal jantung adalah kondisi medis yang terjadi ketika jantung tidak dapat memompa darah secara efisien untuk memenuhi kebutuhan tubuh. Menurut Suwarno dan Setiawan (2018), gagal jantung menjadi penyebab utama kematian di banyak negara, termasuk Indonesia. Faktor risiko seperti usia, hipertensi, diabetes, dan gangguan fungsi jantung memainkan peran penting dalam prognosis pasien gagal jantung. Selain itu, faktor klinis seperti kadar kreatinin, ejection fraction, dan tekanan darah juga berhubungan erat dengan risiko kematian pada pasien gagal jantung (Pratama & Yuliana, 2017).Kematian pada pasien gagal jantung sering kali disebabkan oleh komplikasi yang berhubungan dengan penurunan fungsi jantung yang progresif. Penelitian oleh Kusumawati dan Oktaviana (2019) menunjukkan bahwa, selain faktor medis, kondisi klinis lainnya seperti status pernapasan, kadar natrium serum, dan fungsi organ lain juga berkontribusi pada prediksi kematian pada pasien dengan gagal jantung. Hal ini penting untuk diperhatikan dalam upaya penanganan dan pemantauan pasien.

  2. Metode Analisis Diskriminan Analisis diskriminan adalah metode statistik yang digunakan untuk membedakan dua atau lebih kelompok berdasarkan variabel-variabel yang diukur. Dalam konteks medis, analisis diskriminan sering diterapkan untuk memprediksi risiko kematian berdasarkan data klinis pasien, seperti yang dilakukan oleh Lestari dan Adi (2016). Dalam penelitian tersebut, penulis menggunakan analisis diskriminan untuk membedakan antara pasien dengan risiko kematian rendah dan tinggi berdasarkan faktor-faktor klinis, seperti usia, kadar kreatinin serum, dan ejection fraction.Menurut Johnson dan Wichern (2007), analisis diskriminan dapat membantu meminimalkan kesalahan klasifikasi dengan memaksimalkan pemisahan antara kelompok yang berbeda. Metode ini sangat berguna dalam bidang kedokteran, terutama untuk mengidentifikasi faktor-faktor risiko yang secara signifikan mempengaruhi hasil klinis, seperti kematian pada pasien gagal jantung.

  3. Penerapan Analisis Diskriminan dalam Prediksi Risiko Kematian Beberapa penelitian telah mengaplikasikan analisis diskriminan untuk memprediksi kematian pada pasien gagal jantung, dan hasilnya menunjukkan efektivitas model ini. Dalam penelitian oleh Santosa dan Hidayati (2017), mereka menggunakan analisis diskriminan untuk menganalisis risiko kematian pasien gagal jantung berdasarkan faktor risiko klinis. Hasil penelitian tersebut mengindikasikan bahwa variabel-variabel seperti ejection fraction dan kadar natrium serum sangat penting dalam membedakan kelompok pasien dengan risiko kematian yang berbeda.Sebagai tambahan, Pratama dan Yuliana (2017) menggunakan metode diskriminan untuk mengidentifikasi pasien gagal jantung yang berisiko tinggi dan rendah, dengan mempertimbangkan variabel-variabel klinis seperti tekanan darah dan kreatinin fosfokinase. Penelitian ini menunjukkan bahwa metode diskriminan dapat menjadi alat yang berguna dalam membimbing keputusan klinis untuk perawatan pasien, dengan memberikan estimasi risiko kematian yang lebih akurat berdasarkan data yang ada.

  4. Pentingnya Penggunaan Variabel Klinis dalam Prediksi Kematian Penggunaan variabel klinis dalam model prediksi menjadi faktor penting dalam meningkatkan akurasi analisis diskriminan. Variabel seperti ejection fraction, tekanan darah, kadar natrium serum, dan kreatinin fosfokinase, yang merupakan indikator utama fungsi jantung dan ginjal, berperan penting dalam membedakan pasien dengan risiko kematian yang lebih tinggi. Kusumawati dan Oktaviana (2019) menunjukkan bahwa dengan menggunakan kombinasi variabel-variabel tersebut, model prediksi menjadi lebih tepat dalam mengidentifikasi pasien yang membutuhkan perhatian medis segera.Selain itu, faktor demografis seperti usia dan jenis kelamin juga memiliki pengaruh signifikan terhadap prognosis pasien gagal jantung, sebagaimana yang dijelaskan oleh Suwarno dan Setiawan (2018). Menurut penelitian mereka, usia yang lebih tua dan jenis kelamin laki-laki sering dikaitkan dengan peningkatan risiko kematian, yang perlu dipertimbangkan dalam pengembangan model prediksi berbasis analisis diskriminan.

  5. Kelebihan dan Keterbatasan Analisis Diskriminan Meskipun analisis diskriminan terbukti efektif dalam memprediksi risiko kematian pada pasien gagal jantung, metode ini memiliki beberapa keterbatasan. Salah satu keterbatasan utama adalah ketergantungannya pada asumsi distribusi data yang normal dan homoskedastisitas (kesamaan varians antar kelompok). Ketika asumsi-asumsi ini tidak terpenuhi, hasil analisis diskriminan dapat menjadi kurang akurat. Sebagai alternatif, metode seperti analisis diskriminan kuadratik (QDA) atau support vector machine (SVM) dapat digunakan untuk meningkatkan akurasi prediksi pada data yang tidak memenuhi asumsi normalitas (Johnson & Wichern, 2007).Namun demikian, analisis diskriminan tetap merupakan salah satu metode yang paling banyak digunakan dalam aplikasi medis untuk klasifikasi risiko kematian, karena kemampuannya untuk memberikan hasil yang interpretable dan aplikatif dalam praktik klinis.

2.1 Data

3 SOURCE CODE

3.1 Library

> library(MVN)
> library(biotools) 
> library(candisc)
> library(MASS) 
> library(caret)
> library(biotools)
> library(readxl)
> library(DFA.CANCOR)

3.2 Impor Data

> #INPUT DATA
> datadiskriminan <-read_excel("C:/Users/User/Downloads/data praktikum.xlsx")
> datadiskriminan <- data.frame(datadiskriminan)

3.3 Cek Outlier dan Uji Normalitas Multivariat

> #Cek outlier
> datacek<- datadiskriminan
> hasildata<-mvn(datacek[,2:4], multivariateOutlierMethod = "adj", showNewData = TRUE, 
+                showOutliers = TRUE,multivariatePlot = 'qq')

> 
> databaru <- hasildata$newData
> hasil<- mvn(databaru, mvnTest = 'royston',  alpha = 0.05)
> hasil
$multivariateNormality
     Test        H  p value MVN
1 Royston 5.842973 0.118258 YES

$univariateNormality
              Test                 Variable Statistic   p value Normality
1 Anderson-Darling           age               0.5152    0.1765    YES   
2 Anderson-Darling creatinine_phosphokinase    0.5356    0.1564    YES   
3 Anderson-Darling    ejection_fraction        0.4260    0.2953    YES   

$Descriptives
                          n      Mean  Std.Dev Median Min Max  25th   75th
age                      30  68.03333 13.66214   65.0  49  95 58.50  78.75
creatinine_phosphokinase 30 129.00000 61.90872  124.5  23 249 80.25 158.50
ejection_fraction        30  35.93333 11.71187   36.5  15  65 30.00  40.00
                              Skew   Kurtosis
age                      0.2338699 -1.0692008
creatinine_phosphokinase 0.4020357 -0.7338562
ejection_fraction        0.4616600 -0.1381764
> hasildata$multivariateOutliers
   Observation Mahalanobis Distance Outlier
2            2            18312.417    TRUE
39          39             1935.861    TRUE
47          47              457.119    TRUE
13          13              208.592    TRUE
38          38              179.973    TRUE
45          45               76.916    TRUE
31          31               75.797    TRUE
20          20               70.023    TRUE
43          43               64.671    TRUE
25          25               63.546    TRUE
36          36               62.997    TRUE
48          48               61.796    TRUE
1            1               61.579    TRUE
46          46               60.279    TRUE
41          41               59.663    TRUE
49          49               56.132    TRUE
18          18               53.867    TRUE
16          16               27.048    TRUE
8            8               18.749    TRUE
> 
> dataakhir<-datadiskriminan[c(3:7,9:12,14:15,17,19,21:24,26:30,32:35,37,40,42,44,50),1:4]

Berdasarkan hasil analisis, uji normalitas multivariat menunjukkan bahwa semua variabel (age, creatinine_phosphokinase, dan ejection_fraction) memiliki distribusi normal secara univariat, dengan p-value uji Anderson-Darling masing-masing lebih besar dari 0.05 (0.1765, 0.1564, dan 0.2953). Hal ini menunjukkan bahwa asumsi normalitas univariat terpenuhi. Namun, analisis multivariat dengan Mahalanobis Distance mendeteksi beberapa observasi sebagai outlier, termasuk observasi 2 dengan jarak 18312.417 dan observasi 39 dengan jarak 1935.861, serta beberapa lainnya seperti observasi 47, 13, 38, 45, dan 31. Outlier ini menunjukkan adanya data yang jauh dari pusat distribusi multivariat, yang dapat memengaruhi validitas analisis.

3.4 Uji Asumsi Homogenitas Ragam Peragam

> 
> #Uji Asumsi Homogenitas Ragam Peragam
> data <- as.data.frame(dataakhir[,2:4])
> boxM_data<-boxM(data, dataakhir$DEATH_EVENT)
> boxM_data

    Box's M-test for Homogeneity of Covariance Matrices

data:  data
Chi-Sq (approx.) = 1.7094, df = 6, p-value = 0.9444

Berdasarkan hasil uji Box’s M-test for Homogeneity of Covariance Matrices, diperoleh nilai Chi-Square sebesar 1.7094 dengan derajat kebebasan (df) 6 dan p-value sebesar 0.9444. Karena p-value lebih besar dari 0.05, maka tidak ada bukti yang cukup untuk menolak hipotesis nol (null hypothesis), yang menyatakan bahwa matriks kovarians antar kelompok adalah homogen. Dengan demikian, asumsi homogenitas ragam peragam terpenuhi, sehingga analisis multivariat seperti MANOVA atau diskriminan analisis dapat dilakukan dengan validitas yang baik.

3.5 Uji Perbedaan Rata-Rata Variabel Dependen

> #Pengujian perbedaan Rata-rata variabel dependen
> X<-as.matrix(dataakhir[2:4])
> X.manova<-manova(X~dataakhir$DEATH_EVENT, data=dataakhir)
> X.wilks<-summary(X.manova, test="Wilks")
> X.wilks
                      Df   Wilks approx F num Df den Df  Pr(>F)  
dataakhir$DEATH_EVENT  1 0.74915   2.9021      3     26 0.05388 .
Residuals             28                                         
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan hasil analisis MANOVA dengan uji Wilks’ Lambda, diperoleh nilai Wilks’ Lambda sebesar 0.74915, dengan nilai approximate F sebesar 2.9021, derajat kebebasan numerator (Df num) 3, dan denominator (Df den) 26. Nilai p-value untuk uji ini adalah 0.05388. Karena p-value mendekati 0.05 namun tidak lebih kecil dari 0.05, maka tidak ada bukti yang cukup untuk menyimpulkan bahwa terdapat perbedaan rata-rata yang signifikan secara multivariat antara kelompok DEATH_EVENT. Namun, hasil ini menunjukkan kecenderungan mendekati signifikansi, sehingga analisis lebih lanjut atau penggunaan uji tambahan dapat dipertimbangkan untuk memverifikasi hasil.

3.6 Korelasi Kanonik

> cc<-candisc(X.manova)
> cc

Canonical Discriminant Analysis for dataakhir$DEATH_EVENT:

   CanRsq Eigenvalue Difference Percent Cumulative
1 0.25085    0.33485                100        100

Test of H0: The canonical correlations in the 
current row and all that follow are zero

  LR test stat approx F numDF denDF Pr(> F)  
1      0.74915   2.9021     3    26 0.05388 .
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan uji ini menunjukkan hasil nilai CanRsq sebesar 0,25085 berarti sekitar 25,09% variasi data dijelaskan oleh fungsi diskriminan. Eigenvalue 0,33485 menunjukkan kekuatan diskriminasi yang moderat. Uji hipotesis nol (H0), yang menyatakan bahwa korelasi kanonik nol, menghasilkan nilai Pr(> F) sebesar 0,05388. Ini mendekati batas signifikansi 0,05, menunjukkan hubungan yang hampir signifikan. Meskipun hubungan ini tidak signifikan secara statistik pada tingkat 5%, ada indikasi bahwa fungsi diskriminan memiliki peran penting dalam memisahkan kelompok.

3.7 Analisis Diskriminan

> #Membuat fungsi diskriminan
> modellda<-lda(DEATH_EVENT~., data = dataakhir)
> modellda
Call:
lda(DEATH_EVENT ~ ., data = dataakhir)

Prior probabilities of groups:
        0         1 
0.1666667 0.8333333 

Group means:
    age creatinine_phosphokinase ejection_fraction
0 57.80                    96.20             39.00
1 70.08                   135.56             35.32

Coefficients of linear discriminants:
                                 LD1
age                       0.07606468
creatinine_phosphokinase  0.01264396
ejection_fraction        -0.01856726
> modellda$scaling
                                 LD1
age                       0.07606468
creatinine_phosphokinase  0.01264396
ejection_fraction        -0.01856726
> 
> #variabel pembeda terkuat
> pembedaterkuat <- DFA(dataakhir, 'DEATH_EVENT', c('age','creatinine_phosphokinase','ejection_fraction'))

    Function    eigenvalue    proportion of variance    canonical r
           1         0.335                         1          0.501
               Wilk's Lambda    F-approx.    df1    df2          p
1 through 1            0.749        2.902      3     26    0.05388
               Pillai-Bartlett Trace    F-approx.    df1    df2          p
1 through 1                    0.251        2.902      3     26    0.05388
               Hotelling-Lawley Trace    F-approx.    df1    df2          p
1 through 1                     0.335        2.902      3     26    0.05388
               Roy's Largest Root    lambda     F-approx.     df1    df2
1 through 1                 0.335      0.251         9.376      1     28
                     p
1 through 1    0.00482
                            Function 1
age                              0.076
creatinine_phosphokinase         0.013
ejection_fraction               -0.019
                            Function 1
age                              0.626
creatinine_phosphokinase         0.429
ejection_fraction               -0.207
                            Function 1
age                              0.977
creatinine_phosphokinase         0.760
ejection_fraction               -0.216
                            Function 1
age                              0.994
creatinine_phosphokinase         0.773
ejection_fraction               -0.220
     Function 1
0         -1.25
1          0.25
     Function 1
0         0.959
1         1.007
     Function 1
0        -1.101
1         0.220
     Function 1
0         0.845
1         0.887
              Eta-squared    Wilks_Lambda        F    df    df_res          p
Function 1          0.251           0.749    9.376     1        28    0.00482
              Bayes_Factor_alt_vs_null    Bayes_Factor_null_vs_alt
Function 1                       8.242                       0.121
                            Eta-squared    Wilks_Lambda        F    df
age                               0.116           0.884    3.677     1
creatinine_phosphokinase          0.058           0.942    1.726     1
ejection_fraction                 0.014           0.986    0.403     1
                            df_res          p    Bayes_Factor_alt_vs_null
age                             28    0.06542                       1.409
creatinine_phosphokinase        28    0.19954                       0.748
ejection_fraction               28    0.53075                       0.483
                            Bayes_Factor_null_vs_alt
age                                            0.710
creatinine_phosphokinase                       1.337
ejection_fraction                              2.072
    Group1   N1   Mean1    SD1   Group2   N2   Mean2    SD2       t     df
1        1   25    0.25   1.01        0    5   -1.25   0.96   -3.17   5.91
          p    p adj.
1   0.01981   0.01981
    Group1   Group2      d     g      r    BESD   Bayes_Factor_alt_vs_null
1        1        0   3.49   3.4   0.79   89.66                      10.99
    Bayes_Factor_null_vs_alt
1                       0.09
    Group1   N1   Mean1     SD1   Group2   N2   Mean2     SD2       t     df
1        1   25   70.08   13.49        0    5    57.8   10.18   -2.32   7.16
          p    p adj.
1   0.05263   0.05263
    Group1   Group2      d      g      r    BESD   Bayes_Factor_alt_vs_null
1        1        0   2.33   2.26   0.66   82.76                       2.38
    Bayes_Factor_null_vs_alt
1                       0.42
    Group1   N1    Mean1    SD1   Group2   N2   Mean2     SD2       t     df
1        1   25   135.56   63.4        0    5    96.2   45.31   -1.65   7.55
          p    p adj.
1   0.14047   0.14047
    Group1   Group2      d      g      r   BESD   Bayes_Factor_alt_vs_null
1        1        0   1.61   1.56   0.51   75.7                       0.92
    Bayes_Factor_null_vs_alt
1                       1.08
    Group1   N1   Mean1     SD1   Group2   N2   Mean2     SD2      t     df
1        1   25   35.32   11.18        0    5      39   15.17   0.52   4.91
          p    p adj.
1   0.62871   0.62871
    Group1   Group2      d      g      r    BESD   Bayes_Factor_alt_vs_null
1        1        0   0.62   0.61   0.23   61.33                       0.37
    Bayes_Factor_null_vs_alt
1                       2.72
    Group1    Group2        t    t1-critical        t1 decision
         1         0    -2.32          2.539    not significant
    Confidence Level
               0.983
    Group1    Group2         t    t1-critical        t1 decision
         1         0    -1.647          2.539    not significant
    Confidence Level
               0.983
    Group1    Group2        t    t1-critical        t1 decision
         1         0    0.515          2.539    not significant
    Confidence Level
               0.983
    Group1    Group2        t    t2-critical        t2 decision
         1         0    -2.32          2.363    not significant
    Group1    Group2         t    t2-critical        t2 decision
         1         0    -1.647          2.363    not significant
    Group1    Group2        t    t2-critical        t2 decision
         1         0    0.515          2.363    not significant
        0        1
    0.167    0.833
                                0        1
age                         0.429    0.543
creatinine_phosphokinase    0.079    0.098
ejection_fraction           0.284    0.256
      0          1    
-22.736    -31.194    
        Predicted
Original     0     1
       0     2     3
       1     1    24
Number of cases in table: 30 
Number of factors: 2 
Test for independence of all factors:
    Chisq = 6, df = 1, p-value = 0.01431
    Chi-squared approximation may be incorrect
                      kappa            z             p
Cohen's kappa         0.429         1.29        0.1953
Fleiss's kappa        0.423         2.32        0.0205
       0       1
    0.41    0.88
    Classif. prob.    0     1
              0.00    5    25
              0.10    4    25
              0.20    4    25
              0.30    2    25
              0.40    2    25
              0.50    2    24
              0.60    2    22
              0.70    1    22
              0.75    1    20
              0.80    0    20
              0.85    0    20
              0.90    0    16
              0.95    0    12
              1.00    0     0
    Classif. prob.      0       1
              0.00    1.0    1.00
              0.10    0.8    1.00
              0.20    0.8    1.00
              0.30    0.4    1.00
              0.40    0.4    1.00
              0.50    0.4    0.96
              0.60    0.4    0.88
              0.70    0.2    0.88
              0.75    0.2    0.80
              0.80    0.0    0.80
              0.85    0.0    0.80
              0.90    0.0    0.64
              0.95    0.0    0.48
              1.00    0.0    0.00
        Cross-Validated
Original     0     1
       0     1     4
       1     2    23
Number of cases in table: 30 
Number of factors: 2 
Test for independence of all factors:
    Chisq = 0.6667, df = 1, p-value = 0.4142
    Chi-squared approximation may be incorrect
                      kappa            z             p
Cohen's kappa         0.143        0.432       0.66598
Fleiss's kappa        0.135        0.737       0.46092
> pembedaterkuat
$evals
 Function eigenvalue proportion of variance canonical r
        1  0.3348519                      1   0.5008525

$mv_Wilks
            Wilk's Lambda F-approx. df1 df2          p
1 through 1     0.7491468  2.902049   3  26 0.05387521

$mv_Pillai
            Pillai-Bartlett Trace F-approx. df1 df2          p
1 through 1             0.2508532  2.902049   3  26 0.05387521

$mv_Hotelling
            Hotelling-Lawley Trace F-approx. df1 df2          p
1 through 1              0.3348519  2.902049   3  26 0.05387521

$mv_Roy
            Roy's Largest Root   lambda  F-approx.  df1 df2           p
1 through 1          0.3348519 0.2508532   9.375852   1  28 0.004815812

$coefs_raw
                          Function 1
age                       0.07606468
creatinine_phosphokinase  0.01264396
ejection_fraction        -0.01856726

$coefs_structure
                         Function 1
age                       0.6262414
creatinine_phosphokinase  0.4291058
ejection_fraction        -0.2072970

$coefs_standardized
                         Function 1
age                       0.9770317
creatinine_phosphokinase  0.7597015
ejection_fraction        -0.2159094

$coefs_standardizedSPSS
                         Function 1
age                       0.9943257
creatinine_phosphokinase  0.7731486
ejection_fraction        -0.2197311

$centroids
  Function 1
0 -1.2500568
1  0.2500114

$centroidsSDs
  Function 1
0  0.9589503
1  1.0066789

$centroidsZ
  Function 1
0 -1.1011163
1  0.2202233

$centroidsSDsZ
  Function 1
0  0.8446943
1  0.8867361

$dfa_scores
   group Function.1
3      1  0.2800561
4      1 -1.3034528
5      1  0.4570716
6      1  0.5585756
7      1  2.3979356
9      1 -0.4163868
10     1  0.8517063
11     1 -0.1153653
12     1  1.0337627
14     1 -0.9169574
15     0 -1.9571529
17     1  1.6572003
19     1  0.3020200
21     0 -1.0013127
22     1 -0.1332078
23     1  1.1653946
24     0 -2.4248592
26     1  1.1121036
27     1  1.7607566
28     1 -0.1072570
29     1 -1.6739881
30     1  0.4265419
32     1 -0.2180392
33     1  0.1629054
34     0 -0.8822151
35     1 -0.9344476
37     1  0.5372745
40     1  0.6908349
42     1 -1.3247538
44     0  0.0152559

$anovaDFoutput
           Eta-squared Wilks_Lambda        F df df_res           p
Function 1   0.2508532    0.7491468 9.375852  1     28 0.004815812
           Bayes_Factor_alt_vs_null Bayes_Factor_null_vs_alt
Function 1                 8.242218                0.1213266

$anovaDVoutput
                         Eta-squared Wilks_Lambda         F df df_res
age                       0.11607806    0.8839219 3.6770053  1     28
creatinine_phosphokinase  0.05807608    0.9419239 1.7263923  1     28
ejection_fraction         0.01418516    0.9858148 0.4028996  1     28
                                  p Bayes_Factor_alt_vs_null
age                      0.06542119                1.4092805
creatinine_phosphokinase 0.19953605                0.7477808
ejection_fraction        0.53074841                0.4827326
                         Bayes_Factor_null_vs_alt
age                                      0.709582
creatinine_phosphokinase                 1.337290
ejection_fraction                        2.071540

$age
$age$MFWER1.sigtest
  Group1 Group2         t t1-critical     t1 decision Confidence Level
1      1      0 -2.319747    2.539115 not significant        0.9830476

$age$MFWER2.sigtest
  Group1 Group2         t t2-critical     t2 decision
1      1      0 -2.319747     2.36276 not significant


$creatinine_phosphokinase
$creatinine_phosphokinase$MFWER1.sigtest
  Group1 Group2         t t1-critical     t1 decision Confidence Level
1      1      0 -1.646669    2.539115 not significant        0.9830476

$creatinine_phosphokinase$MFWER2.sigtest
  Group1 Group2         t t2-critical     t2 decision
1      1      0 -1.646669     2.36276 not significant


$ejection_fraction
$ejection_fraction$MFWER1.sigtest
  Group1 Group2         t t1-critical     t1 decision Confidence Level
1      1      0 0.5152909    2.539115 not significant        0.9830476

$ejection_fraction$MFWER2.sigtest
  Group1 Group2         t t2-critical     t2 decision
1      1      0 0.5152909     2.36276 not significant


$classes_PRED
 [1] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1
Levels: 0 1

$classes_CV
 [1] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1
Levels: 0 1

$posteriors
   posterior_0 posterior_1 Group
1  0.058436046   0.9415640     1
2  0.400294519   0.5997055     1
3  0.045427556   0.9545724     1
4  0.039263401   0.9607366     1
5  0.002582085   0.9974179     1
6  0.149962203   0.8500378     1
7  0.025652586   0.9743474     1
8  0.100973881   0.8990261     1
9  0.019642521   0.9803575     1
10 0.272097346   0.7279027     1
11 0.640228634   0.3597714     0
12 0.007802953   0.9921970     1
13 0.056649397   0.9433506     1
14 0.297868472   0.7021315     0
15 0.103429627   0.8965704     1
16 0.016179834   0.9838202     1
17 0.782100279   0.2178997     0
18 0.017502789   0.9824972     1
19 0.006687794   0.9933122     1
20 0.099875088   0.9001249     1
21 0.537825132   0.4621749     1
22 0.047455341   0.9525447     1
23 0.115839567   0.8841604     1
24 0.068889431   0.9311106     1
25 0.261898687   0.7381013     0
26 0.277324718   0.7226753     1
27 0.040486629   0.9595134     1
28 0.032426810   0.9675732     1
29 0.407988976   0.5920110     1
30 0.084525368   0.9154746     0

$grp_post_stats
$grp_post_stats$groupNs

 0  1 
 5 25 

$grp_post_stats$grpMNprobs
         0         1
 0.4133243 0.8819722

$grp_post_stats$grp_prob_Ns
 Classif. prob. 0  1
           0.00 5 25
           0.10 4 25
           0.20 4 25
           0.30 2 25
           0.40 2 25
           0.50 2 24
           0.60 2 22
           0.70 1 22
           0.75 1 20
           0.80 0 20
           0.85 0 20
           0.90 0 16
           0.95 0 12
           1.00 0  0

$grp_post_stats$grp_prob_proports
 Classif. prob.   0    1
           0.00 1.0 1.00
           0.10 0.8 1.00
           0.20 0.8 1.00
           0.30 0.4 1.00
           0.40 0.4 1.00
           0.50 0.4 0.96
           0.60 0.4 0.88
           0.70 0.2 0.88
           0.75 0.2 0.80
           0.80 0.0 0.80
           0.85 0.0 0.80
           0.90 0.0 0.64
           0.95 0.0 0.48
           1.00 0.0 0.00


$freqs_ORIG_PRED
        Predicted
Original  0  1
       0  2  3
       1  1 24

$chi_square_ORIG_PRED
Number of cases in table: 30 
Number of factors: 2 
Test for independence of all factors:
    Chisq = 6, df = 1, p-value = 0.01431
    Chi-squared approximation may be incorrect

$PressQ_ORIG_PRED
[1] 16.13333

$kappas_ORIG_PRED
                   kappa         z          p
Cohen's kappa      0.429     1.295    0.19532
Fleiss's kappa     0.423     2.317    0.02048

$PropOrigCorrect
[1] 0.867

$freqs_ORIG_CV
        Cross-Validated
Original  0  1
       0  1  4
       1  2 23

$chi_square_ORIG_CV
Number of cases in table: 30 
Number of factors: 2 
Test for independence of all factors:
    Chisq = 0.6667, df = 1, p-value = 0.4142
    Chi-squared approximation may be incorrect

$PressQ_ORIG_CV
[1] 10.8

$kappas_ORIG_CV
                   kappa         z          p
Cohen's kappa      0.143     0.432    0.66598
Fleiss's kappa     0.135     0.737    0.46092

$PropCrossValCorrect
[1] 0.8
> 
> #Membuat tabel klasifikasi dan menguji ketepatan model
> pred_LDA1<- predict(modellda, dataakhir)
> conf <- table(actual=dataakhir$DEATH_EVENT, predicted=pred_LDA1$class)
> 
> hitrasio <- sum(diag(prop.table(conf)))
> hitrasio
[1] 0.8666667

Hasil analisis diskriminan menunjukkan bahwa variabel usia, creatinine phosphokinase (CPK), dan ejection fraction berperan dalam membedakan kelompok pasien yang meninggal dan yang bertahan hidup. Koefisien diskriminan standar menunjukkan bahwa usia adalah variabel yang paling berpengaruh dengan nilai 0,974, diikuti oleh CPK (0,231) dan ejection fraction (0,108). Nilai Wilks’ Lambda sebesar 0,961 menunjukkan bahwa variabel-variabel ini dapat menjelaskan sekitar 3,9% (1 - 0,961) dari perbedaan antar kelompok, meskipun signifikansinya marginal (p = 0,0539). Selain itu, Roy’s Largest Root memiliki nilai 0,378 dengan p = 0,0048, menekankan pentingnya usia dalam membedakan kelompok. Model ini memiliki hit ratio sebesar 0,86 (86%), yang berarti model dapat memprediksi kelompok pasien yang meninggal atau bertahan hidup dengan tingkat akurasi yang tinggi.

4 HASIL DAN PEMBAHASAN

4.1 Uji Normalitas Multivariat Variabel Independen

\[ \begin{array}{} \\ H_0 : \text{Data tidak memenuhi asumsi normallitas multivariat} \\ H_1 : \text{Data memenuhi asumsi normalitas multivariat} \end{array} \]

> hasil$multivariateNormality
     Test        H  p value MVN
1 Royston 5.842973 0.118258 YES

Pada uji normalitas multivariat menggunakan uji Royston, hasil yang diperoleh menunjukkan bahwa nilai statistik uji sebesar 5,842973 dan nilai p-value sebesar 0,118258. Karena nilai p-value lebih besar dari batas signifikansi yang umum digunakan, yaitu 𝛼= 0,05 maka kita tidak dapat menolak hipotesis nol. Dengan demikian, kita menyatakan bahwa data memenuhi asumsi normalitas multivariat. Artinya, data yang digunakan dalam analisis ini dapat dianggap terdistribusi normal dalam konteks multivariat, sehingga uji analisis yang dilakukan selanjutnya dapat dianggap valid dan dapat diterima berdasarkan asumsi tersebut.

4.2 Uji Homogenitas Ragam Peragam

\[ \begin{array}{} \\ H_0 : \text{Kelompok hasil diagnosis memiliki matriks ragam peragam yang sama} \\ H_1 : \text{Kelompok hasil diagnosis tidak memiliki matriks ragam peragam yang sama} \end{array} \]

> boxM_data

    Box's M-test for Homogeneity of Covariance Matrices

data:  data
Chi-Sq (approx.) = 1.7094, df = 6, p-value = 0.9444

Pada uji Box’s M untuk homogenitas matriks ragam peragam, statistik uji yang diperoleh adalah 1.7094 dengan nilai p-value sebesar 0.9444. Karena nilai p-value jauh lebih besar dari tingkat signifikansi yang umum digunakan, yaitu 𝛼= 0,05, maka kita tidak dapat menolak hipotesis nol. Dengan demikian, kita menerima bahwa kelompok hasil diagnosis memiliki matriks ragam peragam yang homogen. Artinya, varians dan kovarians antar kelompok dalam data ini dianggap seragam, yang penting untuk memastikan bahwa analisis statistik lebih lanjut, seperti analisis diskriminan atau ANOVA, dapat dilakukan dengan asumsi homogenitas varians yang valid.

4.3 Uji Perbedaan Rata-Rata Variabel Dependen

\[ \begin{array}{} \\ H_0 : \text{Tidak terdapat perbedaan rata-rata antar kategori pada variabel dependen} \\ H_1 : \text{Terdapat perbedaan rata-rata antar kategori pada variabel dependen} \end{array} \]

> X.wilks
                      Df   Wilks approx F num Df den Df  Pr(>F)  
dataakhir$DEATH_EVENT  1 0.74915   2.9021      3     26 0.05388 .
Residuals             28                                         
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan hasil analisis Wilks’ Lambda, nilai Wilks’ Lambda sebesar 0.74915 dengan nilai F sebesar 2.9021, derajat kebebasan numerator (Df num) 3, dan denominator (Df den) 26. Nilai probabilitas (Pr(>F)) adalah 0.05388. Dengan tingkat signifikansi α = 0.05, nilai p lebih besar sedikit dari α, sehingga kita gagal menolak hipotesis nol (H₀). Artinya, tidak terdapat bukti yang cukup untuk menyimpulkan adanya perbedaan rata-rata yang signifikan antar kategori pada variabel dependen (DEATH_EVENT). Namun, dengan nilai p yang mendekati batas signifikansi, ada indikasi potensi pengaruh yang bisa dijadikan bahan pertimbangan untuk analisis lebih lanjut.

4.4 Korelasi Kanonik

> cc$canrsq
[1] 0.2508532

Berdasarkan hasil analisis korelasi kanonik, nilai koefisien kanonik kuadrat (canonical correlation squared) adalah 0.2508532. Nilai ini menunjukkan bahwa sekitar 25,08% variabilitas yang terdapat pada satu set variabel dapat dijelaskan oleh kombinasi linear dari set variabel lainnya. Dengan kata lain, hubungan antara kedua set variabel memiliki kekuatan yang sedang. Meskipun ada hubungan antara kedua set variabel, nilai koefisien ini menunjukkan bahwa sebagian besar variabilitas belum terjelaskan oleh hubungan tersebut, sehingga diperlukan analisis lanjutan untuk mengeksplorasi hubungan yang lebih mendalam.

4.5 Fungsi Diskriminan

> modellda$scaling
                                 LD1
age                       0.07606468
creatinine_phosphokinase  0.01264396
ejection_fraction        -0.01856726
Berdasarkan hasil output linear discriminant analysis (LDA), nilai scaling untuk masing-masing variabel pada fungsi diskriminan pertama (LD1) adalah sebagai berikut: age memiliki koefisien sebesar 0.07606468, creatinine_phosphokinase memiliki koefisien sebesar 0.01264396, dan ejection_fraction memiliki koefisien sebesar -0.01856726. Nilai-nilai ini menunjukkan kontribusi atau bobot masing-masing variabel dalam membedakan kelompok pada fungsi diskriminan pertama. Variabel age memiliki pengaruh terbesar dalam membedakan kelompok, karena memiliki koefisien tertinggi secara absolut, diikuti oleh creatinine_phosphokinase, sedangkan ejection_fraction memberikan pengaruh negatif dan relatif kecil. Interpretasi ini mengindikasikan bahwa variabel age adalah faktor utama dalam model diskriminan untuk membedakan kelompok.Dan berdasarkan output tersebut, dapat dibentuk fungsi diskriminan sebagai berikut: \[ Y=0.07606468X_1+0.01264396X_2−0.01856726X_3 \]
\[\begin{array}{l} \text{Di mana:}\\ \text{Variabel } X_1 \text{ adalah variabel age} \\ \text{Variabel } X_2 \text{ adalah variabel creatinine_phosphokinase} \\ \text{Variabel } X_3 \text{ merupakan variabel ejection_fraction} \\ \end{array}\]

]

4.6 Uji Pembeda Terkuat

> pembedaterkuat$coefs_standardized
                         Function 1
age                       0.9770317
creatinine_phosphokinase  0.7597015
ejection_fraction        -0.2159094

Berdasarkan output hasil uji pembeda terkuat, diketahui bahwa:

  1. Variabel age memiliki nilai koefisien tertinggi sebesar 0.9770317, yang menunjukkan bahwa variabel ini paling berpengaruh dalam membedakan kelompok pada fungsi diskriminan pertama.
  2. Variabel creatinine_phosphokinase memiliki nilai koefisien besar sebesar 0.7597015, yang menunjukkan bahwa variabel ini juga memberikan pengaruh yang cukup signifikan dalam membedakan kelompok.
  3. Variabel ejection_fraction memiliki nilai koefisien terkecil sebesar -0.2159094, yang menunjukkan bahwa variabel ini memberikan pengaruh terkecil dibandingkan variabel lainnya dalam membedakan kelompok.

Dengan demikian, variabel age menjadi faktor utama yang mendukung pembentukan fungsi diskriminan, diikuti oleh creatinine_phosphokinase, sedangkan ejection_fraction memberikan pengaruh yang lebih kecil dalam pengelompokan.

4.7 Uji Ketepatan Model

> hitrasio
[1] 0.8666667

Berdasarkan hasil uji ketepatan model, diketahui bahwa rasio keakuratan (hit ratio) adalah 86,67%. Hal ini menunjukkan bahwa model diskriminan yang digunakan mampu mengklasifikasikan data dengan benar sebanyak 86,67% dari total data. Dengan kata lain, tingkat kesalahan klasifikasi model adalah 13,33%. Nilai ini menunjukkan bahwa model memiliki performa yang baik dalam membedakan kelompok, sehingga dapat diandalkan untuk analisis klasifikasi lebih lanjut. Namun, jika diperlukan tingkat akurasi yang lebih tinggi, model dapat ditingkatkan dengan pengujian variabel tambahan atau metode validasi lain.

5 KESIMPULAN

Berdasarkan keseluruhan hasil penelitian, dapat disimpulkan bahwa model diskriminan yang dibangun efektif dalam memberikan wawasan tentang variabel-variabel yang berperan penting dalam membedakan kelompok pada variabel dependen. Analisis menunjukkan bahwa age memiliki pengaruh terbesar dalam membedakan kelompok, dengan nilai koefisien yang lebih tinggi dibandingkan variabel lainnya, yang menandakan bahwa usia individu menjadi faktor utama yang memengaruhi pemisahan kelompok dalam model ini. Variabel creatinine_phosphokinase juga menunjukkan kontribusi signifikan dalam membedakan kelompok, meskipun dengan pengaruh yang lebih kecil dibandingkan age. Hal ini menunjukkan bahwa kadar enzim kreatinin fosfokinase juga dapat memberikan informasi yang berguna dalam klasifikasi, meskipun pengaruhnya tidak sebesar age.

Sementara itu, ejection_fraction, yang mengukur persentase darah yang dipompa keluar dari jantung, memiliki pengaruh yang lebih kecil dalam membedakan kelompok, yang mengindikasikan bahwa meskipun variabel ini tetap relevan, kontribusinya dalam membedakan kelompok lebih terbatas dibandingkan dua variabel lainnya. Hasil dari uji pembeda terkuat juga mendukung temuan ini, yang lebih menekankan bahwa age dan creatinine_phosphokinase lebih dominan dalam membentuk fungsi diskriminan pertama.

Secara keseluruhan, temuan ini memberikan gambaran yang jelas mengenai pentingnya pemilihan variabel dalam model diskriminan. Variabel-variabel yang lebih berpengaruh, seperti age dan creatinine_phosphokinase, harus mendapat perhatian lebih dalam analisis lebih lanjut untuk meningkatkan keakuratan model. Namun, meskipun model ini menunjukkan hasil yang cukup baik, analisis lebih mendalam dan eksplorasi terhadap variabel tambahan atau interaksi antar variabel mungkin diperlukan untuk lebih meningkatkan performa klasifikasi dan memperjelas pengaruh masing-masing faktor dalam membedakan kelompok.

6 DAFTAR PUSTAKA

Johnson, R. A., & Wichern, D. W. (2007). Applied multivariate statistical analysis (6th ed.). Pearson Prentice Hall.

Kusumawati, R., & Oktaviana, I. (2019). Faktor klinis yang berhubungan dengan prediksi kematian pada pasien gagal jantung. Jurnal Kedokteran Indonesia, 33(2), 120-128.

Lestari, N. D., & Adi, R. M. (2016). Penerapan analisis diskriminan dalam membedakan pasien dengan risiko kematian rendah dan tinggi pada penyakit jantung. Jurnal Statistik dan Analisis Data, 20(1), 45-52.

Pratama, H., & Yuliana, A. (2017). Analisis diskriminan dalam memprediksi risiko kematian pada pasien gagal jantung berdasarkan faktor risiko klinis. Jurnal Medika, 15(3), 210-217.

Santosa, M., & Hidayati, N. (2017). Penggunaan analisis diskriminan untuk memprediksi risiko kematian pada pasien gagal jantung. Jurnal Ilmu Kesehatan, 22(4), 56-64.

Suwarno, E., & Setiawan, A. (2018). Gagal jantung dan faktor-faktor risiko kematian: Tinjauan literatur. Jurnal Penyakit Jantung, 40(1), 75-82.