Analisis Faktor-Faktor yang Berpengaruh Signifikan terhadap Risiko Penyakit Jantung Koroner dalam 10 Tahun Menggunakan Model Regresi Logistik Biner

Elvi Rahmawati

2024-06-04

Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")
> # install.packages("readr")
> # install.packages("generalhoslem")
> # install.packages("pscl")
> # install.packages("car")

1 BAB I : PENDAHULUAN

1.1 Latar Belakang

Penyakit jantung koroner (PJK) menjadi momok menakutkan bagi masyarakat Indonesia, karena menjadi penyebab kematian utama. Banyak orang mengalami serangan jantung tanpa gejala sebelumnya. Tren PJK terus meningkat selama 50 tahun terakhir, dan beberapa faktor penyebab utamanya telah teridentifikasi. Menurut WHO tahun 2005, jumlah kematian penyakit kardiovaskular (terutama penyakit jantung koroner, stroke, dan penyakit jantung rematik) meningkat secara global menjadi 17,5 juta dari 14,4 juta pada tahun 1990. Berdasarkan jumlah tersebut, 7,6 juta dikaitkan dengan penyakit jantung koroner. Mengingat tingginya angka kematian akibat penyakit jantung koroner, sangat penting untuk memahami faktor-faktor yang secara signifikan meningkatkan risiko penyakit ini (Zahrawardani,dkk. 2013).

1.2 Tujuan

  1. Menganalisis hubungan antara usia pasien, status merokok saat ini, riwayat stroke sebelumnya, dan status hipertensi terhadap risiko menderita penyakit jantung dalam 10 tahun.
  2. Membangun model prediksi regresi logistik untuk memperkirakan risiko penyakit jantung koroner individu dalam 10 tahun.

1.3 Data

Penelitian ini memanfaatkan data yang dikumpulkan Dileep dan dipublikasikan di Kaggle pada tahun 2019 yang berjumlah 4238. Data ini digunakan untuk mengidentifikasi 4 faktor risiko utama dari 14 faktor yang tersedia, dengan menggunakan metode regresi logistik biner. Empat faktor yang dianalisis adalah usia pasien, kebiasaan merokok saat ini, riwayat stroke, dan status hipertensi. Pemilihan regresi logistik biner didasarkan pada sifat variabel respon, yaitu data diskrit biner yang menunjukkan risiko penyakit jantung dalam 10 tahun mendatang (“ya” untuk berisiko, “tidak” untuk tidak berisiko). Hasil analisis ini diharapkan dapat memberikan pengetahuan mengenai faktor mana saja yang berpengaruh signifikan terhadap risiko penyakit jantung dalam 10 tahun mendatang, sehingga dapat dilakukan pencegahan yang efektif.

2 BAB II: TINJAUAN PUSTAKA

2.1 Statistika Deskriptif

Statistika deskriptif adalah kumpulan metode statistika yang berfokus pada pengumpulan, pengorganisasian, dan penyajian data untuk memberikan gambaran menyeluruh tentang karakteristik data tersebut. Tujuan utama statistika deskriptif adalah untuk mendeskripsikan data tanpa menarik kesimpulan atau inferensi tentang populasi yang lebih luas (Walpole, 1995).

Terdapat 2 ukuran dalam statistika deskriptif yaitu ukuran pemusatan yang meliputi nilai tengah(mean), median, modus, kuartil, dan ukuran penyebaran data yang meliputi jangkauan, ragam, standar deviasi (Walpole, 1995).

2.2 Regresi Logistik Biner

Regresi Logistik adalah metode statistika yang digunakan untuk menganalisis hubungan antara variabel terikat dengan dua kategori atau lebih dengan satu atau lebih variabel bebas yang dapat berupa kategori atau kontinu.Model regresi logistik biner digunakan jika variabel responnya menghasilkan dua kategori bernilai 0 dan 1. Secara umum model regresi logistik biner dituliskan sebagai berikut \[ \pi(x) = \frac{\exp(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_k x_k)}{1 + \exp(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_k x_k)} \] Untuk mempermudah menaksir parameter regresi, maka 𝜋(x) pada persamaan diatas ditransformasikan sehingga menghasilkan bentuk logit regresi logistik, sebagai berikut:

\[ g(x) = \ln \left( \frac{\pi(x)}{1 - \pi(x)} \right) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_k x_k \]

2.3 Asumsi Non-Multikolinieritas

Multikolinearitas adalah suatu kondisi dalam analisis regresi di mana terdapat hubungan linier antara beberapa atau semua variabel prediktor. Hal ini dapat mempengaruhi stabilitas koefisien regresi dan kemampuan prediksi model. Pengecekan asumsi multikolinieritas dapat dilakukan dengan melihat nilai Variance Inflation Factor (VIF) dari setiap variabel prediktor. Rumus VIF adalah sebagai berikut: \[ VIF_j = \frac{1}{1 - R_j^2} , j = 1, 2, \dots, k \] Santoso (2012) menyatakan bahwa batas VIF adalah 10. Jika VIF lebih dari 10 maka terjadi multikolinearitas tinggi. Sebaliknya, jika nilai VIF kurang dari 10, maka asumsi multikolinearitas terpenuhi. Santoso (2012) juga menyatakan bahwa bentuk pemodelan regresi yang baik memiliki VIF disekitar angka 1.

2.4 Uji Signifikansi Keseluruhan Model (Uji Simultan)

Pengujian parameter secara simultan bertujuan untuk menilai apakah secara keseluruhan variabel prediktor memiliki pengaruh signifikan terhadap variabel respon. Uji simultan dilakukan dengan uji nisbah kemungkinan atau biasa dikenal sebagai Likelihood Ratio Test. Rumus Statistik uji G adalah sebagai berikut: \[ H_0: \beta_0 = \beta_1 = \beta_2 = \dots = \beta_k = 0 \\ H_1: \beta_i \neq 0 \text{ untuk } i = 1, 2, \dots, k \] \[ G = -2 \log \left( \frac{L_0}{L_p} \right) \]

Keputusan untuk menolak H0 jika nilai G lebih besar dari nilai Chi-square kritis (χ²(α, p)) kuadrat.

2.5 Uji Parsial Parameter Model

Uji parsial parameter model bertujuan untuk menganalisis pengaruh masing-masing variabel prediktor terhadap variabel respon secara terpisah. Uji ini dilakukan dengan menguji secara individu tiap variabel prediktor. Uji Signifikansi Parsial menggunakan Uji Wald sebagai statistik ujinya, dengan rumus sebagai berikut: \[ H_0: \beta_j = 0 \quad \text{(variabel prediktor tidak memberikan pengaruh yang signifikan terhadap variabel respon)} \\ H_1: \beta_j \neq 0 \quad \text{dengan } j=1,2,\ldots,p \quad \text{(variabel prediktor memberikan pengaruh yang signifikan terhadap variabel respon)} \] \[ W = \frac{{\beta}_i^2}{SE({\beta}_i^2)} \] Ketika hipotesis nol (H0) diasumsikan benar, rasio uji statistik mengikuti distribusi normal baku. Keputusan untuk menolak H0 jika statistik uji lebih besar dari Zα/2 atau nilai p lebih kecil dari α.(Tampil,dkk. 2017).

2.6 Koefisien Determinasi

Uji Pseudo R Square atau Nagelkerke R Square merupakan pengujian yang dilakukan untuk seberapa besar variabel prediktor mampu menjelaskan dan mempengaruhi variabel respon. Nilai Pseudo R Square bervariasi antara 1 dan 0. Semakin mendekati nilai 1 maka model dianggap semakin goodness of fit, sementara semakin mendekati nilai 0 maka model semakin tidak goodness of fit (Aridi, K. A., & Agustina, Y. 2021).

2.7 Odds Ratio

Menurut Hendayana (2013), Odds ratio merupakan indikator kecenderungan seseorang untuk melakukan atau tidak melakukan kegiatan. Odds ratio diartikan sebagai kecenderungan variabel respon memiliki suatu nilai tertentu jika diberikan x=1 dan dibandingkan pada x=0. Rumus untuk menghitung Odds Ratio adalah sebagai berikut: \[ OR = \frac{\frac{\pi(1)}{1-\pi(1)}}{\frac{\pi(0)}{1-\pi(0)}} \]

Keputusan tidak terdapat hubungan antara variabel prediktor diambil jika nilai odds ratio sama dengan 1. Jika nilai odds ratio kurang dari 1, maka antara variabel prediktor dan variabel respon terdapat hubungan negatif setiap kali perubahan nilai variabel bebas (x). Dan jika odds ratio lebih dari 1 maka antara variabel prediktor dengan variabel respon terdapat hubungan positif setiap kali perubahan nilai variabel bebas (x) (Tesha Nisva,dkk. 2020).

2.8 Uji Kelayakan Model (Goodness of Fit)

Uji kesesuaian model atau yang biasa disebut Goodness of fit adalah uji untuk menilai seberapa baik model regresi yang dihasilkan untuk menjelaskan atau merepresentasikan data yang diamati. Ingin diketahui apakah tidak ada perbedaan antara hasil observasi dengan kemungkinan hasil prediksi model. Uji kesesuaian model memiliki hipotesis pengujian sebagai berikut.

  • H0 : Model sesuai (tidak terdapat perbedaan yang signifikan antara hasil observasi dengan kemungkinan prediksi model)

  • H1 : Model tidak sesuai (terdapat perbedaan yang signifikan antara hasil observasi dengan kemungkinan prediksi model)

Salah satu uji yang bisa dipakai adalah Uji Hosmer and Lemeshow Test dengan rumus perhitungan sebagai berikut. \[ C = \sum_{j} \frac{(o_j - n_j \pi_j)^2}{n_j \pi_j (1 - \pi_j)} \] Tolak H0 jika:

\[ C > \chi^2(g - 2, \alpha) \] (Tesha Nisva,dkk. 2020)

2.9 Ketepatan Klasifikasi

Ketepatan hasil klasifikasi bertujuan untuk mengetahui seberapa layak atau benar tidaknya suatu data klasifikasi. Ketepatan hasil klasifikasi diperoleh melalui nilai akurasi yang dihasilkan oleh confusion matrix. Variabel respon yang memiliki dua kelas memiliki empat kemungkinan hasil prediksi klasifikasi yang berbeda (Tesha Nisva,dkk. 2020). Rumus perhitungannya sebagai berikut:

\[ Ketepatan Klasifikasi = \frac{Jumlah Prediksi Benar}{Jumlah Total Data} \times 100\% \] \[ APER = \frac{n_{12} + n_{21}}{n_{11} + n_{12} + n_{21} + n_{22}} \] \[ Ketepatan Klasifikasi = 100\% - (APER \times 100\%) \]

3 BAB III : SOURCE CODE

3.1 Library

> # Library
> library(knitr)
> library(rmarkdown)
> library(prettydoc)
> library(equatiomatic)
> library(readr)
> library(generalhoslem)
> library(pscl)
> library(car)

3.2 Import Data

> #Import Data
> datareglog <- read.csv("D:/framingham.csv", header = TRUE)
> str(datareglog)
'data.frame':   4238 obs. of  16 variables:
 $ male           : int  1 0 1 0 0 0 0 0 1 1 ...
 $ age            : int  39 46 48 61 46 43 63 45 52 43 ...
 $ education      : int  4 2 1 3 3 2 1 2 1 1 ...
 $ currentSmoker  : int  0 0 1 1 1 0 0 1 0 1 ...
 $ cigsPerDay     : int  0 0 20 30 23 0 0 20 0 30 ...
 $ BPMeds         : int  0 0 0 0 0 0 0 0 0 0 ...
 $ prevalentStroke: int  0 0 0 0 0 0 0 0 0 0 ...
 $ prevalentHyp   : int  0 0 0 1 0 1 0 0 1 1 ...
 $ diabetes       : int  0 0 0 0 0 0 0 0 0 0 ...
 $ totChol        : int  195 250 245 225 285 228 205 313 260 225 ...
 $ sysBP          : num  106 121 128 150 130 ...
 $ diaBP          : num  70 81 80 95 84 110 71 71 89 107 ...
 $ BMI            : num  27 28.7 25.3 28.6 23.1 ...
 $ heartRate      : int  80 95 75 65 85 77 60 79 76 93 ...
 $ glucose        : int  77 76 70 103 85 99 85 78 79 88 ...
 $ TenYearCHD     : int  0 0 0 1 0 0 1 0 0 0 ...
> Y <- as.factor(datareglog$TenYearCHD)
> X1 <- datareglog$age
> X2 <- as.factor(datareglog$'currentSmoker')
> X3 <- as.factor(datareglog$'prevalentStroke')
> X4 <- as.factor(datareglog$'prevalentHyp')

3.3 Membentuk Data Frame

> #Membentuk Data Frame
> data_reglog <- data.frame(X1,X2,X3,X4,Y)
> str(data_reglog)
'data.frame':   4238 obs. of  5 variables:
 $ X1: int  39 46 48 61 46 43 63 45 52 43 ...
 $ X2: Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 1 2 ...
 $ X3: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ X4: Factor w/ 2 levels "0","1": 1 1 1 2 1 2 1 1 2 2 ...
 $ Y : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 2 1 1 1 ...

3.4 Statistika Deskriptif

> #Statistika Deskriptif
> summary(data_reglog)
       X1        X2       X3       X4       Y       
 Min.   :32.00   0:2144   0:4213   0:2922   0:3594  
 1st Qu.:42.00   1:2094   1:  25   1:1316   1: 644  
 Median :49.00                                      
 Mean   :49.58                                      
 3rd Qu.:56.00                                      
 Max.   :70.00                                      

3.5 Regresi Logistik Biner

> #Model Regresi Logistik
> model_reglog <- glm(Y ~ X1 + X2 + X3 + X4, data = data_reglog, family = binomial)
> model_reglog

Call:  glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_reglog)

Coefficients:
(Intercept)           X1          X21          X31          X41  
   -5.83329      0.07001      0.47876      0.96523      0.67635  

Degrees of Freedom: 4237 Total (i.e. Null);  4233 Residual
Null Deviance:      3612 
Residual Deviance: 3314     AIC: 3324

3.6 Asumsi Non-Multikolinieritas

> #Uji Multikolinieritas
> vif_values <- vif(lm(X1 ~ X2 + X3 + X4, data = data_reglog))
> print(vif_values)
      X2       X3       X4 
1.011434 1.006284 1.016022 

3.7 Uji Parsial Parameter Model

> #Uji Parsial
> summary(model_reglog)

Call:
glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_reglog)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -5.833290   0.314744 -18.533  < 2e-16 ***
X1           0.070011   0.005704  12.274  < 2e-16 ***
X21          0.478759   0.092605   5.170 2.34e-07 ***
X31          0.965234   0.432105   2.234   0.0255 *  
X41          0.676354   0.092990   7.273 3.51e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 3611.5  on 4237  degrees of freedom
Residual deviance: 3314.0  on 4233  degrees of freedom
AIC: 3324

Number of Fisher Scoring iterations: 5

3.8 Uji Signifikansi Keseluruhan Model (Uji Simultan)

> #Uji Simultan
> library(pscl)
> pR2(model_reglog)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-1.657012e+03 -1.805775e+03  2.975261e+02  8.238185e-02  6.779672e-02 
         r2CU 
 1.182122e-01 
> qchisq(0.95,3)
[1] 7.814728

3.9 Koefisien Determinasi

> #R-square
> pR2(model_reglog)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-1.657012e+03 -1.805775e+03  2.975261e+02  8.238185e-02  6.779672e-02 
         r2CU 
 1.182122e-01 

3.10 Odds Ratio

> #Odds Ratio
> beta = (coef(model_reglog))
> beta
(Intercept)          X1         X21         X31         X41 
 -5.8332898   0.0700114   0.4787590   0.9652343   0.6763537 
> OR_beta = exp(beta)
> OR_beta
(Intercept)          X1         X21         X31         X41 
0.002928427 1.072520404 1.614070177 2.625402724 1.966693530 
> cbind(beta, OR_beta)
                  beta     OR_beta
(Intercept) -5.8332898 0.002928427
X1           0.0700114 1.072520404
X21          0.4787590 1.614070177
X31          0.9652343 2.625402724
X41          0.6763537 1.966693530

3.11 Uji Kelayakan Model (Goodness of Fit)

> #Uji Kelayakan Model
> logitgof(data_reglog$Y,fitted(model_reglog))

    Hosmer and Lemeshow test (binary model)

data:  data_reglog$Y, fitted(model_reglog)
X-squared = 12.412, df = 8, p-value = 0.1337

3.12 Ketepatan Klasifikasi

> #Membentuk Klasifikasi
> yp_hat<-fitted(model_reglog)
> data_reglog$yp_hat <- yp_hat
> class <- table(data_reglog$Y, data_reglog$yp_hat > 0.5)
> class
   
    FALSE TRUE
  0  3581   13
  1   632   12
> akurasi <- (3581+12)/(3581+13+12+632)*100
> print(paste(akurasi,"%"))
[1] "84.7805568664464 %"

4 BAB IV : HASIL DAN PEMBAHASAN

4.1 Statistika Deskriptif

Usia Pasien (X1):

  • Usia pasien termuda adalah 32 tahun.
  • 25% pasien berusia di bawah 42 tahun sedangkan 75% lainnya berusia di atas 42 tahun.
  • 50% pasien berusia di bawah 49 tahun sedangkan 50% lainnya berusia di atas 49 tahun.
  • Sebagian besar pasien berusia 49.58 tahun.
  • 75% pasien berusia di bawah 56 tahun sedangkan 25% lainnya pasien berusia di atas 56 tahun.
  • Usia pasien tertua adalah 70 tahun.

Status Merokok Saat Ini (X2):

  • Terdapat 2144 pasien yang tidak merokok saat ini.
  • Terdapat 2094 pasien yang merokok saat ini.

Riwayat stroke sebelumnya (X3):

  • Terdapat 4213 pasien yang tidak pernah mengalami stroke sebelumnya.
  • Terdapat 25 pasien yang pernah mengalami stroke sebelumnya.

Status hipertensi (X4):

  • Terdapat 2922 pasien yang tidak menderita hipertensi.
  • Terdapat 1316 pasien yang menderita hipertensi.

Risiko penyakit jantung koroner dalam 10 tahun (Y):

  • Terdapat 3594 pasien tidak berisiko menderita penyakit jantung koroner dalam 10 tahun ke depan.
  • Terdapat 644 pasien berisiko menderita penyakit jantung koroner dalam 10 tahun ke depan.

4.2 Model Regresi Logistik Biner

\[ \pi(x) = \frac{1 + \exp(-5.83329 + 0.07001 X1 + 0.47876 X2 + 0.96523 X3 + 0.67635 X4)}{\exp(-5.83329 + 0.07001 X1 + 0.47876 X2 + 0.96523 X3 + 0.67635 X4)} \] Dari analisis tersebut didapatkan model regresi logistik adalah sebagai berikut: \[ logit(\pi(x)) = \ln\left(\frac{\pi(x)}{1 - \pi(x)}\right) = -5.83329 + 0.07001 X1 + 0.47876 X2 + 0.96523 X3 + 0.67635 X4 \]

Interpretasi pada setiap parameter:

Intercept: Ketika semua variabel bernilai 0 (Usia = 0, tidak merokok saat ini, tidak memiliki riwayat stroke sebelumnya, dan tidak menderita hipertensi), maka risiko terjadi penyakit jantung koroner dalam 10 tahun adalah -5.83329

Usia Pasien (X1): Ketika usia pasien meningkat 1 tahun dan variabel lainnya konstan, maka risiko terjadi penyakit jantung koroner dalam 10 tahun meningkat sebesar 0.07001

Status Merokok Saat Ini (X2): Ketika status merokok saat ini berubah dari tidak merokok (X2 = 0) menjadi merokok (X2 = 1) dan variabel lainnya konstan, maka risiko terjadi penyakit jantung koroner dalam 10 tahun meningkat sebesar 0.47876

Riwayat Stroke Sebelumnya (X3): Ketika riwayat stroke sebelumnya berubah dari tidak ada (X3 = 0) menjadi ada (X3 = 1) dan variabel lainnya konstan, maka risiko terjadi penyakit jantung koroner dalam 10 tahun meningkat sebesar 0.96523

Status Hipertensi (X4): Ketika status hipertensi berubah dari tidak menderita (X4 = 0) menjadi menderita (X4 = 1) dan variabel lainnya konstan, maka risiko terjadi penyakit jantung koroner dalam 10 tahun meningkat sebesar 0.67635

4.3 Asumsi Non-Multikolinieritas

Berdasarkan analisis tersebut didapat nilai Variance Inflation Factor (VIF) adalah sebagai berikut:

  • Untuk variabel X2 (Status Merokok Saat Ini), nilai VIF adalah 1.011434
  • Untuk variabel X3 (Riwayat Stroke Sebelumnya), nilai VIF adalah 1.006284
  • Untuk variabel X4 (Status Hipertensi), nilai VIF adalah 1.016022

Interpretasi: Hasil perhitungan menunjukkan bahwa nilai VIF untuk setiap variabel prediktor berada di bawah 10, dapat disimpulkan bahwa tidak terdapat multikolinieritas yang signifikan antar variabel prediktor atau tidak terdapat korelasi yang kuat di antara variabel prediktor. Sehingga data pasien berupa faktor-faktor yang mengindikasi risiko terjadi penyakit jantung koroner dalam 10 tahun dapat digunakan.

4.4 Uji Parsial Parameter Model

Berdasarkan analisis tersebut dapat diketahui bahwa:

Usia Pasien (X1):

  • P-value = 2e-16 < alpha (0.05), maka Tolak Ho
  • Dengan tingkat kepercayaan 95% dapat disimpulkan bahwa usia pasien berpengaruh secara signifikan terhadap risiko terjadi penyakit jantung koroner dalam 10 tahun.

Status Merokok Saat Ini (X2):

  • P-value = 2.34e-07 < alpha (0.05), maka Tolak Ho.
  • Dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa status merokok saat ini berpengaruh secara signifikan terhadap risiko terjadi penyakit jantung koroner dalam 10 tahun.

Riwayat Stroke Sebelumnya (X3):

  • P-value = 0.0255 < alpha (0.05), maka Tolak Ho.
  • Dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa riwayat stroke sebelumnya berpengaruh secara signifikan terhadap risiko terjadi penyakit jantung koroner dalam 10 tahun.

Status Hipertensi (X4):

  • P-value = 3.51e-13 < alpha (0.05), maka Tolak Ho.
  • Dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa status hipertensi berpengaruh secara signifikan terhadap risiko terjadi penyakit jantung koroner dalam 10 tahun.

4.5 Uji Signifikansi Keseluruhan Model (Uji Simultan)

Berdasarkan Uji Signifikansi Simultan, rasio Likelihood (G2) sebesar 297.5261 lebih besar dari nilai Chi-Square tabel 7.814728. Oleh karena itu, Tolak Ho, dapat disimpulkan bahwa keempat variabel prediktor (usia pasien, status merokok saat ini, riwayat stroke sebelumnya, dan status hipertensi) secara bersama-sama berpengaruh signifikan terhadap risiko terjadi penyakit jantung koroner dalam 10 tahun.

4.6 Koefisien Determinasi

Dalam model regresi logistik biner ini, didapatkan nilai McFadden’s Pseudo R-squared sebesar 0.08238185. Artinya model ini mampu menjelaskan sekitar 8.24% variasi dalam variabel respon (risiko terjadi penyakit jantung koroner dalam 10 tahun) berdasarkan variabel prediktor yang digunakan.

4.7 Odds Ratio

  • Pasien yang berusia muda, tidak merokok saat ini, tidak memiliki riwayat stroke sebelumnya, dan tidak mengidap hipertensi (variabel prediktor bernilai nol) memiliki kecenderungan 0.002928427 lebih tinggi untuk berisiko terjadi penyakit jantung koroner dalam 10 tahun dibandingkan dengan pasien dengan nilai yang berbeda untuk variabel prediktor.

  • Ketika usia pasien meningkat sebesar satu tahun, kecenderungan pasien berisiko terjadi penyakit jantung koroner dalam 10 tahun meningkat sebesar 1.072520404 kali lipat, dengan asumsi faktor-faktor lainnya tetap.

  • Pasien yang status merokok saat ini aktif memiliki kecenderungan 1.614070177 kali lipat lebih tinggi untuk berisiko terjadi penyakit jantung koroner dalam 10 tahun dibandingkan dengan pasien yang tidak merokok, dengan asumsi faktor-faktor lainnya tetap.

  • Pasien yang terdapat riwayat stroke sebelumnya memiliki kecenderungan 2.625402724 kali lipat lebih tinggi untuk berisiko terjadi penyakit jantung koroner dalam 10 tahun dibandingkan dengan pasien yang tidak memiliki riwayat stroke, dengan asumsi faktor-faktor lainnya tetap.

  • Pasien yang mengidap hipertensi memiliki kecenderungan 1.966693530 kali lebih tinggi untuk berisiko terjadi penyakit jantung koroner dalam 10 tahun dibandingkan dengan pasien yang tidak mengidap hipertensi, dengan asumsi faktor-faktor lainnya tetap.

4.8 Uji Kelayakan Model (Goodness of Fit)

Berdasarkan analisis tersebut dapat diketahui bahwa nilai p-value (0.1337) > alpha (0.05), maka terima Ho sehingga dapat disimpulkan bahwa model regresi logistik yang terbentuk sudah selaras/layak. Tidak terdapat perbedaan signifikan antara nilai yang diobservasi dan nilai yang diprediksi oleh model.

4.9 Ketepatan Klasifikasi

Berdasarkan analisis tersebut dapat diketahui bahwa dengan threshold 0.5, model tersebut memiliki tingkat akurasi sebesar 84.78%

5 BAB V : KESIMPULAN

Berdasarkan hasil pengujian pada data yang telah ditentukan, dapat disimpulkan bahwa :

  • Model Regresi Logistik Biner \[ logit(\pi(x)) = \ln\left(\frac{\pi(x)}{1 - \pi(x)}\right) = -5.83329 + 0.07001 X1 + 0.47876 X2 + 0.96523 X3 + 0.67635 X4 \]
  • Model tersebut dapat memprediksi risiko penyakit jantung koroner dalam 10 tahun dengan tingkat keakuratan sebesar 84.78%.
  • Tidak terdapat perbedaan signifikan antara nilai yang diobservasi dan nilai yang diprediksi oleh model.
  • Faktor yang berpengaruh signifikan terhadap risiko penyakit jantung koroner dalam 10 tahun adalah usia pasien, status merokok saat ini, riwayat stroke sebelumnya, dan status hipertensi.

6 DAFTAR PUSTAKA

  • Zahrawardani, D., Sri Herlambang, K., & Anggraheny, H. D. (2013). Analisis Faktor Risiko Kejadian Penyakit Jantung Koroner di RSUP Dr. Kariadi Semarang. Jurnal Kedokteran Muhammadiyah, 1(2), 13-20.
  • Walpole, R. (1995). Pengantar Statistika. Jakarta: Gramedia
  • Tesha Nisva, T. M., & Ratnasari, V. (2020). Analisis Regresi Logistik Biner pada Faktor-Faktor yang Mempengaruhi Jenis Perceraian di Kabupaten Lumajang. INFERENSI, 3(1), 29-40.
  • Hendayana, R. (2013). Penerapan metode regresi logistik dalam menganalisis adopsi teknologi pertanian.
  • Aridi, K. A., & Agustina, Y. (2021). Pengaruh Independensi Komite Audit, Audit Tenure dan Reputasi Auditor Terhadap Kualitas Audit pada Perusahaan Sektor Perdagangan Eceran yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2011-2018. Jurnal Ekonomi & Bisnis, 18(2), 109-118.
  • Santoso, S. (2012). Analisis SPSS pada Statistik Parametrik. Jakarta: PT. Elex Media Komputiondo.
  • Tampil, Y. A., Komalig, H., & Langi, Y. (2017). Analisis Regresi Logistik Untuk Menentukan Faktor-Faktor Yang Mempengaruhi Indeks Prestasi Kumulatif (IPK) Mahasiswa FMIPA Universitas Sam Ratulangi Manado. d’CARTESIAN, 6(2), 150-157.
  • Sumber Data : https://www.kaggle.com/datasets/dileep070/heart-disease-prediction-using-logistic-regression