Analisis Regresi Logistik Biner untuk Mengetahui Faktor yang Berpengaruh Signifikan terhadap Risiko Penyakit Jantung

Ratri Sintya Wardhani

1 Juni 2023

1 PENDAHULUAN

1.1 Latar Belakang

Regresi logistik adalah salah satu pemodelan regresi yang digunakan untuk menganalisa hubungan antara satu variabel respon dan beberapa variabel bebas dengan variabel responnya berupa data kualitatif (Hoyyi, 2011). Regresi logistik memungkinkan untuk menganalisis hubungan dengan variabel respon berskala diskrit (nominal atau ordinal) sehingga pada akhirnya peneliti dapat menemukan variabel apa yang memberikan pengaruh secara signifikan terhadap variabel respon berskala diskrit tersebut. Tentunya pemodelan ini akan membantu memberikan pembuktian terhadap berbagai macam permasalahan dari berbagai bidang, apakah faktor-faktor yang dicurigai sebagai penyebab dari permasalahan dengan data berskala diskrit yang dihadapi memang memberikan pengaruh yang signifikan.

Salah satu permasalahan yang cukup menjadi sumber ketakutan bagi sebagian besar individu adalah penyakit jantung. Menurut data yang ada di Organisasi Kesehatan Dunia (WHO) dalam Gumara (2021) menyatakan bahwa penyakit jantung adalah penyebab kematian terbesar manusia , setiap tahunya hampir 17 juta manusia yang meninggal dunia dikarenakan penyakit jantung. Sehingga menjadi sangat krusial untuk mengetahui faktor apa yang memberikan pengaruh signifikan dalam peningkatan risiko penyakit jantung ini.

Dalam laporan ini, penulis menggunakan data yang diambil oleh Dileep dan dipublikasikan pada platform Kaggle pada tahun 2019 untuk mengidentifikasi 3 faktor dari 14 faktor yang dikumpulkan oleh sumber menggunakan regresi logistik. 3 faktor yang dianalisis merupakan faktor yang menurut penulis paling mungkin meningkatkan risiko penyakit jantung dalam 10 tahun mendatang, yaitu umur, indeks massa tubuh, dan status merokok. Pemilihan regresi logistik sebagai metode analisis didasarkan pada skala variabel respon berupa data diskrit biner, yaitu “ya” untuk responden yang memiliki resiko tinggi, dan “tidak” untuk responden yang tidak memiliki resiko tinggi. Hasil analisis penulis diharapkan dapat memberikan pemahaman lebih mendalam terhadap penyakit jantung dan berpotensi membantu dalam tindakan pencegahan yang lebih efektif.

1.2 Tujuan

  1. Memahami langkah-langkah analisis dengan metode regresi logistik menggunakan program Rstudio.
  2. Menganalisis hubungan antara faktor umur, indeks massa tubuh, dan status merokok terhadap risiko penyakit jantung.
  3. Menganalisis data tentang penyakit jantung dengan menggunakan regresi logistik.

2 TINJAUAN PUSTAKA

2.1 Regresi Logistik Biner

Model regresi logistik adalah model regresi yang sering digunakan dalam menganalisis data dengan variabel diskrit. Menurut Hosmer dan Lemeshow (1989) dalam Roflin dkk. (2023) menyatakan bahwa analisis regresi logistik biner digunakan untuk menganalisis hubungan antara variabel terikat yang berupa variabel biner dan variabel bebas yang berupa variabel numerik atau kategori. Secara umum model regresi logistik biner dituliskan sebagai berikut (Hosmer dan Lemeshow, 1989).

\[ \pi(x)=\frac{exp(\beta_0+\beta_1x_1+\beta_2x_2+...+\beta_kx_k)}{1+exp(\beta_0+\beta_1x_1+\beta_2x_2+...+\beta_kx_k)} \]

\[ Keterangan : \\ \pi(x) : Peluang \ Kejadian \ Sukses \\ \beta : Koefisien \ Regresi \]

Menurut Roflin dkk. (2023), fungsi tersebut merupakan fungsi non-linier dimana perlu dilakukan transformasi logit untuk menjadikan fungsi tersebut menjadi fungsi linier. Tujuannya adalah agar fungsi tersebut dapat memodelkan hubungan variabel bebas dan variabel respon karena hubungan tersebut adalah hubungan linier. Dengan transformasi logit yang diberlakukan pada fungsi tersebut, akan didapatkan model regresi logistik biner sebagai berikut.

\[ g(x)=ln( \frac{ \pi(x) }{ 1- \pi(x)})=\beta_0+\beta_1x_1+\beta_2x_2+...+\beta_kx_k \]

2.2 Asumsi Non-Multikolinieritas

Uji multikolinearitas bertujuan untuk menguji apakah dalam model regresi terdapat korelasi atau hubungan yang tinggi antar variabel bebas (Diksa dan Fithriasari, 2020). Asumsi ini menjadi salah satu asumsi yang penting untuk diuji karena mampu menyebabkan ketidakstabilan koefisien regresi yang diduga dan ketidakakuratan dalam interpretasi. Multikolinearitas dapat dideteksi dengan menggunakan nilai variance inflation factor (VIF) dengan rumus sebagai berikut.

\[ VIF_j=\frac{1}{1-R^2_j}, \ \ j=1,2,...,k \] Dimana R square adalah nilai koefisien determinasi

Selanjutnya, dari rumus tersebut akan diperoleh hasil nilai VIF yang dipakai untuk mengambil keputusan. Dimana jika nilai VIF lebih dari 10 menandakan adanya kasus multikolinieritas dalam data. Sebaliknya, jika nilai VIF kurang dari 10 menandakan bahwa pada data yang dianalisis tidak terjadi kasus multikolinieritas (non-multikolinieritas)

2.3 Uji Signifikansi Keseluruhan Model (Simultan)

Pengujian parameter model regresi logistik biner secara simultan adalah pengujian hipotesis untuk mengetahui signifikansi pengaruh variabel bebas secara simultan (bersama-sama) terhadap variabel terikat (Roflin dkk, 2023). Uji simultan dilakukan dengan uji nisbah kemungkinan atau biasa dikenal sebagai Likelihood Ratio Test. Hipotesis dan statistik yang digunakan pada uji ini dituliskan sebagai berikut.

\[ >Hipotesis< \\ H_0:\beta_0=\beta_1=\beta_2=...=\beta_k=0 \\ H_1 : \beta_i \neq0 \ untuk \ i=1,2,...,k \\ . \\ >Statistik \ Uji< \\ G=-2 \ log(\frac{L_0} {L_p}) \] Keterangan : \[ p:Banyaknya \ Variabel \ Prediktor \ dalam \ Model \\ L_0 :Nilai \ Likelihood \ tanpa \ Variabel \ Prediktor \\ L_1 :Nilai \ Likelihood \ dengan \ Variabel \ Prediktor \] Dari nilai yang didapatkan dengan statistik uji tersebut dapat diambil keputusan jika nilai G lebih besar dari nilai Chi Square tabel, maka dapat diambil kesimpulan bahwa minimal terdapat 1 variabel bebas yang berpengaruh secara signifikan terhadap variabel terikat.

2.4 Uji Parsial Parameter Model

Pengujian secara parsial adalah pengujian hipotesis untuk mengetahui signifikansi pengaruh variabel bebas secara parsial terhadap variabel terikat (Roflin dkk, 2023). Uji parsial dilakukan dengan menggunakan uji wald. Hipotesis dan statistik yang digunakan pada uji ini dituliskan sebagai berikut.

\[ >Hipotesis< \\ H_0:\beta_i=0 \\ H_1 : \beta_i \neq0 \\ . \\ >Statistik \ Uji< \\ W=\frac{\beta_i^2}{SE(\beta_i^2)} \]

Keputusan yang diambil dalam uji ini dapat dilihat dari nilai-p dimana variabel bebas dikatakan memberikan pengaruh terhadap variabel terikat secara parsial ketika nilai-p kurang dari taraf nyata.

2.5 Koefisien Determinasi

Uji Psoude R Square merupakan uji yang digunakan untuk menunjukkan adanya kekuatan hubungan variasi variabel dependen dengan penjelasan variabel independen. Psoude R Square dapat diketahui dari salah satu nilai Cox and Snell untuk mengukur nilai dengan nilai maksimum 1, Nagelkerke untuk memastikan nilainya berkisar antara 0 sampai 1, dan McFadden untuk mengetahui tingkat variabilitas (Ghozali, 2013).

2.6 Odds Ratio

Menurut Hendayana (2013), Odds ratio merupakan indikator kecenderungan seseorang untuk melakukan atau tidak melakukan kegiatan. Odds dari suatu kejadian diartikan sebagai probabilitas hasil yang muncul dibagi dengan probabilitas suatu kejadian tidak terjadi. Persamaan tersebut dapat dituliskan sebagai berikut.

\[ Odds \ Ratio=\frac{Odds \ A} {Odds \ B}=\frac{\frac{\pi_A}{(1-\pi_A)}}{\frac{\pi_B}{(1-\pi_B)}} \]

2.7 Ketepatan Klasifikasi

Uji ketepatan klasifikasi/model dapat menggunakan Apparent Error Rate (APER). APER merupakan fraksi observasi dalam sampel yang salah diklasifikasikan atau misclassified pada fungsi klasifikasi (Diksa dan Fithriasari, 2020). Perhitungan APER dilakukan dengan menjumlahkan jumlah data yang klasifikasinya sudah tepat dibagi dengan jumlah seluruh data yang kemudian hasilnya dijadikan presentase untuk melihat sejauh mana klasifikasi yang dilakukan sudah tepat.

2.8 Uji Kelayakan Model (Goodness of Fit)

Goodness of Fit Test atau uji keselarasan model atau uji kebaikan model dilakukan untuk mengetahui keselarasan model dengan data atau keselarasan antara hasil observasi dan hasil prediksi model (Roflin dkk, 2023).Salah satu uji yang bisa dipakai adalah Uji Hosmer and Lemeshow Test. Hipotesis yang digunakan pada uji ini dituliskan sebagai berikut.

\[ Hipotesis \\ H_0 : Model \ Selaras \\ H_1: Model \ Tidak \ Selaras \] Keputusan dapat diambil dengan melihat nilai p dimana jika nilai p lebih besar dari taraf nyata, maka model regresi yang dianalisis selaras dan sebaliknya.

3 SOURCE CODE

3.1 Library

> # Library
> library(readr)
> library(generalhoslem)
> library(pscl)

3.2 Data

> datareglog <-read_csv("C:/Users/Stray/Downloads/framingham.csv",show_col_types =FALSE )
> Y <- as.factor(datareglog$TenYearCHD)
> X1 <- as.factor(datareglog$currentSmoker) 
> X2 <- datareglog$age
> X3 <- datareglog$BMI
> data_logistik<-data.frame(X1,X2,X3,Y)
> str(data_logistik)
'data.frame':   3656 obs. of  4 variables:
 $ X1: Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 1 2 ...
 $ X2: num  39 46 48 61 46 43 63 45 52 43 ...
 $ X3: num  27 28.7 25.3 28.6 23.1 ...
 $ Y : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 2 1 1 1 ...

3.3 Asumsi Non-Multikolinieritas

  • Variabel X1
> reglog1 <- glm(X1~X2+X3, family = binomial, data =data_logistik)
> summary(reglog1)

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

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  4.134199   0.294428   14.04  < 2e-16 ***
X2          -0.047230   0.004100  -11.52  < 2e-16 ***
X3          -0.071496   0.008871   -8.06 7.66e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 5066.5  on 3655  degrees of freedom
Residual deviance: 4833.2  on 3653  degrees of freedom
AIC: 4839.2

Number of Fisher Scoring iterations: 4
> pR2(reglog1)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-2.416621e+03 -2.533271e+03  2.332990e+02  4.604700e-02  6.181924e-02 
         r2CU 
 8.243882e-02 
> R2_1 <- 1/(1-0.05546)
> R2_1
[1] 1.058716
  • Variabel X2
> reg2 <- lm(X2~X1+X3, data=data_logistik)
> summary(reg2)

Call:
lm(formula = X2 ~ X1 + X3, data = data_logistik)

Residuals:
     Min       1Q   Median       3Q      Max 
-18.3952  -6.7674  -0.6242   6.4772  21.5069 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  45.4141     0.9263  49.026  < 2e-16 ***
X11          -3.3205     0.2789 -11.905  < 2e-16 ***
X3            0.2237     0.0343   6.522 7.91e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8.323 on 3653 degrees of freedom
Multiple R-squared:  0.05546,   Adjusted R-squared:  0.05494 
F-statistic: 107.2 on 2 and 3653 DF,  p-value: < 2.2e-16
> R2_2 <- 1/(1-0.05546)
> R2_2
[1] 1.058716
  • Variabel X3
> reg3 <- lm(X3~X1+X2, data=data_logistik)
> summary(reg3)

Call:
lm(formula = X3 ~ X1 + X2, data = data_logistik)

Residuals:
     Min       1Q   Median       3Q      Max 
-11.6855  -2.6334  -0.4437   2.1878  30.1920 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 23.77807    0.41533  57.251  < 2e-16 ***
X11         -1.11197    0.13510  -8.230 2.57e-16 ***
X2           0.05145    0.00789   6.522 7.91e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.992 on 3653 degrees of freedom
Multiple R-squared:  0.03668,   Adjusted R-squared:  0.03615 
F-statistic: 69.55 on 2 and 3653 DF,  p-value: < 2.2e-16
> R2_3 <- 1/(1-0.03668)
> R2_3
[1] 1.038077

3.4 Pemodelan Regresi Logistik

> reglog<-glm(Y~X1+X2+X3,family=binomial,data=data_logistik)
> reglog

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

Coefficients:
(Intercept)          X11           X2           X3  
   -7.35501      0.49757      0.08246      0.04380  

Degrees of Freedom: 3655 Total (i.e. Null);  3652 Residual
Null Deviance:      3121 
Residual Deviance: 2885     AIC: 2893

3.5 Uji Simultan

> pR2(reglog)
fitting null model for pseudo-r2
          llh       llhNull            G2      McFadden          r2ML 
-1.442732e+03 -1.560263e+03  2.350627e+02  7.532789e-02  6.227170e-02 
         r2CU 
 1.084696e-01 
> qchisq(0.95,2)
[1] 5.991465

3.6 Uji Parsial

> summary(reglog)

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

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -7.355011   0.445595 -16.506  < 2e-16 ***
X11          0.497571   0.099953   4.978 6.42e-07 ***
X2           0.082456   0.005964  13.825  < 2e-16 ***
X3           0.043804   0.011308   3.874 0.000107 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 3120.5  on 3655  degrees of freedom
Residual deviance: 2885.5  on 3652  degrees of freedom
AIC: 2893.5

Number of Fisher Scoring iterations: 5

3.7 Koefisien Determinasi

> Rsq<-1-(2885.5/3120.5)
> Rsq
[1] 0.07530844

3.8 Odds Ratio

> beta<-(coef(reglog))
> OR_beta<-exp(beta)
> cbind(beta,OR_beta)
                   beta      OR_beta
(Intercept) -7.35501141 0.0006393801
X11          0.49757091 1.6447212333
X2           0.08245555 1.0859504018
X3           0.04380396 1.0447775115

3.9 Ketepatan Klasifikasi

> yp_hat<-fitted(reglog)
> data_logistik$yp_hat<-yp_hat
> class<-table(data_logistik$Y,data_logistik$yp_hat>0.5)
> class
   
    FALSE TRUE
  0  3094    5
  1   555    2
> (3094+2)/(3094+2+555+5)
[1] 0.8468271

3.10 Uji Kelayakan Model

> logitgof(data_logistik$Y,fitted(reglog))

    Hosmer and Lemeshow test (binary model)

data:  data_logistik$Y, fitted(reglog)
X-squared = 13.677, df = 8, p-value = 0.09058

4 HASIL DAN PEMBAHASAN

4.1 Asumsi Non-Multikolinieritas

Ketiga variabel tersebut memiliki nilai VIF kurang dari 10. Sehingga dapat disimpulkan bahwa tidak terjadi kasus multikolinieritas (non-multikolinieritas) pada setiap variabel bebas yang diuji.

4.2 Pemodelan Regresi Logistik

Model regresi logistik yang didapatkan dari analisis tersebut adalah sebagai berikut.

\[ \hat{Y}=-7.35501+0.49757X_1 +0.08246X_2+0.04380X_3 \]

Interpretasi : - Rata-rata risiko penyakit jantung ketika X1 dan X2 bernilai 0 adalah sebesar -7.35501 - Rata-rata risiko penyakit jantung akan naik sebesar 0.49757 apabila variabel X1 (status merokok) naik 1 satuan - Rata-rata risiko penyakit jantung akan naik sebesar 0.08246 apabila variabel X2 (Usia) naik 1 satuan - Rata-rata risiko penyakit jantung akan naik sebesar 0.04380 apabila variabel X3 (indeks massa tubuh) naik 1 satuan

4.3 Uji Simultan

Dari hasil uji simultan menggunakan likelihood ratio test didapatkan bahwa nilai G lebih besar daripada nilai Chi Square. Sehingga dapat disimpulkan bahwa minimal terdapat 1 variabel bebas yang berpengaruh secara signifikan terhadap variabel terikat.

4.4 Uji Parsial

Dari hasil uji simultan menggunakan likelihood ratio test didapatkan bahwa nilai p pada setiap variabel kurang dari 0.05 (taraf nyata). Sehingga dapat disimpulkan bahwa setiap variabel bebas memberikan pengaruh yang signifikan terhadap variabel terikat secara parsial .

4.5 Koefisien Determinasi

Didapatkan nilai R square sebesar 7.53% sehingga dapat disimpulkan bahwa variabel bebas yang dianalisis dalam laporan ini (3 faktor penyakit jantung) mampu menjelaskan variasi variabel bebas (risiko penyakit jantung) sebesar 7.53% , sedangkan 92.47% lainnya dijelaskan oleh variabel lain yang tidak dianalisis dalam laporan ini.

4.6 Odds Ratio

Interpretasi : - Apabila status merokok bertambah 1 satuan, maka kecenderungan risiko penyakit jantung meningkat 1.645 kali lipat. - Apabila usia bertambah 1 satuan, maka kecenderungan risiko penyakit jantung meningkat 1.086 kali lipat. - Apabila IBM (indeks massa tubuh) bertambah 1 satuan, maka kecenderungan risiko penyakit jantung meningkat 1.045 kali lipat.

4.7 Ketepatan Klasifikasi

Tingkat akurasi model sebesar 84.68%

4.8 Uji Kelayakan Model

Didapatkan nilai p lebih besar dari 0.05 (taraf nyata) sehingga dapat disimpulkan bahwa model regresi logistik yang terbentuk sudah selaras/layak.

5 KESIMPULAN

Kesimpulan yang didapatkan dari hasil analisis di atas, diantaranya : - Terdapat beberapa asumsi dan uji yang harus dilakukan sebelum dan setelah pemodelan dilakukan untuk memastikan bahwa variabel bebas benar-benar memberikan pengaruh signifikan terhadap variabel respon dan untuk memastikan bahwa model yang dibentuk sesuai. - Dapat disimpulkan bahwa ketiga faktor yang dianalisis (umur, indeks massa tubuh, dan status merokok) memberikan pengaruh signifikan terhadap risiko penyakit jantung dengan besar pengaruh yang berbeda-beda. - Sudah sesuai dan benar bahwa data yang diambil penulis dapat dan cocok dianalisis dengan menggunakan regresi logistik biner.

6 DAFTAR PUSTAKA

Diksa, I. G. B. N., & Fithriasari, K. (2020). Analisis Faktor Resiko Penyebab Diabetes Mellitus dengan Regresi Logistik Biner. Inferensi, 4(1), 69-76.

Ghozali, I. (2013). Aplikasi Analisis Multivariate Dengan Program IBM SPSS 21 : Update PLS Regresi. Semarang: Universitas Diponegoro

GUMARA, J., Zayanti, D. A., & Kresnawati, E. S. (2021). PENERAPAN METODE REGRESI LOGISTIK BINER UNTUK MENGKLASIFIKASI RISIKO PENYAKIT JANTUNG (Doctoral dissertation, Sriwijaya University).

Hendayana, R. (2013). Penerapan metode regresi logistik dalam menganalisis adopsi teknologi pertanian.

Hoyyi, A. (2011). Pemodelan Regresi Logistik dalam Penentuan Faktor-Faktor yang Berpengaruh Terhadap Penyakit Jantung Koroner. Jurnal Sains dan Matematika, 19(3), 91-95.

Sumber Data : https://www.kaggle.com/datasets/dileep070/heart-disease-prediction-using-logistic-regression