1 PENDAHULUAN
1.1 Latar Belakang
Model Regresi Logistik merupakan sebuah alat statistik yang berguna untuk menggambarkan hubungan antara variabel independen dan variabel dependen yang bersifat biner. Fokus utama dari model ini adalah untuk menjelaskan faktor-faktor yang mempengaruhi kemungkinan terjadinya atau tidak terjadinya suatu peristiwa. Dalam model regresi logistik, terdapat dua nilai yang mungkin, yaitu 0 dan 1, yang mengindikasikan “gagal” atau “sukses” dalam analisis regresi logistik (Azizah & Chandra, 2017). Model Regresi Logistik banyak digunakan dalam berbagai bidang seperti kesehatan, ekonomi, ilmu sosial, dan kesehatan masyarakat. Dalam konteks kesehatan, perhatian pada model regresi logistik memungkinkan kita untuk mengidentifikasi dan memahami pengaruh dari variabel independen seperti nyeri dada, susah menelan, dan konsumsi alkohol terhadap rpenyakit kanker paru-paru.
Dengan memanfaatkan Model Regresi Logistik, kita dapat mengembangkan model yang memberikan estimasi koefisien regresi dan interpretasi statistik yang membantu memahami pengaruh variabel-variabel tersebut terhadap kanker paru-paru. Informasi ini memberikan pemahaman yang lebih baik tentang gejala-gejala yang timbul dalam kanker paru-paru dan membantu merancang intervensi atau kebijakan yang lebih efektif untuk mengetahui gejala kanker paru-paru lebih dini.
2 TINJAUAN PUSTAKA
2.1 Analisis Regresi Logistik
Analisis regresi logistik yaitu salah satu alat statistik yang dipakai untuk memodelkan keterkaitan antara variabel bebas dan variabel terikat. Regresi umumnya menggunakan variabel respons kuantitatif, tetapi pada pengkajian regresi logistik data yang digunakan merupakan data kategori atau kualitatif (Anisa dan Rifai, 2022). Regresi logistik biner merupakan teknik pengkajian regresi logistik yang digunakan untuk mempelajari keterkaitan antara satu variabel respons biner (dikotomis) dengan satu atau lebih variabel penjelas. Teknik ini digunakan untuk memprediksi probabilitas terjadinya atau tidak terjadinya suatu peristiwa yang mempunyai dua kemungkinan hasil. Dalam hal ini, variabel respons umumnya diwakili dengan angka 0 atau 1, yang melambangkan dua hasil yang mungkin. Regresi logistik biner membantu dalam memahami pengaruh variabel penjelas terhadap kemungkinan hasil yang berbeda dalam bentuk odds ratio atau probabilitas. Data dengan dua kategori ini merupakan bentuk yang paling dasar dari data kategorikal.
2.2 Koefisien Determinasi
Menghitung R square dimaksudkan untuk mengetahui persentase kekuatan hubungan antara variabel independen terhadap variabel dependen baik secara parsial maupun simultan (Kasmad dkk, 2020). Nilai R-square berkisar antara 0 hingga 1, di mana semakin tinggi nilainya, semakin baik model tersebut menjelaskan variasi dalam data. Nilai R-square 0 menunjukkan bahwa model tidak menjelaskan variabilitas sedikit pun, sementara 1 menunjukkan bahwa model mampu menjelaskan seluruh variabilitas dalam data.
##Asumsi Nonmultikolinieritas
Analisis regresi adalah metode statistik yang digunakan untuk mempelajari hubungan antara satu atau lebih variabel independen dengan variabel dependen. Salah satu asumsi penting dalam analisis regresi adalah asumsi nonmultikolinearitas, yang menyiratkan bahwa variabel independen tidak memiliki hubungan linier sempurna satu sama lain. Pelanggaran terhadap asumsi ini dapat mengganggu interpretasi hasil regresi dan menghasilkan koefisien regresi yang tidak stabil atau tidak dapat diandalkan. Oleh karena itu, penting untuk mengidentifikasi dan mengatasi masalah multikolinearitas dalam analisis regresi.Seperti yang dikemukakan oleh Hair et al. (2017) dan Gujarati (2019), mengatasi multikolinearitas penting agar estimasi koefisien regresi menjadi stabil dan hasil analisis regresi menjadi valid.
##Uji Signifikansi Keseluruhan Model
Uji signifikansi keseluruhan model merupakan salah satu langkah penting dalam analisis regresi untuk mengevaluasi keberlakuan model secara keseluruhan. Uji ini bertujuan untuk menentukan apakah model regresi secara keseluruhan memberikan kontribusi yang signifikan dalam menjelaskan variasi dalam variabel dependen. Uji signifikansi keseluruhan model memberikan informasi penting dalam menentukan apakah model regresi yang dihasilkan memiliki kekuatan prediktif yang memadai.Seperti yang dikemukakan oleh Field (2013) dan Gujarati (2019), uji ini memberikan informasi tentang apakah variabel independen secara keseluruhan memiliki pengaruh yang signifikan terhadap variabel dependen. Dengan melakukan uji signifikansi keseluruhan model, kita dapat menentukan apakah model regresi yang dihasilkan memiliki kekuatan prediktif yang memadai.
Hipotesis :
\(H_0\): Model tidak signifkan \((β_1=β_2=...=β_i=0)\)
\(H_1:\) Model signifikan (Setidaknya terdapat satu parameter \(β_i≠0\))
Keputusan : Tolak H0 apabila nilai statistik G > \(χ^2_(db;α)\) atau p-value < \(α (0.05)\)
##Uji Parsial Parameter Model
Uji parsial parameter model menggunakan uji t untuk mengevaluasi signifikansi statistik dari masing-masing koefisien regresi dan memberikan penilaian individual terhadap pengaruh variabel independen terhadap variabel dependen. Seperti yang dikemukakan oleh Gujarati (2019) dan Field (2013), uji parsial parameter model adalah langkah penting dalam analisis regresi untuk mengidentifikasi variabel independen yang memiliki pengaruh yang signifikan secara individu. Pada Uji Partial Ratio Likelihoodhipotesis yang digunakan sebagai berikut:
\(H_0\): Tidak terdapat pengaruh
antara \(X_i\) terhadap Y (\(β_j=0, j:1,...,p)\)
\(H_1\): Setidaknya terdapat satu parameter \(β_j≠0\) yang berpengaruh terhadap Y
Keputusan : Tolak H0 apabila nilai statistik G > \(χ^2_(db;α)\) atau p-value < \(α (0.05)\)
##Odds Ratio
Odds ratio adalah ukuran statistik yang umum digunakan dalam analisis regresi logistik untuk mengukur kekuatan hubungan antara variabel independen dan variabel dependen. Dalam literatur, terdapat banyak penelitian yang membahas tentang penggunaan dan interpretasi odds ratio dalam konteks analisis regresi logistik. Odds Ratio menunjukkan seberapa besar kemungkinan suatu kategori terjadi pada variabel pertama dibandingkan dengan variabel kedua. Karena nilai rasio ganjil dihitung dengan membagi dua odds yang selalu positif, maka rasio ganjil selalu bernilai nol atau lebih. Jika rasio ganjil sama dengan satu, artinya kedua odds memiliki nilai yang sama. Oleh karena itu, jika rasio ganjil sama dengan satu, maka risiko pada kedua kelompok dianggap sama besar (Nengsih, 2013). \[ ψ=exp(β ̂_jk) \]
##Uji Kelayakan Model
Uji kelayakan model adalah langkah penting dalam analisis regresi untuk mengevaluasi sejauh mana model regresi mampu menjelaskan variasi dalam variabel dependen dan cocok dengan data yang ada. Seperti yang dikemukakan oleh Hair et al. (2017) dan Field (2013), uji kelayakan model melibatkan berbagai statistik seperti R-squared, kesalahan standar, dan uji signifikansi model untuk menilai keberlakuan model dalam konteks analisis regresi. Dengan melakukan uji kelayakan model, kita dapat mengevaluasi sejauh mana model tersebut dapat dipercaya dan digunakan untuk mengambil kesimpulan dalam penelitian.
Uji kecocokan model digunakan untuk mengesahkan model statistik serta mengevaluasi sejauh mana kesesuaian model dengan data yang ada. Pemeriksaan kecocokan model dapat memberikan informasi mengenai kemampuan model untuk memberikan hasil yang dapat diandalkan dan dapat dipakai untuk melakukan generalisasi atau prediksi. Selain itu, pemeriksaan kecocokan model juga berguna untuk memperbaiki atau menyesuaikan model yang tidak memenuhi asumsi yang dibutuhkan. Uji kecocokan model regresi dapat diukur dengan menggunakan Hosmer dan Lemeshow’s Goodness of Fit Test.
Hipotesis :
\(H_0\) : Model layak
\(H_1\) : Model tidak layak
Keputusan : Tolak \(H_0\) jika nilai p-value < \(α (0.05)\)
3 SOURCE CODE
3.1 Library
library(readr)## Warning: package 'readr' was built under R version 4.2.3
library(generalhoslem)## Warning: package 'generalhoslem' was built under R version 4.2.3
## Loading required package: reshape
## Warning: package 'reshape' was built under R version 4.2.3
## Loading required package: MASS
library(pscl)## Warning: package 'pscl' was built under R version 4.2.3
## Classes and Methods for R developed in the
## Political Science Computational Laboratory
## Department of Political Science
## Stanford University
## Simon Jackman
## hurdle and zeroinfl functions by Achim Zeileis
library(readxl)## Warning: package 'readxl' was built under R version 4.2.3
3.2 Mengimport data
Sumber data: https://www.kaggle.com/datasets/mysarahmadbhat/lung-cancer
Data yang digunakan pada analisis regresi logistik ini merupakan data mengenai yang telah disusun oleh MYSAR AHMAD BHAT pada website dataset Kaggle mengenai “Lung Cancer”. Pada data ini berisikan beberapa gejala yang akan diuji apakah memiliki hubungan dengan penyakit kanker paru-paru. Dalam pengujiannya diambil sejumlah 100 sampel.
Keterangan:
- \(Y\) : Penderita Kanker
- \(X_1\) : Nyeri Dada
- \(X_2\) : Kesulitan Menelan
- \(X_3\) : Konsumsi Alkohol
dengan 1 : Ya, dan 2: Tidak.
datareglog <-read_csv("E:/Kuliah/SEMESTER 4/Komstat/data kanker paru.csv")## Rows: 100 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (4): LUNG CANCER, CHEST PAIN, SWALLOWING DIFFICULTY, ALCOHOL CONSUMING
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
str(datareglog)## spc_tbl_ [100 × 4] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ LUNG CANCER : num [1:100] 2 2 1 1 1 2 2 2 1 2 ...
## $ CHEST PAIN : num [1:100] 2 2 2 2 1 1 2 1 1 2 ...
## $ SWALLOWING DIFFICULTY: num [1:100] 2 2 1 2 1 1 1 2 1 2 ...
## $ ALCOHOL CONSUMING : num [1:100] 2 1 1 2 1 1 2 1 1 2 ...
## - attr(*, "spec")=
## .. cols(
## .. `LUNG CANCER` = col_double(),
## .. `CHEST PAIN` = col_double(),
## .. `SWALLOWING DIFFICULTY` = col_double(),
## .. `ALCOHOL CONSUMING` = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
Y <- as.factor(datareglog$'LUNG CANCER')
X1 <- as.factor(datareglog$`CHEST PAIN`)
X2 <- as.factor(datareglog$`SWALLOWING DIFFICULTY`)
X3 <- as.factor(datareglog$`ALCOHOL CONSUMING`)
str(Y)## Factor w/ 2 levels "1","2": 2 2 1 1 1 2 2 2 1 2 ...
##Membentuk data frame
data_logistik<-data.frame(X1,X2,X3,Y)
str(data_logistik)## 'data.frame': 100 obs. of 4 variables:
## $ X1: Factor w/ 2 levels "1","2": 2 2 2 2 1 1 2 1 1 2 ...
## $ X2: Factor w/ 2 levels "1","2": 2 2 1 2 1 1 1 2 1 2 ...
## $ X3: Factor w/ 2 levels "1","2": 2 1 1 2 1 1 2 1 1 2 ...
## $ Y : Factor w/ 2 levels "1","2": 2 2 1 1 1 2 2 2 1 2 ...
Gambaran banyaknya observasi dan karakteristik variabel ditampilkan dengan perintah str().
##Asumsi Nonmultikolinieritas
reg1 <- glm(X1~X2+X3,family = binomial, data=data_logistik)
summary(reg1)##
## Call:
## glm(formula = X1 ~ X2 + X3, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.7449 -1.1647 0.7016 0.9008 1.4467
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.6139 0.4012 -1.530 0.12602
## X22 0.5839 0.4357 1.340 0.18015
## X32 1.3062 0.4365 2.992 0.00277 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 134.60 on 99 degrees of freedom
## Residual deviance: 123.86 on 97 degrees of freedom
## AIC: 129.86
##
## Number of Fisher Scoring iterations: 4
pR2(reg1)## fitting null model for pseudo-r2
## llh llhNull G2 McFadden r2ML r2CU
## -61.9317111 -67.3011667 10.7389112 0.0797825 0.1018239 0.1376507
R2_1 <- 1/(1-0.006685)
R2_1## [1] 1.00673
reglog2 <- glm(X2~X1+X3, family = binomial, data =data_logistik)
summary(reglog2)##
## Call:
## glm(formula = X2 ~ X1 + X3, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4088 -1.2459 0.9624 1.1104 1.3621
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.05463 0.36096 -0.151 0.880
## X12 0.58393 0.43567 1.340 0.180
## X32 -0.36969 0.43318 -0.853 0.393
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 138.47 on 99 degrees of freedom
## Residual deviance: 136.42 on 97 degrees of freedom
## AIC: 142.42
##
## Number of Fisher Scoring iterations: 4
pR2(reglog2)## fitting null model for pseudo-r2
## llh llhNull G2 McFadden r2ML r2CU
## -68.21137247 -69.23469671 2.04664848 0.01478051 0.02025847 0.02702572
R2_2 <- 1/(1-0.006701)
R2_2## [1] 1.006746
reglog3 <- glm(X3~X1+X2, family = binomial, data =data_logistik)
summary(reglog3)##
## Call:
## glm(formula = X3 ~ X1 + X2, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.6493 -1.0763 0.7701 0.9002 1.4460
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.2426 0.3740 -0.649 0.51653
## X12 1.3062 0.4365 2.992 0.00277 **
## X22 -0.3697 0.4332 -0.853 0.39342
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 136.06 on 99 degrees of freedom
## Residual deviance: 126.41 on 97 degrees of freedom
## AIC: 132.41
##
## Number of Fisher Scoring iterations: 4
pR2(reglog3)## fitting null model for pseudo-r2
## llh llhNull G2 McFadden r2ML r2CU
## -63.20423882 -68.02920002 9.64992240 0.07092486 0.09198940 0.12372663
R2_3 <- 1/(1-0.009893448)
R2_3## [1] 1.009992
Pada asumsi ini akan diuji hubungan antar variabel prediktor yakni Nyeri Dada (\(X_1\)), Kesulitan Menelan (\(X_2\)), dan Konsumsi Alkohol (\(X_3\)) dengan menggunakan metode Generelized Linear Model dikarenakan variabel prediktor memiliki tipe kategorik. Setelah didapati hasil glm tersebut kemudian akan digunakan R-square untuk mencari nilai VIF-nya.
##Analisis Regresi Logistik
reglog<-glm(Y~X1+X2+X3,family=binomial,data=data_logistik)
summary(reglog)##
## Call:
## glm(formula = Y ~ X1 + X2 + X3, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.9169 0.1691 0.3968 0.6651 1.3592
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.4179 0.5028 -0.831 0.40594
## X12 1.1059 0.6368 1.737 0.08247 .
## X22 1.7380 0.6753 2.574 0.01006 *
## X32 1.8140 0.6758 2.684 0.00727 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 91.177 on 99 degrees of freedom
## Residual deviance: 69.268 on 96 degrees of freedom
## AIC: 77.268
##
## Number of Fisher Scoring iterations: 5
Pada uji ini menggunakan metode glm dan memunculkan output dengan menggunakan ‘summary()’
##Uji Signifikansi Keseluruhan Model
pR2(reglog)## fitting null model for pseudo-r2
## llh llhNull G2 McFadden r2ML r2CU
## -34.6339146 -45.5886213 21.9094135 0.2402948 0.1967539 0.3289162
qchisq(0.95,2)## [1] 5.991465
Digunakan fungsi pR2 dalam mendapatkan nilai G2 yang selanjutnya akan dibandingkan dengan nilai Chi-square tabel.
##Uji Parsial Parameter Model
summary(reglog)##
## Call:
## glm(formula = Y ~ X1 + X2 + X3, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.9169 0.1691 0.3968 0.6651 1.3592
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.4179 0.5028 -0.831 0.40594
## X12 1.1059 0.6368 1.737 0.08247 .
## X22 1.7380 0.6753 2.574 0.01006 *
## X32 1.8140 0.6758 2.684 0.00727 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 91.177 on 99 degrees of freedom
## Residual deviance: 69.268 on 96 degrees of freedom
## AIC: 77.268
##
## Number of Fisher Scoring iterations: 5
Menggunakan fungsi ‘summary()’ untuk memunculkan output yang didalamnya tertera beberapa p-value dari masing-masing variabel yang dapat dibandingkan dengan nilai \(α (0.05)\) untuk mengetahui pengaruh masing-masing variabel prediktor terhadap variabel respon.
##R square
reg_1 <- glm(X1~X2+X3,family = binomial, data=data_logistik)
summary(reg_1)##
## Call:
## glm(formula = X1 ~ X2 + X3, family = binomial, data = data_logistik)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.7449 -1.1647 0.7016 0.9008 1.4467
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.6139 0.4012 -1.530 0.12602
## X22 0.5839 0.4357 1.340 0.18015
## X32 1.3062 0.4365 2.992 0.00277 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 134.60 on 99 degrees of freedom
## Residual deviance: 123.86 on 97 degrees of freedom
## AIC: 129.86
##
## Number of Fisher Scoring iterations: 4
Pada pengujian ini akan dilihat sejauh mana variabel bebas dalam model regresi mampu menjelaskan variabel terikatnya.
##Odds Ratio
beta<-(coef(reglog))
beta## (Intercept) X12 X22 X32
## -0.417873 1.105884 1.737965 1.813987
OR_beta<-exp(beta)
OR_beta## (Intercept) X12 X22 X32
## 0.6584458 3.0218958 5.6857613 6.1348580
cbind(beta,OR_beta)## beta OR_beta
## (Intercept) -0.417873 0.6584458
## X12 1.105884 3.0218958
## X22 1.737965 5.6857613
## X32 1.813987 6.1348580
##Membentuk klasifikasi
yp_hat<-fitted(reglog)
data_logistik$yp_hat<-yp_hat
data_logistik## X1 X2 X3 Y yp_hat
## 1 2 2 2 2 0.9857965
## 2 2 2 1 2 0.9187868
## 3 2 1 1 1 0.6655244
## 4 2 2 2 1 0.9857965
## 5 1 1 1 1 0.3970258
## 6 1 1 1 2 0.3970258
## 7 2 1 2 2 0.9242818
## 8 1 2 1 2 0.7891970
## 9 1 1 1 1 0.3970258
## 10 2 2 2 2 0.9857965
## 11 1 2 1 2 0.7891970
## 12 2 1 2 2 0.9242818
## 13 1 1 1 1 0.3970258
## 14 2 1 2 2 0.9242818
## 15 2 1 2 1 0.9242818
## 16 1 2 1 2 0.7891970
## 17 2 1 2 2 0.9242818
## 18 2 2 2 2 0.9857965
## 19 1 1 1 2 0.3970258
## 20 1 1 1 1 0.3970258
## 21 1 2 1 2 0.7891970
## 22 1 2 1 2 0.7891970
## 23 1 1 1 1 0.3970258
## 24 2 1 2 2 0.9242818
## 25 2 2 2 2 0.9857965
## 26 2 2 2 2 0.9857965
## 27 2 2 2 2 0.9857965
## 28 2 1 1 1 0.6655244
## 29 2 2 2 2 0.9857965
## 30 1 1 2 1 0.8015665
## 31 1 1 1 1 0.3970258
## 32 2 2 2 2 0.9857965
## 33 1 2 1 1 0.7891970
## 34 2 2 1 2 0.9187868
## 35 2 2 1 1 0.9187868
## 36 1 2 1 2 0.7891970
## 37 2 1 1 2 0.6655244
## 38 1 2 1 1 0.7891970
## 39 2 1 1 2 0.6655244
## 40 2 1 2 2 0.9242818
## 41 2 1 2 2 0.9242818
## 42 1 2 2 2 0.9582768
## 43 1 1 2 2 0.8015665
## 44 2 1 2 2 0.9242818
## 45 1 2 2 2 0.9582768
## 46 2 2 2 2 0.9857965
## 47 2 2 1 2 0.9187868
## 48 2 2 2 2 0.9857965
## 49 2 2 2 2 0.9857965
## 50 1 1 2 1 0.8015665
## 51 2 1 2 2 0.9242818
## 52 1 1 1 2 0.3970258
## 53 2 2 2 2 0.9857965
## 54 2 2 2 2 0.9857965
## 55 1 1 2 2 0.8015665
## 56 1 2 2 2 0.9582768
## 57 2 1 1 2 0.6655244
## 58 2 2 2 2 0.9857965
## 59 2 2 1 2 0.9187868
## 60 2 1 2 2 0.9242818
## 61 2 2 2 2 0.9857965
## 62 1 1 1 1 0.3970258
## 63 1 1 2 2 0.8015665
## 64 1 2 2 2 0.9582768
## 65 2 1 2 2 0.9242818
## 66 2 2 1 2 0.9187868
## 67 2 1 1 2 0.6655244
## 68 1 1 2 2 0.8015665
## 69 2 2 1 2 0.9187868
## 70 1 2 1 2 0.7891970
## 71 2 2 2 2 0.9857965
## 72 1 2 1 2 0.7891970
## 73 2 1 2 2 0.9242818
## 74 1 1 1 2 0.3970258
## 75 2 1 2 2 0.9242818
## 76 1 1 2 2 0.8015665
## 77 2 2 1 2 0.9187868
## 78 2 1 2 2 0.9242818
## 79 2 2 2 2 0.9857965
## 80 2 2 1 2 0.9187868
## 81 1 1 1 1 0.3970258
## 82 1 2 1 2 0.7891970
## 83 2 2 2 2 0.9857965
## 84 1 1 2 2 0.8015665
## 85 2 1 2 2 0.9242818
## 86 1 2 2 2 0.9582768
## 87 2 1 2 2 0.9242818
## 88 2 2 1 2 0.9187868
## 89 1 1 2 2 0.8015665
## 90 2 2 2 2 0.9857965
## 91 2 2 2 2 0.9857965
## 92 2 1 1 2 0.6655244
## 93 2 2 2 2 0.9857965
## 94 1 2 2 2 0.9582768
## 95 2 2 2 2 0.9857965
## 96 2 2 1 2 0.9187868
## 97 2 1 2 2 0.9242818
## 98 1 1 2 2 0.8015665
## 99 1 2 1 2 0.7891970
## 100 2 1 2 2 0.9242818
class<-table(data_logistik$Y,data_logistik$yp_hat>0.5)
class##
## FALSE TRUE
## 1 8 9
## 2 4 79
Pengelompokan klasifikasi dimanfaatkan untuk memudahkan kita dalam mengelompokkan kelas-kelas antar variabel dengan kriteria-kriteria tertentu yang akan ditampilkan dalam format tabel klasifikasi.
##Uji Kelayakan Model
logitgof(data_logistik$Y,fitted(reglog))## Warning in logitgof(data_logistik$Y, fitted(reglog)): At least one cell in the
## expected frequencies table is < 1. Chi-square approximation may be incorrect.
## Warning in logitgof(data_logistik$Y, fitted(reglog)): Not possible to compute
## 10 rows. There might be too few observations.
##
## Hosmer and Lemeshow test (binary model)
##
## data: data_logistik$Y, fitted(reglog)
## X-squared = 0.47661, df = 3, p-value = 0.924
Pada pengujian ini ditujukan untuk mengetahui apakah model yang digunakan dalam melakukan uji regresi logistik sudah sesuai dengan datau atau tidak.
4 HASIL DAN PEMBAHASAN
##Asumsi Nonmultikolinieritas
> reg1 <- glm(X1~X2+X3,family = binomial, data=data_logistik)
> summary(reg1)
Call:
glm(formula = X1 ~ X2 + X3, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7449 -1.1647 0.7016 0.9008 1.4467
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.6139 0.4012 -1.530 0.12602
X22 0.5839 0.4357 1.340 0.18015
X32 1.3062 0.4365 2.992 0.00277 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 134.60 on 99 degrees of freedom
Residual deviance: 123.86 on 97 degrees of freedom
AIC: 129.86
Number of Fisher Scoring iterations: 4
> pR2(reg1)
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-61.9317111 -67.3011667 10.7389112 0.0797825 0.1018239 0.1376507
> R2_1 <- 1/(123.86/134.60)
> R2_1
[1] 1.086711
Hasil yang diperoleh dari VIF pada variabel Nyeri Dada (\(X_1\)) yakni sebesar 1.086711 (VIF<10), maka memenuhi kriteria nonmultikolinearitas sehingga tidak terdapat korelasi antara variabel \(X_1\) dengan variabel prediktor lainnya.
> reglog2 <- glm(X2~X1+X3, family = binomial, data =data_logistik)
> summary(reglog2)
Call:
glm(formula = X2 ~ X1 + X3, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.4088 -1.2459 0.9624 1.1104 1.3621
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.05463 0.36096 -0.151 0.880
X12 0.58393 0.43567 1.340 0.180
X32 -0.36969 0.43318 -0.853 0.393
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 138.47 on 99 degrees of freedom
Residual deviance: 136.42 on 97 degrees of freedom
AIC: 142.42
Number of Fisher Scoring iterations: 4
> pR2(reglog2)
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-68.21137247 -69.23469671 2.04664848 0.01478051 0.02025847 0.02702572
> R2_2 <- 1/(136.42/138.47)
> R2_2
[1] 1.015027
Hasil yang diperoleh dari VIF pada variabel Kesulitan Menelan (\(X_2\)) yakni sebesar 1.015027 (VIF<10), maka memenuhi kriteria nonmultikolinearitas sehingga tidak terdapat korelasi antara variabel \(X_2\) dengan variabel prediktor lainnya.
> reglog3 <- glm(X3~X1+X2, family = binomial, data =data_logistik)
> summary(reglog3)
Call:
glm(formula = X3 ~ X1 + X2, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6493 -1.0763 0.7701 0.9002 1.4460
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.2426 0.3740 -0.649 0.51653
X12 1.3062 0.4365 2.992 0.00277 **
X22 -0.3697 0.4332 -0.853 0.39342
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 136.06 on 99 degrees of freedom
Residual deviance: 126.41 on 97 degrees of freedom
AIC: 132.41
Number of Fisher Scoring iterations: 4
> pR2(reglog3)
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-63.20423882 -68.02920002 9.64992240 0.07092486 0.09198940 0.12372663
> R2_3 <- 1/(126.41/136.06)
> R2_3
[1] 1.076339
Hasil yang diperoleh dari VIF pada variabel Kesulitan Menelan (\(X_3\)) yakni sebesar 1.076339 (VIF<10), maka memenuhi kriteria nonmultikolinearitas sehingga tidak terdapat korelasi antara variabel \(X_3\) dengan variabel prediktor lainnya.
##Analisis Regresi Logistik
> reglog<-glm(Y~X1+X2+X3,family=binomial,data=data_logistik)
> summary(reglog)
Call:
glm(formula = Y ~ X1 + X2 + X3, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.9169 0.1691 0.3968 0.6651 1.3592
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.4179 0.5028 -0.831 0.40594
X12 1.1059 0.6368 1.737 0.08247 .
X22 1.7380 0.6753 2.574 0.01006 *
X32 1.8140 0.6758 2.684 0.00727 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 91.177 on 99 degrees of freedom
Residual deviance: 69.268 on 96 degrees of freedom
AIC: 77.268
Number of Fisher Scoring iterations: 5
Berdasarkan output analisis regresi logistik, dihasilkan persamaan regresi sebagai berikut: \(g(x)=-0.4179+1.1059X12+1.7380X22+1.8140X32\)
Interpretasi pada masing-masing parameter: - Konstanta sebesar-0.4179 berarti bahwa apabila variabel konstan Y duga yang didapatkan akan turun 0.4179 satuan. - \(β_12\)=1.1059, apabila variabel prediktor lain konstan, maka Y duga akan naik sebesar 1.1059 satuan. - \(β_22\)=1.7380, apabila variabel prediktor lain konstan, maka Y duga akan naik sebesar 1.7380 satuan. - \(β_32\)=1.8140, apabila variabel prediktor lain konstan, maka Y duga akan naik sebesar 1.8140 satuan.
##Uji Signifikansi Keseluruhan Model
> pR2(reglog)
fitting null model for pseudo-r2
llh llhNull G2 McFadden r2ML r2CU
-34.6339146 -45.5886213 21.9094135 0.2402948 0.1967539 0.3289162
> qchisq(0.95,2)
[1] 5.991465
Pada output uji tersebut didapati nilai G2(21.9094135) > Chi-Square(5.991465) maka \(H_0\) ditolak sehingga secara simultan terdapat paling sedikit satu variabel independen yang mempengaruhi secara signifikan terhadap variabel dependen. ##Uji Parsial Parameter Model
> summary(reglog)
Call:
glm(formula = Y ~ X1 + X2 + X3, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.9169 0.1691 0.3968 0.6651 1.3592
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.4179 0.5028 -0.831 0.40594
X12 1.1059 0.6368 1.737 0.08247 .
X22 1.7380 0.6753 2.574 0.01006 *
X32 1.8140 0.6758 2.684 0.00727 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 91.177 on 99 degrees of freedom
Residual deviance: 69.268 on 96 degrees of freedom
AIC: 77.268
Number of Fisher Scoring iterations: 5
Pada output uji parsial didapati p-value: - Variabel (\(X12\)) sebesar 0.08247 > \(α (0.05)\), maka gagal tolak \(H_0\), sehingga Variabel (\(X12\)) tidak berpengaruh signifikan terhadap variabel kanker paru-paru. - Variabel (\(X22\)) sebesar 0.01006 < \(α (0.05)\), maka tolak \(H_0\), sehingga Variabel (\(X22\)) berpengaruh signifikan terhadap variabel kanker paru-paru. - Variabel (\(X32\)) sebesar 0.00727 > \(α (0.05)\), maka gagal tolak \(H_0\), sehingga Variabel (\(X32\)) tidaj berpengaruh signifikan terhadap variaber kanker paru-paru.
##R square
> summary(reglog)
Call:
glm(formula = Y ~ X1 + X2 + X3, family = binomial, data = data_logistik)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.9169 0.1691 0.3968 0.6651 1.3592
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.4179 0.5028 -0.831 0.40594
X12 1.1059 0.6368 1.737 0.08247 .
X22 1.7380 0.6753 2.574 0.01006 *
X32 1.8140 0.6758 2.684 0.00727 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 91.177 on 99 degrees of freedom
Residual deviance: 69.268 on 96 degrees of freedom
AIC: 77.268
Number of Fisher Scoring iterations: 5
> Rsq<-1-(69.268/91.177)
> Rsq
[1] 0.2402909
Berdasarkan output di atas, nilai Rsq sebear 0.2402909 yang berarti bahwa variabel (\(X12\)), (\(X22\)), dan (\(X32\)) dapat menjelaskan variabel kanker paru-paru sebanyak 24.029% dan 75.97% lainnya dijelaskan oleh variabel lain di luar model ini.
##Odds Ratio
> #Odds Ratio
> beta<-(coef(reglog))
> beta
(Intercept) X12 X22 X32
-0.417873 1.105884 1.737965 1.813987
> OR_beta<-exp(beta)
> OR_beta
(Intercept) X12 X22 X32
0.6584458 3.0218958 5.6857613 6.1348580
> cbind(beta,OR_beta)
beta OR_beta
(Intercept) -0.417873 0.6584458
X12 1.105884 3.0218958
X22 1.737965 5.6857613
X32 1.813987 6.1348580
Berdasarkan output di atas dapat dijelaskan sebagai berikut: - Apabila variabel (\(X12\)) bertambah 1 satuan, maka kecenderungan seseorang menderita kanker paru-paru meningkat 3.0218958 kali atau apabila variabel (\(X12\)) naik maka naik pula potensi orang tersebut menderita kanker paru-paru. - Apabila variabel (\(X22\)) bertambah 1 satuan, maka kecenderungan seseorang menderita kanker paru-paru meningkat 5.6857613 kali atau apabila variabel (\(XX22\)) naik maka naik pula potensi orang tersebut menderita kanker paru-paru. - Apabila variabel (\(X32\)) bertambah 1 satuan, maka kecenderungan seseorang menderita kanker paru-paru meningkat 6.1348580 kali atau apabila variabel (\(X32\)) naik maka naik pula potensi orang tersebut menderita kanker paru-paru.
##Membentuk klasifikasi
> yp_hat<-fitted(reglog)
> data_logistik$yp_hat<-yp_hat
> data_logistik
X1 X2 X3 Y yp_hat
1 2 2 2 2 0.9857965
2 2 2 1 2 0.9187868
3 2 1 1 1 0.6655244
4 2 2 2 1 0.9857965
5 1 1 1 1 0.3970258
6 1 1 1 2 0.3970258
7 2 1 2 2 0.9242818
8 1 2 1 2 0.7891970
9 1 1 1 1 0.3970258
10 2 2 2 2 0.9857965
11 1 2 1 2 0.7891970
12 2 1 2 2 0.9242818
13 1 1 1 1 0.3970258
14 2 1 2 2 0.9242818
15 2 1 2 1 0.9242818
16 1 2 1 2 0.7891970
17 2 1 2 2 0.9242818
18 2 2 2 2 0.9857965
19 1 1 1 2 0.3970258
20 1 1 1 1 0.3970258
21 1 2 1 2 0.7891970
22 1 2 1 2 0.7891970
23 1 1 1 1 0.3970258
24 2 1 2 2 0.9242818
25 2 2 2 2 0.9857965
26 2 2 2 2 0.9857965
27 2 2 2 2 0.9857965
28 2 1 1 1 0.6655244
29 2 2 2 2 0.9857965
30 1 1 2 1 0.8015665
31 1 1 1 1 0.3970258
32 2 2 2 2 0.9857965
33 1 2 1 1 0.7891970
34 2 2 1 2 0.9187868
35 2 2 1 1 0.9187868
36 1 2 1 2 0.7891970
37 2 1 1 2 0.6655244
38 1 2 1 1 0.7891970
39 2 1 1 2 0.6655244
40 2 1 2 2 0.9242818
41 2 1 2 2 0.9242818
42 1 2 2 2 0.9582768
43 1 1 2 2 0.8015665
44 2 1 2 2 0.9242818
45 1 2 2 2 0.9582768
46 2 2 2 2 0.9857965
47 2 2 1 2 0.9187868
48 2 2 2 2 0.9857965
49 2 2 2 2 0.9857965
50 1 1 2 1 0.8015665
51 2 1 2 2 0.9242818
52 1 1 1 2 0.3970258
53 2 2 2 2 0.9857965
54 2 2 2 2 0.9857965
55 1 1 2 2 0.8015665
56 1 2 2 2 0.9582768
57 2 1 1 2 0.6655244
58 2 2 2 2 0.9857965
59 2 2 1 2 0.9187868
60 2 1 2 2 0.9242818
61 2 2 2 2 0.9857965
62 1 1 1 1 0.3970258
63 1 1 2 2 0.8015665
64 1 2 2 2 0.9582768
65 2 1 2 2 0.9242818
66 2 2 1 2 0.9187868
67 2 1 1 2 0.6655244
68 1 1 2 2 0.8015665
69 2 2 1 2 0.9187868
70 1 2 1 2 0.7891970
71 2 2 2 2 0.9857965
72 1 2 1 2 0.7891970
73 2 1 2 2 0.9242818
74 1 1 1 2 0.3970258
75 2 1 2 2 0.9242818
76 1 1 2 2 0.8015665
77 2 2 1 2 0.9187868
78 2 1 2 2 0.9242818
79 2 2 2 2 0.9857965
80 2 2 1 2 0.9187868
81 1 1 1 1 0.3970258
82 1 2 1 2 0.7891970
83 2 2 2 2 0.9857965
84 1 1 2 2 0.8015665
85 2 1 2 2 0.9242818
86 1 2 2 2 0.9582768
87 2 1 2 2 0.9242818
88 2 2 1 2 0.9187868
89 1 1 2 2 0.8015665
90 2 2 2 2 0.9857965
91 2 2 2 2 0.9857965
92 2 1 1 2 0.6655244
93 2 2 2 2 0.9857965
94 1 2 2 2 0.9582768
95 2 2 2 2 0.9857965
96 2 2 1 2 0.9187868
97 2 1 2 2 0.9242818
98 1 1 2 2 0.8015665
99 1 2 1 2 0.7891970
100 2 1 2 2 0.9242818
> class<-table(data_logistik$Y,data_logistik$yp_hat>0.5)
> class
FALSE TRUE
1 8 9
2 4 79
Dari 17 amatan dengan \(Y=1\) sebanyak 9 yang diklasifikasikan benar Dari 83 amatan dengan \(Y=2\) sebanyak 79 yang diklasifikasikan benar
##Uji Kelayakan Model
> logitgof(data_logistik$Y,fitted(reglog))
Hosmer and Lemeshow test (binary model)
data: data_logistik$Y, fitted(reglog)
X-squared = 0.47661, df = 3, p-value = 0.924
Berdasarkan output tersebut, dihasilkan nilai p-value dari pengujian Goodness of Fit atau Uji Hosmer-Lemeshow sebesar 0.924. Karena p-value (0.924) > \(α (0.05)\) maka diputuskan bahwa H0 diterima. Dapat disimpulkan bahwa model pada analisis ini sudah sesuai untuk digunakan.
5 KESIMPULAN
Berdasarkan gejala-gejala yang mempengaruhi kanker paru-paru menghasilkan kesimpulan bahwa variabel Nyeri Dadad \((X1)\) tidak berpengaruh terhadap variaber kanker paru-paru \((Y)\), sedangkan variabel Kesusahan menelan \((X2)\) dan Konsumsi alkohol \((X3)\) berpengaruh signifikan. Oleh karena itu: - apabila seseprang mengalami kesusahan menelan, diharapkan untuk segera periksa ke dokter. Karena gangguan tersebut bisa saja merupakan gejala kanker paru-paru. - Menghindari konsumsi alkohol sangatlah dianjurkan untuk menghindari naiknya tingkat risiko kanker paru-paru.
6 DAFTAR PUSTAKA
Sumber data : https://www.kaggle.com/datasets/mysarahmadbhat/lung-cancer
Azizah, S. M., & Chandra, N. E. (2017). MODEL REGRESI LOGISTIK PADA FAKTOR-FAKTOR YANG MEMPENGARUHI IMUNSISASI LENGKAP BALITA. ILMIHAH Teknosains,73-76.
Carolina, J., L., V. C., & Tobing. (2019). PENGARUH PROFITABILITAS, LIKUIDITAS, SOLVABILITAS DAN UKURAN PERUSAHAAN TERHADAP KETEPATAN WAKTUPENYAMPAIAN LAPORAN KEUANGAN PADA PERUSAHAAN MANUFAKTUR DI BEI. AKUNTANSI BARELANG, 45-54.
Kasmad, Ahidin, U., Jati, W., Rusnaeni, N., Jamaludin, & Hanny, R. (2020). Membangkitkan Kreativitas Mahasiswa Pada Masa Dan Pasca Pandemi COVID-19. Tangerang: The Department of Management, The Faculty of Economic, Pamulang University.
Muflihah, I. Z. (2017). ANALISIS FINANCIAL DISTRESS PERUSAHAAN MANUFAKTUR DI INDONESIA dengan REGRESI LOGISTIK. Majalah Ekonomi , 254-269.
Nengsih, T. A. (2013). Analisis Minat Masyarakat Terhadap Baitul Mal Watamwil di Kota Jambi . Ekonomi Islam, 33-38.
Prasanti, T. A., Wuryandari, T., & Rusgiyono, A. (2015). APLIKASI REGRESI DATA PANEL UNTUK PEMODELAN TINGKAT PENGANGGURAN TERBUKA KABUPATEN/KOTADI PROVINSI JAWA TENGAH. GAUSSIAN, 687-696.
Ikemura, K., dll. (2021). Using automated machine learning to predict the mortality of patients with COVID-19: prediction model development study, J. Med. Internet Res. 23(2), e23458.
Malik, A., & Chusni, M. M. (2018). Pengantar Statistika Pendidikan (1st ed.). Yogyakarta: Deepublish.
Sholikhah, A. (2016). Statistik Deskriptif dalam Penelitian Kualitatif. KOMUNIKA, 10(2), 342–362.
Simatupang, M. D., & Arcana, I. M. (2021). Risiko Kematian Pasien Covid-19 dan Faktor yang Memengaruhinya. Seminar Nasional Official Statistics 2021, 889–898.