R - Regresi Logistik
Regresi Logistik merupakan model regresi dimana variabel respon (variabel terikat) memiliki nilai kategorik seperti True / False atau 0/1. Ini sebenarnya mengukur probabilitas respons biner sebagai nilai variabel respons berdasarkan persamaan matematika yang menghubungkannya dengan variabel prediktor.
Persamaan matematika umum untuk regresi logistik adalah -
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
Berikut ini adalah deskripsi parameter yang digunakan -
y adalah variabel respon.
x adalah variabel prediktor.
a dan b adalah koefisien yang merupakan konstanta numerik.
Fungsi yang digunakan untuk membuat model regresi adalah glm() fungsi.
Sintaksis
Sintaks dasar untuk glm() fungsi dalam regresi logistik adalah -
glm(formula,data,family)
Berikut ini adalah deskripsi parameter yang digunakan -
formula adalah simbol yang menyajikan hubungan antar variabel.
data adalah kumpulan data yang memberikan nilai variabel ini.
familyadalah objek R untuk menentukan detail model. Nilainya adalah binomial untuk regresi logistik.
Contoh
Kumpulan data internal "mtcars" menjelaskan berbagai model mobil dengan berbagai spesifikasi mesinnya. Dalam kumpulan data "mtcars", mode transmisi (otomatis atau manual) dijelaskan oleh kolom am yang merupakan nilai biner (0 atau 1). Kita dapat membuat model regresi logistik antara kolom "am" dan 3 kolom lainnya - hp, wt dan cyl.
# Select some columns form mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]
print(head(input))
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
am cyl hp wt
Mazda RX4 1 6 110 2.620
Mazda RX4 Wag 1 6 110 2.875
Datsun 710 1 4 93 2.320
Hornet 4 Drive 0 6 110 3.215
Hornet Sportabout 0 8 175 3.440
Valiant 0 6 105 3.460
Buat Model Regresi
Kami menggunakan glm() berfungsi untuk membuat model regresi dan mendapatkan ringkasannya untuk dianalisis.
input <- mtcars[,c("am","cyl","hp","wt")]
am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)
print(summary(am.data))
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
Call:
glm(formula = am ~ cyl + hp + wt, family = binomial, data = input)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.17272 -0.14907 -0.01464 0.14116 1.27641
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 19.70288 8.11637 2.428 0.0152 *
cyl 0.48760 1.07162 0.455 0.6491
hp 0.03259 0.01886 1.728 0.0840 .
wt -9.14947 4.15332 -2.203 0.0276 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 43.2297 on 31 degrees of freedom
Residual deviance: 9.8415 on 28 degrees of freedom
AIC: 17.841
Number of Fisher Scoring iterations: 8
Kesimpulan
Dalam ringkasan karena p-value di kolom terakhir lebih dari 0,05 untuk variabel "cyl" dan "hp", kami menganggapnya tidak signifikan dalam berkontribusi pada nilai variabel "am". Hanya bobot (wt) yang memengaruhi nilai "am" dalam model regresi ini.