Home » R » Statistika di R : Logistic Regression Pada R Language

Statistika di R : Logistic Regression Pada R Language

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

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 mengaitkannya dengan variabel prediktor.

Persamaan matematika umum untuk regresi logistik adalah –

y = 1 / (1 + e ^ - (a + b1x1 + b2x2 + b3x3 + …))

Deskripsi :

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 fungsi glm().

Sintaksis

Sintaks dasar untuk fungsi glm() dalam regresi logistik adalah –

glm (formula, data, family)

Deskripsi :

formula adalah simbol yang mempresentasikan hubungan antar variabel.

data adalah kumpulan data yang memberikan nilai variabel-variabel ini.

family adalah objek R untuk menentukan detail model. Nilainya adalah binomial untuk regresi logistik.

Contoh

Kumpulan data internal “mtcars” menjelaskan berbagai model mobil dengan spesifikasi mesin yang berbeda-beda. 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:

# Pilih beberapa kolom dari mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]

print(head(input))

Output :

                  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

Kita akan menggunakan fungsi glm() 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))

Output :

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 di atas karena nilai-p di kolom terakhir lebih dari 0,05 untuk variabel “cyl” dan “hp“, jadi kita anggap tidak signifikan dalam berkontribusi pada nilai variabel “am“. Hanya bobot (wt) yang memengaruhi nilai “am” dalam model regresi ini.

You may also like