Organisasi kesehatan dunia yaitu World Health Organization (WHO) melaporkan bahwa kanker paru-paru adalah salah satu jenis kanker yang paling umum dan paling mematikan di seluruh dunia. WHO menyebutkan pada tahun 2022, terdapat setidaknya 2.5 juta kasus kanker paru-paru baru atau 12.4 persen dari total kasus kanker baru. Pada tahun 2022, kanker paru-paru telah menyebabkan sekitar 1.8 juta kematian, atau 18.7 persen dari total kasus kematian akibab kanker. Kanker ini terjadi ketika sel-sel di paru-paru tumbuh secara tidak terkendali dan membentuk tumor ganas. Beberapa faktor yang dapat meningkatkan risiko kanker paru-paru adalah kebiasaan merokok, konsumsi alkohol, riwayat penyakit kronis, dan lain-lain. Kanker paru-paru biasanya tidak menimbulkan gejala di awal yang mengakibatkan banyak penderitanya tidak terdiagnosa sejak dini. Oleh karena itu, untuk menindaklanjuti kasus ini maka dilakukanlah analisis menggunakan pendekatan regresi logistik biner untuk membantu masyarakat meningkatkan diagnosis dini, pengobatan, dan kesadaran akan faktor risiko yang terkait dengan penyakit ini agar tingkat kematian dapat menurun.
Analisis regresi logistik merupakan suatu pendekatan untuk membuat model prediksi seperti halnya regresi linear atau yang biasa disebut dengan istilah Ordinary Least Squares (OLS) regression. Regresi logistik merupakan pengembangan dari regresi linier yang disesuaikan untuk variabel dependen biner, perbedaannya yaitu pada regresi logistik memprediksi variabel independen (terikat) yang berskala dikotomi/biner bahkan berskala ordinal dan multinomial.
Kolinearitas terjadi karena terdapat korelasi yang cukup tinggi di antara variabel independen. Variance Inflation Factor (VIF) merupakan salah satu cara untuk mengukur besar kolinieritas dan didefinisikan sebagai berikut: \[ VIF = 1\div(1-R_j^{2}) \]dengan \(j=1,2,...,k\) dan \(k\) adalah banyak variabel independen sedangkan \(R_j^{2}\) adalah koefisien determinasi yang dihasilkan dari regresi variabel independen \(X_j\) dengan variabel independen lain. Hipotesis nol (H0) pengujian multikolinearitas adalah tidak terdapat multikolinearitas antara variabel independen, dengan kriteria keputusan jika nilai \(VIF<10\) maka H0 diterima artinya tidak terdapat multikolinearitas.
Uji signifikansi keseluruhan model adalah proses statistik yang digunakan dalam analisis regresi untuk mengevaluasi apakah model regresi secara keseluruhan memiliki dampak yang signifikan terhadap variabel dependen. Ini membantu kita memahami apakah variabel independen yang telah dimasukkan ke dalam model secara bersama-sama memiliki pengaruh yang signifikan terhadap variabel dependen.
Uji parsial parameter model adalah proses statistik yang digunakan dalam analisis regresi untuk mengevaluasi signifikansi relatif dari masing-masing variabel independen dalam model terhadap variabel dependen, dengan mempertimbangkan pengaruh variabel-variabel lain dalam model tersebut. Ini membantu kita memahami seberapa penting setiap variabel independen dalam menjelaskan variasi variabel dependen setelah mempertimbangkan variabel lain dalam model.
Odds ratio (OR) adalah ukuran statistik yang digunakan dalam analisis data kategori, terutama dalam studi observasional dan penelitian kesehatan, untuk membandingkan peluang (odds) suatu kejadian atau hasil antara dua kelompok yang berbeda. Odds ratio mengukur kekuatan hubungan antara kejadian atau faktor risiko dengan hasil tertentu. Odds ratio sering digunakan dalam analisis regresi logistik untuk mempelajari hubungan antara variabel independen dan variabel dependen yang bersifat biner (misalnya, hadir atau tidak hadir, sukses atau gagal). Ini memberikan informasi tentang seberapa besar pengaruh variabel independen terhadap peluang kejadian hasil tertentu.
Uji kelayakan model digunakan untuk mengetahui apakah model regresi yang telah didapat bisa merepresentasikan data pengamatan. Kelayakan model pada uji regresi logistik atau Goodness of Fit dapat dilihat pada table Hosmer and Lemeshow Test.
Data yang digunakan pada analisis ini adalah data prediksi kanker paru-paru sebagai Variabel Dependen yang bersifat kategorikal biner yaitu kategori Ya (seseorang terkena kanker paru-paru) dan Tidak (seseorang tidak terkena kanker paru-paru) dengan Variabel Independen yaitu usia, merokok, mengonsumsi alkohol, dan penyakit kronis. Data dikumpulkan dari website sistem prediksi kanker paru-paru online dan dipublikasikan di kaggle 3 tahun yang lalu oleh Ahmad Bhat.
sumber data: https://www.kaggle.com/datasets/mysarahmadbhat/lung-cancer
Tujuan dari analisis regresi logistik biner dalam kasus ini dalah untuk memprediksi kemungkinan seseorang terkena atau tidak terkena penyakit kanker paru-paru berdasarkan pada sekumpulan variabel atau faktor risiko tertentu, seperti usia, mengonsumsi alkohol, merokok, dan lainnya. Dengan demikian, regresi logistik membantu dalam memahami hubungan antara faktor-faktor risiko ini dengan kemungkinan terjadinya penyakit kanker paru-paru yang membantu masyarakat meningkatkan diagnosis dini, pengobatan, dan kesadaran akan faktor risiko yang terkait dengan penyakit ini agar tingkat kematian dapat menurun.
> library(readr)
> library(generalhoslem)
> library(pscl)
> library(car)
> #Mengimport Data
> datareglog <- read.csv("C:/Users/WINDOWS/Downloads/survey lung cancer.csv")
> str(datareglog)
'data.frame': 309 obs. of 16 variables:
$ GENDER : chr "M" "M" "F" "M" ...
$ AGE : int 69 74 59 63 63 75 52 51 68 53 ...
$ SMOKING : int 1 2 1 2 1 1 2 2 2 2 ...
$ YELLOW_FINGERS : int 2 1 1 2 2 2 1 2 1 2 ...
$ ANXIETY : int 2 1 1 2 1 1 1 2 2 2 ...
$ PEER_PRESSURE : int 1 1 2 1 1 1 1 2 1 2 ...
$ CHRONIC.DISEASE : int 1 2 1 1 1 2 1 1 1 2 ...
$ FATIGUE : int 2 2 2 1 1 2 2 2 2 1 ...
$ ALLERGY : int 1 2 1 1 1 2 1 2 1 2 ...
$ WHEEZING : int 2 1 2 1 2 2 2 1 1 1 ...
$ ALCOHOL.CONSUMING : int 2 1 1 2 1 1 2 1 1 2 ...
$ COUGHING : int 2 1 2 1 2 2 2 1 1 1 ...
$ SHORTNESS.OF.BREATH : int 2 2 2 1 2 2 2 2 1 1 ...
$ SWALLOWING.DIFFICULTY: int 2 2 1 2 1 1 1 2 1 2 ...
$ CHEST.PAIN : int 2 2 2 2 1 1 2 1 1 2 ...
$ LUNG_CANCER : chr "YES" "YES" "NO" "NO" ...
> Y <- as.factor(datareglog$LUNG_CANCER)
> X1 <- (datareglog$AGE)
> X2 <- as.factor(datareglog$ALCOHOL.CONSUMING)
> X3 <- as.factor(datareglog$SMOKING)
> X4 <- as.factor(datareglog$CHRONIC.DISEASE)
> str(Y)
Factor w/ 2 levels "NO","YES": 2 2 1 1 1 2 2 2 1 2 ...
>
> #Membentuk Data Frame
> data_logistik <- data.frame(X1,X2,X3,X4,Y)
> str(data_logistik)
'data.frame': 309 obs. of 5 variables:
$ X1: int 69 74 59 63 63 75 52 51 68 53 ...
$ X2: Factor w/ 2 levels "1","2": 2 1 1 2 1 1 2 1 1 2 ...
$ X3: Factor w/ 2 levels "1","2": 1 2 1 2 1 1 2 2 2 2 ...
$ X4: Factor w/ 2 levels "1","2": 1 2 1 1 1 2 1 1 1 2 ...
$ Y : Factor w/ 2 levels "NO","YES": 2 2 1 1 1 2 2 2 1 2 ...
> #Analisis Regresi Logistik
> reglog <- glm(Y~X1+X2+X3+X4,family=binomial,data=data_logistik)
> summary(reglog)
Call:
glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_logistik)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.35197 1.36597 -0.990 0.3223
X1 0.03029 0.02130 1.422 0.1550
X22 1.98761 0.44055 4.512 6.43e-06 ***
X32 0.56318 0.36775 1.531 0.1257
X42 0.80139 0.37668 2.128 0.0334 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 234.30 on 308 degrees of freedom
Residual deviance: 199.19 on 304 degrees of freedom
AIC: 209.19
Number of Fisher Scoring iterations: 6
> #Asumsi Non Multikolinearitas
> vif_values = car::vif(reglog)
> vif_values
X1 X2 X3 X4
1.014728 1.005155 1.011548 1.013449
> #Uji Signifikansi Keseluruhan Model
> pR2(reglog)
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-99.5933988 -117.1496214 35.1124453 0.1498615 0.1074141 0.2020906
> qchisq(0.95,3)
[1] 7.814728
> #Uji Parsial Parameter Model
> reglog <- glm(Y~X1+X2+X3+X4,family=binomial,data=data_logistik)
> summary(reglog)
Call:
glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial, data = data_logistik)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.35197 1.36597 -0.990 0.3223
X1 0.03029 0.02130 1.422 0.1550
X22 1.98761 0.44055 4.512 6.43e-06 ***
X32 0.56318 0.36775 1.531 0.1257
X42 0.80139 0.37668 2.128 0.0334 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 234.30 on 308 degrees of freedom
Residual deviance: 199.19 on 304 degrees of freedom
AIC: 209.19
Number of Fisher Scoring iterations: 6
> #Odds Ratio
> beta <- (coef(reglog))
> beta
(Intercept) X1 X22 X32 X42
-1.35196585 0.03028614 1.98760753 0.56318276 0.80139471
> OR_beta <- exp (beta)
> OR_beta
(Intercept) X1 X22 X32 X42
0.2587311 1.0307494 7.2980525 1.7562533 2.2286471
> cbind (beta, OR_beta)
beta OR_beta
(Intercept) -1.35196585 0.2587311
X1 0.03028614 1.0307494
X22 1.98760753 7.2980525
X32 0.56318276 1.7562533
X42 0.80139471 2.2286471
> #Klasifikasi
> predik =fitted (reglog)
> data_logistik$predik = predik
> klasif = table(data_logistik$Y,data_logistik$predik>0.5)
> klasif
TRUE
NO 39
YES 270
> #Uji Kelayakan Model
> logitgof(data_logistik$Y,fitted(reglog))
Hosmer and Lemeshow test (binary model)
data: data_logistik$Y, fitted(reglog)
X-squared = 9.1663, df = 8, p-value = 0.3285
Hipotesis H0: Tidak terjadi kasus multikolinearitas di antara variabel independen H1: Terjadi kasus multikolinearitas di antara variabel independen
Daerah Penolakan Tolak H0 jika nilai VIF>10
Keputusan Gagal tolak h0 karena berdasarkan hasil output RStudio diperoleh nilai VIF X1 = 1.014728, nilai VIF X2 = 1.005155, nilai VIF X3 = 1.011548, dan X4 = 1.013449.
Kesimpulan Karena semua nilai VIF<10 maka tidak terjadi kasus multikolinearitas di antara variabel independen
Berdasarkan hasil output RStudio dapat dibentuk model regresi logistik, yaitu:
Y = -1.35197 + 0.03029X1 + 1.98761X2 + 0.56318X3 + 0.80139X4
Karena nilai koefisien duga pada variabel independen semua bernilai positif maka penambahan variabel X1 (Usia), X2 (Mengonsumsi Alkohol), X3 (Merokok), dan X4 (Penyakit Kronis) dapat meningkatkan risiko seseorang terkena penyakit paru-paru.
Hipotesis H0: Tidak terdapat variabel yang berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru H1: Minimal terdapat satu variabel yang berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Daerah Penolakan Tolak H0 jika nilai G2 > chisquare tabel
Keputusan Tolak H0 karena berdasarkan hasil output RStudiO diperoleh nilai G2 (35.1124453) lebih besar dibandingkan nilai chisquare tabel sebesar 7.814728.
Kesimpulan Sehingga dapat disimpulkan bahwa model secara simultan signifikan atau minimal terdapat satu variabel yang berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
1. Uji parsial untuk variabel usia
Hipotesis H0: Variabel usia tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru H1: Variabel usia berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Daerah Penolakan Tolak H0 jika p-value < alpha(0.05)
Keputusan Gagal tolak H0 karena berdasarkan hasil output RStudiO diperoleh p-value(0.1550) lebih dari 0.05
Kesimpulan Jadi, dapat disimpulkan bahwa secara parsial Variabel usia tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
2. Uji parsial untuk variabel mengonsumsi alkohol
Hipotesis H0: Variabel mengonsumsi alkohol tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru H1: Variabel mengonsumsi alkohol berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Daerah Penolakan Tolak H0 jika p-value < alpha(0.05)
Keputusan Tolak H0 karena berdasarkan hasil output RStudiO diperoleh p-value(6.43e-06***) kurang dari 0.05
Kesimpulan Jadi, dapat disimpulkan bahwa secara parsial Variabel mengonsumsi alkohol berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
3. Uji parsial untuk variabel merokok
Hipotesis H0: Variabel merokok tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru H1: Variabel merokok berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Daerah Penolakan Tolak H0 jika p-value < alpha(0.05)
Keputusan Gagal tolak H0 karena berdasarkan hasil output RStudiO diperoleh p-value(0.1257) lebih dari 0.05
Kesimpulan Jadi, dapat disimpulkan bahwa secara parsial Variabel merokok tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
4. Uji parsial untuk variabel penyakit kronis
Hipotesis H0: Variabel penyakit kronis tidak berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru. H1: Variabel penyakit kronis berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Daerah Penolakan Tolak H0 jika p-value < alpha(0.05)
Keputusan Tolak H0 karena berdasarkan hasil output RStudiO diperoleh p-value(0.0334*) kurang dari 0.05
Kesimpulan Jadi, dapat disimpulkan bahwa secara parsial Variabel penyakit kronis berpengaruh terhadap risiko seseorang terkena penyakit kanker paru-paru
Usia (X1) Berdasarkan hasil output RStudio dapat disimpulkan bahwa jika umur seseorang bertambah 1 tahun maka kecenderungan terkena penyakit kanker paru-paru meningkat sebesar 1.0307494 kali lipat.
Mengonsumsi Alkohol (X2) Berdasarkan hasil output RStudio dapat disimpulkan bahwa seseorang yang mengonsumsi alkohol memiliki kecenderungan terkena penyakit kanker paru-paru sebesar 7.2980525 kali lipat dibandingkan seseorang yang tidak mengonsumsi alkhol.
Merokok (X3) Berdasarkan hasil output RStudio dapat disimpulkan bahwa seseorang yang merokok memiliki kecenderungan terkena penyakit kanker paru-paru sebesar 1.7562533 kali lipat dibandingkan seseorang yang tidak merokok.
Penyakit Kronis (X4) Berdasarkan hasil output RStudio dapat disimpulkan bahwa seseorang yang memiliki riwatay penyakit kronis memiliki kecenderungan terkena penyakit kanker paru-paru sebesar 2.2286471 kali lipat dibandingkan seseorang yang tidak memiliki riwayat penyakit kronis.
Dari 309 data observasi mengenai prediksi kanker paru-paru ditemukan observasi dengan kategori “NO” sejumlah 39 dan observasi dengan kategori “YES” sejumlah 270.
Hipotesis H0: Model layak untuk digunakan H1: Model tidak layak untuk digunakan
Daerah Penolakan Tolak H0 jika p-value < alpha(0.05) maka dapat disimpulkan bahwa model regresi tidak layak untuk digunakan
Keputusan Gagal tolak H0 karena berdasarkan hasil output RStudio diperoleh nilai p-value (0.3285) lebih besar dari alpha (0.05)
Kesimpulan Sehingga dapat disimpulkan bahwa model yang terbentuk layak untuk digunakan
Berdasarkan Analisis yang telah dilakukan di RStudio dapat disimpulkan bahwa model layak digunakan untuk kasus ini. Selain itu, berdasarkan uji parsial parameter model ada 2 variabel yang berpengaruh terhadap status seseorang terkena atau tidak terkena kanker paru-paru yaitu variabel mengonsumsi alkohol dan penyakit kronis. Berdasarkan p-value dan odds ratio variabel konsumsi alkohol adalah variabel yang memiliki kontribusi terbesr yang dapat meningkatkan risiko seseorang terkena penyakit kanker paru-paru dibandingkan variabel lain.
Berdasarkan Hasil Analisis Regresi Logistik pada kasus kanker paru-paru ini disarankan kepada masyarakat untuk bisa mengurangi konsumsi alkohol atau bahkan tidak mengonsumsi alkohol agar mengurangi risiko terkena penyakit kanker paru-paru. Selain itu, penulis menyarankan kepada penulis selanjutnya untuk menambahkan variabel-variabel independen pada kasus ini agar hasil analisis lebih kaya akan informasi sehingga dapat bermanfaat menambah informasi bagi masyarakat mengenai diagnosis dini, pengobatan, dan kesadaran akan faktor risiko yang terkait dengan penyakit ini.
Hosmer, D.W., dan S. Lemeshow. 2000. Applied Logistic Regression.Edisi ke-2.John Wiley and Sons Inc, Canada.
Tampil, Y., Komalig, H., Langi, Y. 2017. Analisis Regresi Logistik Untuk Menentukan Faktor-Faktor Yang Mempengaruhi Indeks Prestasi Kumulatif (IPK) Mahasiswa FMIPA Universitas Sam Ratulangi Manado. JdC, 6(2).
Hidayat, Anwar. 2018. “Regresi Logistik“.
https://komputasistatistika.mipa.ugm.ac.id/ (Diakses pada 04 Juni 2024 pukul 12.30)