Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("plotrix")
> # install.packages("car")
> # install.packages("readxl")

PENDAHULUAN

Latar Belakang

Regresi logistik merupakan sebuah metode analisis statistik yang dipakai untuk memodelkan hubungan antara variabel independen dengan variabel dependen yang memiliki sifat biner (bernilai 0 atau 1). Teknik ini biasanya diterapkan dalam berbagai bidang, seperti kedokteran, ekonomi, sains sosial, dan ilmu lingkungan, di mana variabel respons yang akan diprediksi atau dipahami adalah variabel biner, seperti halnya keberhasilan/kegagalan, hidup/mati, adopsi/tidak adopsi, dan lain sebagainya.

Berat badan lahir rendah (BBLR) adalah kondisi dimana bayi dilahirkan dengan berat badan yang kurang dari standar, terlepas dari usia kehamilan. BBLR adalah sebuah masalah kesehatan global yang cukup serius, karena memiliki dampak jangka panjang terhadap kesehatan dan perkembangan bayi. Beberapa penyebab juga telah diidentifikasi sebagai faktor risiko yang dapat mempengaruhi berat badan lahir rendah. Penggunaan analisis regresi dapat membantu kita memahami hubungan antara faktor-faktor ini dan berat badan lahir rendah.

Analisis regresi juga dapat digunakan untuk mengevaluasi sejauh mana faktor-faktor yang berkontribusi terhadap variabilitas berat badan lahir rendah. Regresi linier berganda adalah metode yang umum digunakan dalam penelitian seperti ini. Variabel dependen adalah berat badan lahir bayi, sedangkan variabel independen adalah faktor-faktor yang mempengaruhi berat badan lahir. Kita juga dapat menguji apakah ada hubungan yang signifikan antara variabel independen dan berat badan lahir serta seberapa besar pengaruhnya. `

TINJAUAN PUSTAKA

Statistika Deskriptif

Statistik merupakan sekumpulan atura yang digunakan untuk pengumpulan, pengolahan, analisis, dan interpretasi suatu data (Lenni, 2017). Statistik dibagi menjadi dua, yaitu terdapat statistik deskriptif dan statistik inferensia. Statistika deskriptif adalah cabang statistika yang berfokus pada pengumpulan, pengorganisasian, dan penulisan data secara deskriptif dan ringkas. Metode statistik deskriptif digunakan untuk menampilkan ciri-ciri fundamental data, seperti tendensi sentral (seperti rata-rata, median, dan modus), sebaran (seperti rentang, simpangan baku, dan kuartil), dan distribusi data (seperti histogram dan diagram batang). Statistika deskriptif menjelaskan dan memahami konsep statistika deskriptif. Hal ini mencakup definisi ukuran pemusatan data seperti mean, median, dan modus, serta ukuran penyebaran data seperti rentang, simpangan baku, dan varians. Selain itu, peneliti juga dapat membahas perbedaan antara data numerik dan kategorikal serta berbagai jenis grafik dan diagram yang digunakan dalam statistika deskriptif.

Regresi Logistik

Regresi Logistik (Logit) adalah suatu metode analisis di dalam statistika yang mendeskripsikan korelasi antara peubah respon dengan peubah penjelas (Hendayana, 2013). Logistik regresi biner merupakan sebuah metode statistik yang dipakai untuk memodelkan hubungan antara variabel independen (variabel prediktor) dengan variabel dependen biner (variabel respon) yang hanya mempunyai dua kategori. Variabel dependen biasanya diwakili oleh dua nilai seperti “ya” atau “tidak”, “sukses” atau “gagal”, “1” atau “0”, dan lain sebagainya. Logistik regresi biner sering dipakai pada berbagai bidang, termasuk ilmu sosial, ilmu politik, ekonomi, kedokteran, dan bisnis. Contoh penerapannya adalah dalam suatu prediksi kemungkinan seseorang mempunyai suatu penyakit yang berdasar pada faktor risiko tertentu, prediksi pelanggan yang berpotensi melakukan pembelian, atau juga prediksi hasil pemilihan berdasarkan pada faktor-faktor yang mempengaruhinya.

SOURCE CODE

Library

> #Membuat piechart
> library(plotrix)
> # Menghitung VIF masing-masing prediktor
> library(car)
> #Melakukan input data
> library(readxl)
> data <- read_excel("C:/Users/puput/OneDrive/Documents/Data-Berat-Badan-Lahir.xlsx")
> data
# A tibble: 10 × 3
      TB    BB keterangan
   <dbl> <dbl> <chr>     
 1   168    87 lulus     
 2   173    60 lulus     
 3   150    49 gagal     
 4   168    60 lulus     
 5   157    55 lulus     
 6   167    59 gagal     
 7   159    58 lulus     
 8   167    62 lulus     
 9   166    67 lulus     
10   176    69 gagal     

Menggunakan library ‘plotrix’ untuk membuat pie chart, ‘car’ untuk menghitung VIF masing-masing prediktor, dan ‘readxl’ untuk menginputkan data yang digunakan dari Microsoft Excel

Data

> # Membangkitkan data
> X1 <- as.factor(data$TB)
> X2 <- as.factor(data$BB)
> Y <- as.factor(data$keterangan)
> tabel <- data.frame(X1, X2, Y)
> str(tabel)
'data.frame':   10 obs. of  3 variables:
 $ X1: Factor w/ 8 levels "150","157","159",..: 6 7 1 6 2 5 3 5 4 8
 $ X2: Factor w/ 9 levels "49","55","58",..: 9 5 1 5 2 4 3 6 7 8
 $ Y : Factor w/ 2 levels "gagal","lulus": 2 2 1 2 2 1 2 2 2 1

Dibentuk sebuah tabel menggunakan ‘data frame’ dengan kolom prediktor adalah X1 dan X2, sedangkan kolom respons adalah Y.

Pie Chart

> #Membentuk pie chart persentase berat badan
> bb <- table(tabel$Y)
> bb

gagal lulus 
    3     7 
> 
> kategori <- c("Gagal = ","Lulus = ") 
> persentase <- round(bb/sum(bb)*100) 
> kategori <- paste(kategori, persentase)
> kategori <- paste(kategori,'%',sep ='')
> pie(bb, labels=kategori, col=c('blue','pink'), main="Persentase Berat Badan Lahir")

Pie chart digunakan untuk menunjukkan bahwa Berat Badan yang dibagi menjadi dua kategori, yakni Rendah (Gagal) dan Normal (Lulus).

Analisis Regresi Logistik

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

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

Deviance Residuals: 
 [1]  0  0  0  0  0  0  0  0  0  0

Coefficients: (6 not defined because of singularities)
              Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.457e+01  1.310e+05       0        1
X1157        4.913e+01  1.853e+05       0        1
X1159        4.913e+01  1.853e+05       0        1
X1166        4.913e+01  1.853e+05       0        1
X1167        4.913e+01  1.853e+05       0        1
X1168        4.913e+01  1.853e+05       0        1
X1173        4.913e+01  2.620e+05       0        1
X1176       -2.009e-14  1.853e+05       0        1
X255                NA         NA      NA       NA
X258                NA         NA      NA       NA
X259        -4.913e+01  1.853e+05       0        1
X260        -4.749e-08  1.853e+05       0        1
X262                NA         NA      NA       NA
X267                NA         NA      NA       NA
X269                NA         NA      NA       NA
X287                NA         NA      NA       NA

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1.2217e+01  on 9  degrees of freedom
Residual deviance: 4.2867e-10  on 0  degrees of freedom
AIC: 20

Number of Fisher Scoring iterations: 23

Membentuk model regresi logistik dapat dihasilkan dari perintah ‘glm()’ dan disimpan pada variabel ‘reglog’. Hasil dapat dilihat melalui perintah ‘summary()’.

> #Uji Signifikansi Keseluruhan Model
> pR2 <- function(reglog) {
+ dev <- sum(reglog$dev)
+ null_dev <- sum(reglog$null.dev)
+ return(1 - dev / null_dev)
+ }
> pR2(reglog)
[1] 1
> qchisq(0.95, df = 1)
[1] 3.841459

Perintah pR2 digunakan untuk memperoleh nilai G2 yang akan dibandingkan dengan titik kritis Chi-Square untuk memperoleh keputusan model yang signifikan.

> #R-square
> pseudo_r_squared <- pR2(reglog)
> pseudo_r_squared
[1] 1
> #Odds ratio
> beta <- (coef(reglog))
> beta
  (Intercept)         X1157         X1159         X1166         X1167 
-2.456607e+01  4.913214e+01  4.913214e+01  4.913214e+01  4.913214e+01 
        X1168         X1173         X1176          X255          X258 
 4.913214e+01  4.913214e+01 -2.008778e-14            NA            NA 
         X259          X260          X262          X267          X269 
-4.913214e+01 -4.748880e-08            NA            NA            NA 
         X287 
           NA 
> OR <- exp(beta)
> OR
 (Intercept)        X1157        X1159        X1166        X1167        X1168 
2.143345e-11 2.176787e+21 2.176790e+21 2.176790e+21 2.176790e+21 2.176790e+21 
       X1173        X1176         X255         X258         X259         X260 
2.176788e+21 1.000000e+00           NA           NA 4.593921e-22 1.000000e+00 
        X262         X267         X269         X287 
          NA           NA           NA           NA 
> cbind(beta,OR)
                     beta           OR
(Intercept) -2.456607e+01 2.143345e-11
X1157        4.913214e+01 2.176787e+21
X1159        4.913214e+01 2.176790e+21
X1166        4.913214e+01 2.176790e+21
X1167        4.913214e+01 2.176790e+21
X1168        4.913214e+01 2.176790e+21
X1173        4.913214e+01 2.176788e+21
X1176       -2.008778e-14 1.000000e+00
X255                   NA           NA
X258                   NA           NA
X259        -4.913214e+01 4.593921e-22
X260        -4.748880e-08 1.000000e+00
X262                   NA           NA
X267                   NA           NA
X269                   NA           NA
X287                   NA           NA

Koefisien penduga (beta) pada reglog disimpan pada perintah coef(). Odds ratio dapat diperoleh melalui perintah exp(). Kolom beta dan hasil dari odds ratio digabung melalui perintah cbind() untuk memperoleh hubungan ketiga variabel independent terhadap perolehan jenis kanker paru-paru.

> #Membentuk klasifikasi
> yp_hat <- fitted(reglog)
> data$yp_hat <- yp_hat
> data
# A tibble: 10 × 4
      TB    BB keterangan   yp_hat
   <dbl> <dbl> <chr>         <dbl>
 1   168    87 lulus      1.00e+ 0
 2   173    60 lulus      1.00e+ 0
 3   150    49 gagal      2.14e-11
 4   168    60 lulus      1.00e+ 0
 5   157    55 lulus      1.00e+ 0
 6   167    59 gagal      2.14e-11
 7   159    58 lulus      1.00e+ 0
 8   167    62 lulus      1.00e+ 0
 9   166    67 lulus      1.00e+ 0
10   176    69 gagal      2.14e-11
> class <- table(data$keterangan, data$yp_hat > 0.5)
> class
       
        FALSE TRUE
  gagal     3    0
  lulus     0    7

class digunakan sebagai definisi dari tabel kontingensi

HASIL DAN PEMBAHASAN

Pie Chart

Berdasarkan data yang digunakan, maka didapatkan:


gagal lulus 
    3     7 

Berdasarkan pie chart di atas, dapat diperoleh bahwa terdapat 30% dari 10 sampel memiliki berat badan lahir rendah. Sedangkan 70% sisanya memiliki berat badan lahir normal.

Analisis Regresi Logistik


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

Deviance Residuals: 
 [1]  0  0  0  0  0  0  0  0  0  0

Coefficients: (6 not defined because of singularities)
              Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.457e+01  1.310e+05       0        1
X1157        4.913e+01  1.853e+05       0        1
X1159        4.913e+01  1.853e+05       0        1
X1166        4.913e+01  1.853e+05       0        1
X1167        4.913e+01  1.853e+05       0        1
X1168        4.913e+01  1.853e+05       0        1
X1173        4.913e+01  2.620e+05       0        1
X1176       -2.009e-14  1.853e+05       0        1
X255                NA         NA      NA       NA
X258                NA         NA      NA       NA
X259        -4.913e+01  1.853e+05       0        1
X260        -4.749e-08  1.853e+05       0        1
X262                NA         NA      NA       NA
X267                NA         NA      NA       NA
X269                NA         NA      NA       NA
X287                NA         NA      NA       NA

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1.2217e+01  on 9  degrees of freedom
Residual deviance: 4.2867e-10  on 0  degrees of freedom
AIC: 20

Number of Fisher Scoring iterations: 23

Berdasarkan output yang telah diperoleh dari analisis regresi logistik, dapat diketahui bahwa variabel X1 (Tinggi Badan) dan X2 (Berat Badan) memiliki P-Value lebih dari alpha 0.05 sehingga diperoleh keputusan belum cukup bukti untuk menolak H0. Maka dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa kedua faktor prediktor X1 (Tinggi Badan) dan X2 (Berat Badan) berpengaruh secara signifikan terhadap Y (Keterangan).

Uji Signifikansi Keseluruhan Model

[1] 1
[1] 3.841459

Pada output di atas, diperoleh bahwa nilai G2 (1) < Chi-Square (3.841459) sehingga diperoleh keputusan belum ada cukup bukti untuk menolak H0. Maka dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa model tidak berpengaruh secara signifikan terhadap rendahnya berat badan lahir atau minimal ada satu variabel yang tidak berpengaruh terhadap rendahnya berat badan lahir.

> #R-square
> pseudo_r_squared <- pR2(reglog)
> pseudo_r_squared
[1] 1

Dengan nilai R-Square sebesar 1, dapat diketahui bahwa variabel independent (X1 dan X2) dapat menjelaskan 100% hasil adanya berat badan lahir rendah.

Nilai Odds ratio

> #Odds ratio
> beta <- (coef(reglog))
> beta
  (Intercept)         X1157         X1159         X1166         X1167 
-2.456607e+01  4.913214e+01  4.913214e+01  4.913214e+01  4.913214e+01 
        X1168         X1173         X1176          X255          X258 
 4.913214e+01  4.913214e+01 -2.008778e-14            NA            NA 
         X259          X260          X262          X267          X269 
-4.913214e+01 -4.748880e-08            NA            NA            NA 
         X287 
           NA 
> OR_beta <- exp(beta)
> OR_beta
 (Intercept)        X1157        X1159        X1166        X1167        X1168 
2.143345e-11 2.176787e+21 2.176790e+21 2.176790e+21 2.176790e+21 2.176790e+21 
       X1173        X1176         X255         X258         X259         X260 
2.176788e+21 1.000000e+00           NA           NA 4.593921e-22 1.000000e+00 
        X262         X267         X269         X287 
          NA           NA           NA           NA 
> cbind(beta,OR_beta)
                     beta      OR_beta
(Intercept) -2.456607e+01 2.143345e-11
X1157        4.913214e+01 2.176787e+21
X1159        4.913214e+01 2.176790e+21
X1166        4.913214e+01 2.176790e+21
X1167        4.913214e+01 2.176790e+21
X1168        4.913214e+01 2.176790e+21
X1173        4.913214e+01 2.176788e+21
X1176       -2.008778e-14 1.000000e+00
X255                   NA           NA
X258                   NA           NA
X259        -4.913214e+01 4.593921e-22
X260        -4.748880e-08 1.000000e+00
X262                   NA           NA
X267                   NA           NA
X269                   NA           NA
X287                   NA           NA
> #Membentuk klasifikasi
> yp_hat <- fitted(reglog)
> data$yp_hat <- yp_hat
> data
# A tibble: 10 × 4
      TB    BB keterangan   yp_hat
   <dbl> <dbl> <chr>         <dbl>
 1   168    87 lulus      1.00e+ 0
 2   173    60 lulus      1.00e+ 0
 3   150    49 gagal      2.14e-11
 4   168    60 lulus      1.00e+ 0
 5   157    55 lulus      1.00e+ 0
 6   167    59 gagal      2.14e-11
 7   159    58 lulus      1.00e+ 0
 8   167    62 lulus      1.00e+ 0
 9   166    67 lulus      1.00e+ 0
10   176    69 gagal      2.14e-11
> class <- table(data$keterangan, data$yp_hat > 0.5)
> class
       
        FALSE TRUE
  gagal     3    0
  lulus     0    7

DAFTAR PUSTAKA

Nasution, Lenni Masnidar. “Statistik deskriptif.” Hikmah 14.1 (2017): 49-55.

Hanifah, Hanifah, Adang Sutedja, and Iskandar Ahmaddien. “Pengantar Statistika.” (2020).

Hapsari, Anindita Nourma, Mutiah Salamah Chamid, and Nur Azizah. “Faktor-faktor yang Mempengaruhi Berat Badan Lahir Rendah Menggunakan Regresi Logistik Biner.” Jurnal Sains dan Seni ITS 11.1 (2022): D50-D56.

Hendayana, Rachmat. “Penerapan metode regresi logistik dalam menganalisis adopsi teknologi pertanian.” (2013).