Regresi Logistik dalam R: Derivasi Persamaan [Dengan Contoh]

Diterbitkan: 2020-07-28

Dalam artikel ini, kita akan membahas salah satu konsep paling umum namun menantang dalam pembelajaran mesin, regresi logistik. Anda akan menemukan apa itu regresi logistik dan turunan dari persamaan regresi logistik dalam artikel terperinci ini.

Kami juga telah membagikan contoh regresi logistik di R untuk memahami konsep dengan lebih mudah. Namun, pastikan Anda mengetahui semua ide dengan cukup baik sebelum mengerjakan contoh. Akan sangat membantu jika Anda terbiasa dengan regresi linier karena kedua konsep ini saling terkait.

Daftar isi

Apa itu Regresi Logistik?

Regresi logistik memprediksi hasil biner menurut satu set variabel independen. Ini adalah algoritme klasifikasi yang memprediksi kemungkinan terjadinya suatu peristiwa menggunakan fungsi logit dan memasukkan data ke dalamnya. Regresi logistik berbeda dari regresi linier karena dapat memprediksi kemungkinan hasil yang hanya dapat memiliki dua nilai. Menggunakan regresi linier tidak cocok bila Anda memiliki variabel biner karena:

  • Regresi linier akan memprediksi nilai di luar rentang yang diperlukan
  • Regresi mungkin tidak mendistribusikan dua manfaat di satu garis prediksi

Regresi logistik tidak menghasilkan garis seperti halnya regresi linier. Ini memberikan kurva logistik yang berkisar antara 0 dan nilai lebih dari 1.

Pelajari kursus online ilmu data dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Lihat: Ide Proyek R

Derivasi Persamaan Regresi Logistik

Kita dapat menurunkan persamaan regresi logistik dari persamaan regresi linier. Regresi logistik termasuk dalam kelas algoritma glm (Generalized Linear Model). Nelder dan Wedderburn memperkenalkan model ini pada tahun 1972 sebagai metode menggunakan regresi linier untuk memecahkan masalah yang tidak dapat dipecahkan sebelumnya. Mereka telah mengusulkan kelas model terpisah dan telah menambahkan regresi logistik sebagai yang khusus.

Kita tahu bahwa persamaan model linier umum adalah sebagai berikut:

g(e<y) = a + bx1

g() adalah singkatan dari fungsi tautan, E(y) adalah harapan dari variabel target, dan RHS (sisi kanan) adalah prediktor linier. Fungsi link 'menghubungkan' ekspektasi y dengan prediktor linier.

Misalkan kita memiliki data 100 klien, dan kita perlu memprediksi apakah klien akan membeli produk tertentu atau tidak. Karena kita memiliki variabel hasil kategoris, kita harus menggunakan regresi logistik.

Kita akan mulai dengan persamaan regresi linier:

g(y) = o+(penghasilan) — (1)

Di sini, kami menyimpan variabel independen sebagai 'pendapatan' untuk memudahkan pemahaman.

Fokus kami adalah pada probabilitas variabel dependen yang dihasilkan (akankah pelanggan membeli atau tidak?). Seperti yang telah kita bahas, g() adalah fungsi tautan kita, dan ini didasarkan pada Probabilitas Sukses (p) dan Probabilitas Kegagalan (1-p). p harus memiliki kualitas berikut:

  • p harus selalu positif
  • p harus selalu kurang dari atau sama dengan 1

Sekarang, kita akan menyatakan g() dengan 'p' dan menurunkan persamaan regresi logistik kita.

Karena probabilitas selalu positif, kita akan menutupi persamaan linier dalam bentuk eksponensialnya dan mendapatkan hasil sebagai berikut:

p = exp(0+(penghasilan)) = e((0+(penghasilan)) — (2)

Kita harus membagi p dengan angka yang lebih besar dari p untuk membuat probabilitasnya lebih kecil dari 1:

p = exp(0+(penghasilan)) / (0+(penghasilan)) + 1 = e(0+(penghasilan)) / (0+(penghasilan)) + 1 — (3)

Dengan menggunakan persamaan. (1), (2), dan (3), kita dapat mendefinisikan p sebagai:

p = ey /1 + ey — (4)

Di sini, p adalah peluang sukses, jadi 1-p pastilah peluang gagal:

q = 1 – p = 1 -(ey /1 + ey) — (5)

Sekarang kita bagi (4) dengan (5):

p / 1 – p = mata

Jika kita mengambil log di kedua sisi, kita mendapatkan yang berikut:

log (p / 1 – p) = y

Ini adalah fungsi tautan. Ketika kita mensubstitusi nilai y yang telah kita tentukan sebelumnya, kita mendapatkan:

log(p / 1 – p) = o + (penghasilan)

Dan begitulah, persamaan regresi logistik. Karena memberikan probabilitas hasil, nilainya selalu tetap antara 0 dan di atas 1.

Baca Tentang: 9 Ide & Topik Proyek Regresi Linier Menarik Untuk Pemula

Contoh Regresi Logistik pada R

Dalam kasus regresi logistik kami di R, kami menggunakan data dari UCLA (University of California, Los Angeles). Di sini, kita harus membuat model yang memprediksi peluang untuk diterima sesuai dengan data yang kita miliki. Kami memiliki empat variabel, termasuk IPK, skor GRE, peringkat sarjana mahasiswa perguruan tinggi, dan mengaku.

df <- read.csv(“https://stats.idre.ucla.edu/stat/data/binary.csv”)

str(df)

## 'data.frame': 400 obs. dari 4 variabel:

## $ mengakui: int 0 1 1 1 0 1 1 0 1 0 …

## $gre : int 380 660 800 640 520 760 560 400 540 700 …

## $ gpa : num 3.61 3.67 4 3.19 2.93 3 2.98 3.08 3.39 3.92 …

## $ rank : int 3 3 1 4 4 2 1 2 3 2 …

Variabel adalah angka atau bilangan bulat:

jumlah(is.na(df))

## [1] 0

Kami juga menemukan bahwa tidak ada nilai nol, dan ada lebih banyak peristiwa penolakan daripada penerimaan karena rata-rata batas variabel lebih kecil dari 0,5.

Anda harus memastikan bahwa sistem mendistribusikan penerimaan dengan tepat di setiap kategori peringkat. Misalkan satu peringkat hanya memiliki 5 penolakan (atau mengakui informasi), maka Anda tidak perlu menggunakan peringkat itu dalam analisis Anda.

xtabs(~ akui +peringkat ,data=df)

## peringkat

## mengakui 1 2 3 4

## 0 28 97 93 55

## 1 33 54 28 12

Mari kita jalankan fungsi kita sekarang:

df$peringkat <- sebagai faktor(df$peringkat)

logit <- glm(akui ~ gre+gpa+rank,data=df,family=”binomial”)

ringkasan (login)

##

## Panggilan:

## glm(rumus = akui ~ gre + gpa + pangkat, keluarga = “binomial”,

## data = df)

##

## Sisa Penyimpangan:

## Min 1Q Median 3Q Maks

## -1.6268 -0.8662 -0.6388 1.1490 2.0790

##

## Koefisien:

## Perkiraan Std. Kesalahan nilai z Pr(>|z|)

## (Pencegatan) -3.989979 1.139951 -3.500 0.000465 ***

## gr 0.002264 0.001094 2.070 0.038465 *

## gpa 0.804038 0.331819 2.423 0.015388 *

## rank2 -0.675443 0.316490 -2.134 0.032829 *

## rank3 -1.340204 0.345306 -3.881 0.000104 ***

## rank4 -1.551464 0.417832 -3.713 0.000205 ***

## —

## Tanda. kode: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 ' ' 1

##

## (Parameter dispersi untuk keluarga binomial diambil sebagai 1)

##

## Penyimpangan nol: 499,98 pada 399 derajat kebebasan

## Penyimpangan sisa: 458,52 pada 394 derajat kebebasan

## AIC: 470.52

##

## Jumlah iterasi Fisher Scoring: 4

Anda pasti memperhatikan bahwa kami telah mengonversi variabel peringkat ke faktor dari bilangan bulat sebelum menjalankan fungsi. Pastikan Anda melakukan hal yang sama.

Hasil Akhir:

Misalkan IPK siswa adalah 3,8, skor GRE 790, dan ia belajar di perguruan tinggi peringkat-1. Mari temukan peluangnya untuk diterima di masa depan dengan menggunakan model kami:

x <- data.frame(gre=790,gpa=3.8,rank=as.factor(1))

p<- prediksi(logit,x)

P

## 1

## 0.85426

Model kami memprediksi bahwa anak laki-laki tersebut memiliki peluang 85% untuk mendapatkan pengakuan di masa depan.

Baca Juga: Ide Proyek Pembelajaran Mesin

Pikiran Akhir

Itu saja untuk artikel ini. Kami yakin bahwa Anda akan merasa cukup membantu. Jika Anda memiliki pertanyaan atau pemikiran tentang regresi logistik dan topik terkait, silakan bagikan di bagian komentar di bawah.

Jika Anda penasaran untuk belajar tentang R, segala sesuatu tentang ilmu data, lihat Program PG Eksekutif IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, tatap muka dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Bagaimana regresi logistik dan regresi linier berbeda satu sama lain?

Tujuan regresi linier adalah untuk mengidentifikasi garis yang paling cocok, tetapi regresi logistik melangkah lebih jauh dan menyesuaikan nilai garis dengan kurva sigmoid. Perbedaan utama antara kedua metode ini adalah bahwa regresi logistik diterapkan ketika variabel dependennya adalah biner. Bila variabel terikatnya kontinu dan garis regresinya linier, maka digunakan regresi linier. Sementara teknik kuadrat terkecil biasa digunakan untuk memperkirakan regresi linier, metode estimasi kemungkinan maksimum digunakan untuk memperkirakan regresi logistik. Keluaran regresi linier adalah kontinu, tetapi keluaran regresi logistik hanya memiliki sejumlah nilai potensial diskrit yang terbatas.

Kapan penggunaan regresi logistik membantu?

Variabel dependen kategoris diprediksi menggunakan regresi logistik. Ketika data yang kita miliki dapat diukur dalam skala tak terbatas, kita dapat menerapkan regresi logistik. Untuk memperkirakan kemungkinan suatu kejadian, analisis regresi logistik berguna. Ini membantu dalam menentukan probabilitas dari dua kelas. Hanya hasil klasifikasi dan probabilitas yang dapat diprediksi dengan menggunakan regresi logistik. Ini dapat digunakan untuk memecahkan berbagai masalah klasifikasi seperti deteksi spam, prediksi diabetes, diagnosis kanker, dan sebagainya.

Apa batasan menggunakan regresi logistik?

1. Karena regresi logistik memiliki permukaan keputusan linier, ia tidak dapat mengatasi masalah non-linier.

2. Algoritma regresi logistik sensitif terhadap outlier.

3. Karena penskalaan dan normalisasi merupakan kriteria utama Regresi Logistik, persiapan data dapat memakan waktu lama.

4. Jika ada fitur yang benar-benar memisahkan dua kelas, model tidak bisa lagi dilatih. Ini disebut sebagai 'pemisahan lengkap.'

5. Jika jumlah observasi lebih sedikit dari jumlah fitur, regresi logistik tidak boleh diterapkan karena dapat mengakibatkan overfitting.

6. Kerugian lain adalah bahwa setiap titik data dalam regresi logistik harus independen dari semua titik data lainnya. Ketika pengamatan terhubung, model cenderung melebih-lebihkan relevansi pengamatan tersebut.