Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")

1 PENDAHULUAN

1.1 Latar Belakang

Kanker merupakan salah satu penyakit yang menjadi penyebab kematian tertinggi. Hal ini disebabkan karena umumnya gejalanya tidak terdeteksi diawal sehingga ditangani ketika sudah stadium lanjut. Kanker merupakan penyakit yang disebabkan karena pertumbuhan sel abnormal yang tidak terkendali yang terletak di dalam tubuh.Sel abnormal yang tidak terkendali ini dapat menyerang dan merusak sel normal disekitarnya atau bahkan bisa menyerang bagian tubuh lain. Pada umumnya kanker disebabkan oleh riwayat penyakit kanker dalam keluarga atau pola hidup yang tidak sehat. Gejala penyakit kanker bisa berbeda-beda bagi tiap Lung cancer atau kanker paru-paru merupakan salah satu jenis kanker yang tumbuh atau menyerang organ paru-paru. Dalam hal ini diambil beberapa sampel yang akan diamati dan didapatkan model untuk memprediksi apakah usia dan status perokok atau tidak mempengaruhi kanker paru-paru.

2 TINJAUAN PUSTAKA

2.1 Regresi Logistik

Metode regresi berkaitan dengan menjelaskan hubungan antara variabel respon dan satu atau lebih variabel prediktor. Namun, sering kali variabel respon bersifat diskrit dan hal ini membuat Model regresi logistik adalah model regresi yang paling sering digunakan untuk analisis data-data tersebut. Secara umum tujuan analisis menggunakan regresi logistic sama dengan model regresi lainnya yang biasa digunakan dalam statistic, yaitu untuk menemukan model yang paling sesuai untuk menjelaskan hubungan antara variabel respon dan variabel prediktor. Yang membedakan model regresi logistik dengan model regresi linier aadalah variabel respon dalam regresi logistik bersifat biner atau dikotomis. Perbedaan antara regresi logistik dan regresi linier ini tercermin baik dalam bentuk model maupun asumsinya. Meskipun terdapat perbedaan mendasar dalam bentuk model dan asumsi, tetapi prinsip dasar yang digunakan dalam analisis regresi linear juga berlaku untuk regresi logistik.(Hosmer, 2013)

2.2 Asumsi Nonmultikolinearitas

Uji asumsi multikolinearitas digunakan untuk menguji apakah pada model regresi terdapat korelasi antar variabel independen. Suatu model regresi yang baik seharusnya bebas dari masalah multikolinearitas dan tidak terdapat korelasi antar variabel independen. (Ghozali, 2018) Ada atau tidaknya multikolinearitas dapat dilihat dari koefisien masing-masing variabel bebas. Jika nilai VIF di antara masing-masing variabel bebas lebih dari 10 maka terjadi multikolinearitas dan sebaliknya, jika nilai VIF antar masing-masing variabel bebas kurang dari 10 maka tidak terjadi multikolinearitas.Berikut merupakan cara untuk menghitung nilai VIF:

\[VIF=\frac{1}{1-r_s^2}\]

Melalui pengujian kriteria sebagai berikut :

  • Jika nilai VIF > 10 artinya terdapat multikolinearitas.

  • Jika nilai VIF < 10 artinya tidak terdapat multikolinearitas.

2.3 Uji Signifikansi

2.3.1 Uji Simultan

Uji simultan digunakan untuk menguji hubungan koefisien \(\beta\) secara keseluruhan dengan menggunakan Likelihood Ratio Test.

Hipotesis: \[ H_0:\beta_1=\beta_2=...=\beta_i \] \[ H_1: setidaknya terdapat \beta_i \ne \ 0 \] Dengan statistik uji: \[ -2ln+[\frac{l_0}{l_i}]=-2[lnl_0-lnl_i]=-2(l_0-l_i) \]

2.3.2 Uji Parsial

Uji parsial dilakukan untuk menguji hubungan koefisien \(\beta\) secara parsial dengan menggunakan uji Wald.Uji wald merupakan sebuah alat uji untuk mengetahui signifikansi koefisien dalam regresi logistik ordinal. Uji wald digunakan untuk mengukur seberapa berpengaruh variabel independen terhadap variabel dependen (Widarjono, 2018).

Hipotesis: \[ H_0=\beta1=0 \] \[ H_1=\beta_1\ne 0 \]

Statistik Uji: \[ W=\frac{\beta_i}{SE(\beta1)} \]

2.4 Odds Ratio

Odds ratio (OR) adalah ukuran statistik yang digunakan dalam analisis regresi logistik dan studi kasus-kontrol untuk mengukur kekuatan hubungan antara dua variabel. Ini menggambarkan perbandingan antara probabilitas keberhasilan (kejadian positif) dan probabilitas kegagalan (kejadian negatif) dalam dua kelompok yang dibandingkan. OR dapat dihitung sebagai rasio antara peluang keberhasilan dalam satu kelompok terhadap peluang keberhasilan dalam kelompok lainnya. Misalnya, dalam sebuah studi mengenai hubungan antara merokok dan risiko penyakit jantung, OR akan mengukur seberapa besar kemungkinan seseorang yang merokok mengalami penyakit jantung dibandingkan dengan seseorang yang tidak merokok.(Hosmer and Lemeshow, 2000). Odds ratio dituliskan dengan \[ Odds=\frac {\pi} {1-\pi} \]

2.5 Uji Kelayakan Model

Uji Hosmer-Lemeshow adalah uji kesesuaian (Goodness of fit) berdasarkan nilai-nilai prediksi peluang. Hosmer and Lemeshow goodness of fit test menguji hipotesis nol apakah data empiris cocok atau sesuai dengan model (di antara model dengan data tidak memiliki perbedaan sehingga model dapat dikatakan fit) (Ghozali, 2013:340) Hipotesis yang digunakan dalam pengujian Goodness of fit sebagai berikut:

\(H_0\): Model yang digunakan sesuai dengan data.

\(H_1\): Model yang digunakan tidak sesuai dengan data.

Kriteria pengambilan keputusan untuk menguji hipotesis adalah:

  • Apabila nilai signifikansi Hosmer and Lemeshow of fit statistics > α 0,05 maka \(H_0\) diterima yang berarti model mampu memprediksi nilai observasinya.

  • Apabila nilai signifikansi Hosmer and Lemeshow of fit statistics < α 0,05 maka \(H_0\) ditolak yang berarti ada perbedaan signifikan antara model dengan nilai observasinya sehingga goodness fit model tidak baik karena model tidak dapat dipakai untuk memprediksi.

3 SOURCE CODE

3.1 Library

> library(readxl)
> library(generalhoslem)
> library(pscl)
> library(car)

3.2 Import Data

> data_lung_cancer <- read_excel("C:/Users/HP/OneDrive/Documents/data lung cancer.xlsx")
> str(data_lung_cancer)
tibble [30 × 3] (S3: tbl_df/tbl/data.frame)
 $ AGE        : num [1:30] 69 74 59 63 63 75 52 51 68 53 ...
 $ SMOKING    : num [1:30] 0 1 0 1 0 0 1 1 1 1 ...
 $ LUNG_CANCER: chr [1:30] "YES" "YES" "NO" "NO" ...
> Y<- as.factor(data_lung_cancer$LUNG_CANCER)
> X1<-data_lung_cancer$AGE
> X2<-as.factor(data_lung_cancer$SMOKING)
> str(Y)
 Factor w/ 2 levels "NO","YES": 2 2 1 1 1 2 2 2 1 2 ...

3.3 Data Frame

> reglog<-data.frame(X1,X2,Y)
> str(reglog)
'data.frame':   30 obs. of  3 variables:
 $ X1: num  69 74 59 63 63 75 52 51 68 53 ...
 $ X2: Factor w/ 2 levels "0","1": 1 2 1 2 1 1 2 2 2 2 ...
 $ Y : Factor w/ 2 levels "NO","YES": 2 2 1 1 1 2 2 2 1 2 ...

3.4 Asumsi Non-Multikolinearitas

> modelreglog<-glm(Y~X1+X2, family = binomial, data = reglog)
> vif(modelreglog)
      X1       X2 
1.086191 1.086191 

3.5 Analisis Regresi Logistik

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

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

Coefficients:
            Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.98988    2.44319  -0.814    0.415
X1           0.03417    0.03724   0.918    0.359
X21          1.04019    0.84338   1.233    0.217

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 38.191  on 29  degrees of freedom
Residual deviance: 36.202  on 27  degrees of freedom
AIC: 42.202

Number of Fisher Scoring iterations: 4
> dataduga = round(fitted(modelreglog))
> dataduga
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 
 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0  1  1  1  1  1  1  0  1  1  1 
27 28 29 30 
 1  1  1  0 
> str(dataduga)
 Named num [1:30] 1 1 1 1 1 1 1 1 1 1 ...
 - attr(*, "names")= chr [1:30] "1" "2" "3" "4" ...

3.5.1 Uji Signifikansi Keseluruhan Model

> pR2(modelreglog)
fitting null model for pseudo-r2
         llh      llhNull           G2     McFadden         r2ML         r2CU 
-18.10079093 -19.09542505   1.98926823   0.05208756   0.06415830   0.08910658 
> qchisq(0.95,1)
[1] 3.841459

3.5.2 Uji Parsial

> summary(modelreglog)

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

Coefficients:
            Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.98988    2.44319  -0.814    0.415
X1           0.03417    0.03724   0.918    0.359
X21          1.04019    0.84338   1.233    0.217

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 38.191  on 29  degrees of freedom
Residual deviance: 36.202  on 27  degrees of freedom
AIC: 42.202

Number of Fisher Scoring iterations: 4

3.5.3 R Square

> pR2(modelreglog)
fitting null model for pseudo-r2
         llh      llhNull           G2     McFadden         r2ML         r2CU 
-18.10079093 -19.09542505   1.98926823   0.05208756   0.06415830   0.08910658 

3.5.4 Odds Ratio

> beta = (coef(modelreglog))
> beta
(Intercept)          X1         X21 
-1.98988363  0.03417002  1.04019014 
> OR_beta = exp(beta)
> OR_beta
(Intercept)          X1         X21 
  0.1367113   1.0347605   2.8297550 

3.5.5 Membentuk Klasifikasi

> yp_hat = fitted(modelreglog)
> reglog$yp_hat = yp_hat
> reglog
   X1 X2   Y    yp_hat
1  69  0 YES 0.5909388
2  74  1 YES 0.8290470
3  59  0  NO 0.5065365
4  63  1  NO 0.7690612
5  63  0  NO 0.5406172
6  75  0 YES 0.6394246
7  52  1 YES 0.6957515
8  51  1 YES 0.6884703
9  68  1  NO 0.7980043
10 53  1 YES 0.7029359
11 61  1 YES 0.7567011
12 72  0 YES 0.6154684
13 60  1  NO 0.7503552
14 58  1 YES 0.7373359
15 69  1  NO 0.8034563
16 48  0 YES 0.4134497
17 75  1 YES 0.8338355
18 57  1 YES 0.7306647
19 68  1 YES 0.7980043
20 61  0  NO 0.5236043
21 44  1 YES 0.6350138
22 64  0 YES 0.5490907
23 21  1  NO 0.4422284
24 60  1 YES 0.7503552
25 72  1 YES 0.8191424
26 65  0 YES 0.5575359
27 61  1 YES 0.7567011
28 69  0  NO 0.5909388
29 53  1 YES 0.7029359
30 55  0  NO 0.4723950
> class = table(reglog$Y, reglog$yp_hat>0.5)
> class
     
      FALSE TRUE
  NO      2    8
  YES     1   19

3.5.6 Uji Kelayakan Model

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

    Hosmer and Lemeshow test (binary model)

data:  reglog$Y, fitted(modelreglog)
X-squared = 12.767, df = 8, p-value = 0.1201

3.6 Plot

> smoothScatter(X1, Y, xlab = "Age", ylab = "Lung Cancer", main = "Kanker Paru-Paaru terhadap Usia")

> smoothScatter(X2, Y, xlab = "Smoking", ylab = "Lung Cancer", main = "Kanker Paru-Paru terhadap Status Perokok")

> library(rmarkdown)
> kable(as.data.frame(reglog))
X1 X2 Y yp_hat
69 0 YES 0.5909388
74 1 YES 0.8290470
59 0 NO 0.5065365
63 1 NO 0.7690612
63 0 NO 0.5406172
75 0 YES 0.6394246
52 1 YES 0.6957515
51 1 YES 0.6884703
68 1 NO 0.7980043
53 1 YES 0.7029359
61 1 YES 0.7567011
72 0 YES 0.6154684
60 1 NO 0.7503552
58 1 YES 0.7373359
69 1 NO 0.8034563
48 0 YES 0.4134497
75 1 YES 0.8338355
57 1 YES 0.7306647
68 1 YES 0.7980043
61 0 NO 0.5236043
44 1 YES 0.6350138
64 0 YES 0.5490907
21 1 NO 0.4422284
60 1 YES 0.7503552
72 1 YES 0.8191424
65 0 YES 0.5575359
61 1 YES 0.7567011
69 0 NO 0.5909388
53 1 YES 0.7029359
55 0 NO 0.4723950

4 HASIL DAN PEMBAHASAN

4.1 Asumsi Non-Multikolinearitas

4.1.1 Output VIF

\(X_1\) = 1,086191

\(X_2\) = 1,086191

4.1.2 Kesimpulan

Semua hasil VIF bernilai < 10 maka memenuhi asumsi non-multikolinearitas

4.2 Uji Signifikansi Keseluruhan Model

4.2.1 Hipotesis

\(H_0\) : \(\beta_1\)= \(\beta_2\) = 0

\(H_1\) : minimal terdapat satu \(\beta_i\ne 0\) (dimana i = 1,2)

4.2.2 Statistik Uji dan Titik Kritis

\(G^2\) = 1.98926823

\(X^2\)(0,05 , 2) = 3.841459

4.2.3 Keputusan

\(G^2\) < \(X^2\)(0,05 , 2) maka terima \(H_0\)

4.2.4 Interpretasi

Dengan taraf uji 0.05, dapat disimpulkan bahwa semua variabel independen yaitu usia dan status perokok secara simultan tidak berpengaruh signifikan terhadap kanker paru-paru.

4.3 Uji Parsial

4.3.1 Hipotesis

\(H_0\) : \(\beta_i\) = 0

\(H_1\) : \(\beta_i\ne 0\)

dimana i = 1,2

4.3.2 Taraf nyata

\(\alpha\) = 0,05

4.3.3 Nilai P

\(X_1\) = 0,359

\(X_21\) = 0,217

4.3.4 Keputusan

P-value > \(\alpha\) maka terima \(H_0\)

4.3.5 Kesimpulan

Dengan taraf nyata 0,05 dapat disimpulkan bahwa secara masing-masing variabel usia dan status perokok tidak berpengaruh terhadap kanker paru-paru

4.4 Model Regresi Logistik

\[ \pi(x)= \frac {exp(-1,98988+0,03417X1+1,04019X2)} {1+exp(-1,98988+0,03417X1+1,04019X2)} \]

\[logit(\pi(x))=ln \frac{\pi(x)} {1-\pi(x)}= -1,98988+0,03417X1+1,04019X2 \]

4.5 R-Square

Nilai McFadden R-Square sebesar 0,05208756 maka model memiliki kecocokan hanya sebesar 5,21%

4.6 Odds Ratio

4.6.1 Output OR_beta

> kable(OR_beta)
x
(Intercept) 0.1367113
X1 1.0347605
X21 2.8297550

4.6.2 Interpretasi

X1 = 1,0347605 yang berarti setiap peningkatan usia akan meningkatkan peluang mengalami penyakit kanker paru-paru sekitar 1,038 kali dengan tetap menjada variabel lainnya konstan.

X21 = 2,8297550 yang berarti seseorang yang merokok (X2 = 1) memiliki peluang mengalami penyakit kanker paru-paru sekitar 2,83 kali atau sekitar 28,3% lebih rendah dibandingkan dengan seseorang yang tidak merokok dengan tetap menjaga variabel lainnya konstan

4.7 Membentuk Klasifikasi

Dengan thershold 0,5 didapatkan:

  • 2 berarti model memprediksi seseorang tidak terkena kanker paru-paru (negatif) dan sebenarnya mereka memang tidak terkena kanker paru-paru.

  • 8 berarti model memprediksi seseorang terkena kanker paru-paru (positif) tetapi sebenarnya mereka tidak terkena kanker paru-paru.

  • 1 berarti model memprediksi seseorang tidak terkena kanker paru-paru (negatif) tetapi sebenarnya mereka terkena kanker paru-paru.

  • 19 berarti model memprediksi seseorang terkena kanker paru-paru (positif) dan sebenarnya mereka memang terkena kanker paru-paru.

4.8 Uji Kelayakan Model

4.8.1 Hipotesis

\(H_0\) : Model layak

\(H_1\) : Model tidak layak

4.8.2 Taraf Nyata

\(\alpha\) = 0,05

4.8.3 Nilai P

p-value = 0,1201

4.8.4 Keputusan

P-value > \(\alpha\) maka terima \(H_0\)

4.8.5 Kesimpulan

Dengan taraf uji 0,05 dapat disimpulkan bahwa model yang terbentuk adalah model yang layak

5 Kesimpulan

Berdasarkan semua uji yang telah dilakukan maka dapat disimpulkan bahwa model yang didapat layak digunakan untuk memprediksi apakah usia dan status merokok mempengaruhi penyakit kanker paru-paru dan didapat bahwa usia dan status merokok tidak mempengaruhi seseorang terkena penyakit kanker paru-paru

6 Daftar Pustaka

Ghozali, Imam. (2013). Aplikasi Analisis Multivariate dengan Program SPSS 21. Semarang: Badan Penerbit Universitas Diponegoro. 340-341.

Ghozali, I. (2018). Aplikasi Analisis Multivariate Dengan Program IBM SPSS 25 Edisi 9. Semarang: Badan Penerbit Universitas Diponegoro.

Hosmer, D. W., & Lemeshow, S. (2000). Applied Logistic Regression. New Jersey: John Wiley & Sons.