MODEL REGRESI LOGISTIK BINER

Tujuan

  1. Mempelajari program RStudio untuk membuat model regresi logistik biner.
  2. Mengaplikasikan program RStudio untuk membuat model regresi logistik biner.

Pendahuluan

Regresi logistik biner digunakan untuk variabel yang memiliki respon biner. Pengembangannya digunakan pada model kategorik yang memiliki respon dua kategorik. Misalkan J menyatakan banyaknya kategori dari respon Y dan \({π_i,…,π_j }\) menyatakan peluang respon yang memenuhi \(∑_jπ_{j}=1\). Ada n pengamatan yang saling bebas dan distribusi peluang untuk setiap keluaran yang mungkin dari J adalah multinomial. Jika kategori terakhir (J) merupakan baseline, maka baseline-category logits adalah:

\(log\)(\(\frac{π_j}{π_J}\) ), \(j=1,…,J-1\)

Baseline-category logit model dengan prediktor x adalah:

\(log\)(\(\frac{π_j}{π_J}\))\(=α_{j}+β_{j} x\) , \(j=1,…,J-1\)

Program R

Contoh kasus:
Dari 23 penerbangan pesawat luar angkasa kegagalan misi Challenger pada tahun 1986, dicatat suhu (F) pada saat penerbangan dan apakah terjadi thermal distress (TD), yaitu 1 jika terjadi dan 0 jika tidak. Data ditabelkan sebagai berikut.

Packages

library(plotrix)
library(car)
## Loading required package: carData
library(readxl)

Memanggil Ddata dan Membentuk Data Frame

#buatlah terlebih dulu datanya dalam format .xlsx agar mudah diimport ke R
data<-read_excel("F:/Aaku Kuliah Renaldi/Semester 9 - Asprak/ADK/adk7.xlsx")
Y = as.factor(data$TD)
X1 = data$Suhu
X2 = data$`Nomor Penerbangan`
df = data.frame(Y,X1,X2)
str(df)  
## 'data.frame':    23 obs. of  3 variables:
##  $ Y : Factor w/ 2 levels "0","1": 1 2 1 1 1 1 1 1 2 2 ...
##  $ X1: num  66 70 69 68 67 72 73 70 57 63 ...
##  $ X2: num  1 2 3 4 5 6 7 8 9 10 ...

Pie Chart Proporsi Pasien

TD = table(df$Y) 
TD
## 
##  0  1 
## 16  7
kat = c("Terjadi = ","Tidak Terjadi = ") 
persentase = round(TD/sum(TD)*100) 
kat = paste(kat,persentase)
kat = paste(kat,'%',sep ='')
pie3D(TD,labels=kat,col=c('light blue','blue'),
      main="Persentase Thermal Distress")

Dari pie chart di atas, dapat diketahui bahwa terdapat 30% penumpang mengalami thermal distress dan sisanya sebanyak 70% tidak mengalami thermal distress.

Analisis Regresi Logistik

model = glm(Y~X1+X2, data = df, family = binomial)
summary(model)
## 
## Call:
## glm(formula = Y ~ X1 + X2, family = binomial, data = df)
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)  
## (Intercept) 15.69296    7.99685   1.962   0.0497 *
## X1          -0.25534    0.12040  -2.121   0.0339 *
## X2           0.08940    0.09684   0.923   0.3559  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 28.267  on 22  degrees of freedom
## Residual deviance: 19.378  on 20  degrees of freedom
## AIC: 25.378
## 
## Number of Fisher Scoring iterations: 5

Dari output di atas diperoleh bahwa pada koefisien \(X_2\) lebih besar dari \(α=0,05\) artinya terima \(H_0\) (tidak signifikan terhadap model). Sedangkan penduga intersep dan koefisien \(X_1\) lebih kecil dari \(α=0,05\) tolak \(H_0\) artinya berpengaruh signifikan terhadap model.

beta = coef(model)
OR = exp(beta)
SK = exp(confint(model))
## Waiting for profiling to be done...
cbind(beta, OR, SK)
##                    beta           OR      2.5 %       97.5 %
## (Intercept) 15.69296037 6.536813e+06 29.3430952 8.320077e+15
## X1          -0.25534008 7.746530e-01  0.5647024 9.309757e-01
## X2           0.08940307 1.093521e+00  0.9161636 1.364052e+00
vif(model)
##       X1       X2 
## 1.147945 1.147945

Untuk Latihan silahkan gunakan yang ada pada modul kawan-kawan yaaa