Library:
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("plotrix")
> # install.packages("car")
> # install.packages("readxl")
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. `
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 (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.
> #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
> # 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.
> #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).
> 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
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.
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).
[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.
> #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
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).