Membangkitkan Data

Skenario

  • Y : Keputusan untuk memberikan/menolak izin parkir di suatu area tertentu
  • X1 : Jarak tempuh dari rumah ke area parkir (kilometer)
  • X2 : Jenis kendaraan (0: Mobil, 1: Motor, 2: Sepeda)
  • X3 : Status keanggotaan (0: Non-anggota, 1: Anggota)
  • X4 : Riwayat pelanggaran lalu lintas (0: Tidak ada, 1: Ada)

Membangkitkan Data X1

variabel X1 dibangkitkan untuk merepresentasikan jarak tempuh dari rumah ke area parkir, dengan rentang antara 0 hingga 20 kilometer, dengan total 100 pengamatan dan nilai tengah 4.

set.seed(100)
n <- 100
u <- runif(n)

X1 <- round (20*(-(log(1-u)/4)))
X1
##   [1]  2  1  4  0  3  3  8  2  4  1  5 11  2  3  7  6  1  2  2  6  4  6  4  7  3
##  [26]  1  7 11  4  2  3 13  2 15  6 11  1  5 23  1  2 10  8  9  5  3  8 11  1  2
##  [51]  2  1  1  2  4  1  1  1  5  1  3  5 16  6  3  2  3  3  1  6  3  2  4 17  5
##  [76]  5 10  7  9  0  3  5 13 20  0  4  7  1  2  7 12  1  2  3 12  2  4  1  0  7

Membangkitkan Data X2

X2: Jenis Kendaraan (0: Mobil, 1: Motor, 2: Sepeda)

set.seed(1234)
n <- 100  

jenis_kendaraan <- sample(0:2, n, replace = TRUE)

X2 <- jenis_kendaraan
X2
##   [1] 1 1 0 2 0 0 1 1 2 1 1 1 2 1 1 1 1 0 2 2 2 0 1 0 1 1 2 2 2 2 0 2 1 1 2 1 0
##  [38] 2 1 0 1 2 1 0 0 0 0 1 0 2 2 1 2 1 2 0 2 1 0 1 2 1 0 0 2 2 1 0 1 2 1 0 2 2
##  [75] 0 2 1 2 0 2 0 2 2 0 1 1 2 0 1 1 1 1 0 0 0 0 1 1 1 1

Membangkitkan Data X3

X3: Status Keanggotaan (0: Non-anggota, 1: Anggota)

set.seed(1234)
n <- 100  

status_keanggotaan <- sample(0:1, n,  replace = TRUE)

X3 <- status_keanggotaan
X3
##   [1] 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0
##  [38] 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0
##  [75] 1 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1

Membangkitkan Data X4

X4: Riwayat Pelanggaran Lalu Lintas (0: Tidak ada, 1: Ada)

set.seed(1234)
n <- 100  

riwayat_pelanggaran <- rbinom(n, 1, 0.3)  # Probabilitas pelanggaran sebesar 0.3

X4 <- riwayat_pelanggaran
X4
##   [1] 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0
##  [38] 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1
##  [75] 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1

Membangkitkan Data Y

menentukan koefisien

b0 <- -11
b1 <- 3.5
b2 <- 0.5
b3 <- 2.7
b4 <- 1.2
set.seed(123)
DataPendukung <- b0 + (b1 * X1) + (b2 * X2) + (b3 * X3) + (b4 * X4)
DataPendukung
##   [1]  -0.8  -4.3   5.7  -7.3   0.7   2.2  17.5  -3.5   4.0  -4.3   9.7  30.7
##  [13]  -0.3   1.2  16.7  14.4  -4.3  -4.0  -0.3  13.7   6.7  12.7   6.2  16.2
##  [25]   2.7  -3.1  14.5  32.4   7.9  -0.3  -0.5  38.2  -3.5  42.0  11.0  31.9
##  [37]  -7.5  10.2  73.9  -6.3  -0.8  25.0  20.2  23.2   9.2  -0.5  17.0  28.0
##  [49]  -7.5   0.9  -0.3  -4.3  -2.6  -0.8   4.0  -4.8  -6.5  -5.8   9.2  -5.8
##  [61]   4.4   9.7  45.0  12.7   0.5  -1.8   2.7  -0.5  -7.0  13.7   2.7  -2.8
##  [73]   4.0  50.7   9.2  10.2  27.2  14.5  23.2 -10.0   0.7  10.2  35.5  61.7
##  [85] -10.5   7.4  14.5  -4.8  -0.8  15.2  31.5  -5.8  -4.0   2.2  31.0  -1.3
##  [97]   6.2  -7.0  -7.8  17.9
p <- exp(DataPendukung) / (1 + exp(DataPendukung))
p
##   [1] 3.100255e-01 1.338692e-02 9.966652e-01 6.750827e-04 6.681878e-01
##   [6] 9.002495e-01 1.000000e+00 2.931223e-02 9.820138e-01 1.338692e-02
##  [11] 9.999387e-01 1.000000e+00 4.255575e-01 7.685248e-01 9.999999e-01
##  [16] 9.999994e-01 1.338692e-02 1.798621e-02 4.255575e-01 9.999989e-01
##  [21] 9.987706e-01 9.999969e-01 9.979747e-01 9.999999e-01 9.370266e-01
##  [26] 4.310725e-02 9.999995e-01 1.000000e+00 9.996294e-01 4.255575e-01
##  [31] 3.775407e-01 1.000000e+00 2.931223e-02 1.000000e+00 9.999833e-01
##  [36] 1.000000e+00 5.527786e-04 9.999628e-01 1.000000e+00 1.832939e-03
##  [41] 3.100255e-01 1.000000e+00 1.000000e+00 1.000000e+00 9.998990e-01
##  [46] 3.775407e-01 1.000000e+00 1.000000e+00 5.527786e-04 7.109495e-01
##  [51] 4.255575e-01 1.338692e-02 6.913842e-02 3.100255e-01 9.820138e-01
##  [56] 8.162571e-03 1.501182e-03 3.018416e-03 9.998990e-01 3.018416e-03
##  [61] 9.878716e-01 9.999387e-01 1.000000e+00 9.999969e-01 6.224593e-01
##  [66] 1.418511e-01 9.370266e-01 3.775407e-01 9.110512e-04 9.999989e-01
##  [71] 9.370266e-01 5.732418e-02 9.820138e-01 1.000000e+00 9.998990e-01
##  [76] 9.999628e-01 1.000000e+00 9.999995e-01 1.000000e+00 4.539787e-05
##  [81] 6.681878e-01 9.999628e-01 1.000000e+00 1.000000e+00 2.753569e-05
##  [86] 9.993891e-01 9.999995e-01 8.162571e-03 3.100255e-01 9.999997e-01
##  [91] 1.000000e+00 3.018416e-03 1.798621e-02 9.002495e-01 1.000000e+00
##  [96] 2.141650e-01 9.979747e-01 9.110512e-04 4.095672e-04 1.000000e+00
set.seed(123) 
y <- rbinom(n, 1, p) 
y
##   [1] 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0
##  [38] 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 1
##  [75] 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 0 1
datagab <- data.frame(y, X1, X2, X3, X4)
datagab
##     y X1 X2 X3 X4
## 1   0  2  1  1  0
## 2   0  1  1  1  0
## 3   1  4  0  1  0
## 4   0  0  2  1  0
## 5   0  3  0  0  1
## 6   1  3  0  1  0
## 7   1  8  1  0  0
## 8   0  2  1  0  0
## 9   1  4  2  0  0
## 10  0  1  1  1  0
## 11  1  5  1  1  0
## 12  1 11  1  1  0
## 13  1  2  2  1  0
## 14  1  3  1  0  1
## 15  1  7  1  1  0
## 16  1  6  1  1  1
## 17  0  1  1  1  0
## 18  0  2  0  0  0
## 19  0  2  2  1  0
## 20  1  6  2  1  0
## 21  1  4  2  1  0
## 22  1  6  0  1  0
## 23  1  4  1  1  0
## 24  1  7  0  1  0
## 25  1  3  1  1  0
## 26  0  1  1  1  1
## 27  1  7  2  0  0
## 28  1 11  2  1  1
## 29  1  4  2  1  1
## 30  0  2  2  1  0
## 31  1  3  0  0  0
## 32  1 13  2  1  0
## 33  0  2  1  0  0
## 34  1 15  1  0  0
## 35  1  6  2  0  0
## 36  1 11  1  1  1
## 37  0  1  0  0  0
## 38  1  5  2  1  0
## 39  1 23  1  1  1
## 40  0  1  0  0  1
## 41  0  2  1  1  0
## 42  1 10  2  0  0
## 43  1  8  1  1  0
## 44  1  9  0  1  0
## 45  1  5  0  1  0
## 46  0  3  0  0  0
## 47  1  8  0  0  0
## 48  1 11  1  0  0
## 49  0  1  0  0  0
## 50  1  2  2  1  1
## 51  0  2  2  1  0
## 52  0  1  1  1  0
## 53  0  1  2  1  1
## 54  0  2  1  1  0
## 55  1  4  2  0  0
## 56  0  1  0  1  0
## 57  0  1  2  0  0
## 58  0  1  1  0  1
## 59  1  5  0  1  0
## 60  0  1  1  0  1
## 61  1  3  2  1  1
## 62  1  5  1  1  0
## 63  1 16  0  0  0
## 64  1  6  0  1  0
## 65  0  3  2  0  0
## 66  0  2  2  0  1
## 67  1  3  1  1  0
## 68  0  3  0  0  0
## 69  0  1  1  0  0
## 70  1  6  2  1  0
## 71  1  3  1  1  0
## 72  0  2  0  0  1
## 73  1  4  2  0  0
## 74  1 17  2  0  1
## 75  1  5  0  1  0
## 76  1  5  2  1  0
## 77  1 10  1  1  0
## 78  1  7  2  0  0
## 79  1  9  0  1  0
## 80  0  0  2  0  0
## 81  1  3  0  0  1
## 82  1  5  2  1  0
## 83  1 13  2  0  0
## 84  1 20  0  1  0
## 85  0  0  1  0  0
## 86  1  4  1  1  1
## 87  1  7  2  0  0
## 88  0  1  0  1  0
## 89  0  2  1  1  0
## 90  1  7  1  0  1
## 91  1 12  1  0  0
## 92  0  1  1  0  1
## 93  1  2  0  0  0
## 94  1  3  0  1  0
## 95  1 12  0  0  0
## 96  0  2  0  1  0
## 97  1  4  1  1  0
## 98  0  1  1  0  0
## 99  0  0  1  1  0
## 100 1  7  1  1  1

Analisis Regresi Logistik

modelreglog <- glm(y~ X1 + X2 + X3 + X4, family = binomial(link = "logit"), data = datagab)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(modelreglog)
## 
## Call:
## glm(formula = y ~ X1 + X2 + X3 + X4, family = binomial(link = "logit"), 
##     data = datagab)
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -11.22119    3.46333  -3.240 0.001195 ** 
## X1            3.60278    1.08807   3.311 0.000929 ***
## X2            0.05209    0.64479   0.081 0.935613    
## X3            2.60844    1.41189   1.847 0.064677 .  
## X4            1.49232    1.21719   1.226 0.220185    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 132.813  on 99  degrees of freedom
## Residual deviance:  26.922  on 95  degrees of freedom
## AIC: 36.922
## 
## Number of Fisher Scoring iterations: 10

Kesimpulan

Dalam output yang diberikan, variabel X1 dan Intercept dianggap berkontribusi secara signifikan terhadap model karena memiliki tingkat signifikansi yang sangat tinggi (ditandai dengan ***). Artinya, perubahan dalam nilai variabel X1 atau Intercept akan memiliki pengaruh yang signifikan pada probabilitas hasil yang diinginkan (variabel respons), sedangkan variabel lainnya (X2, X3, dan X4) tidak memiliki pengaruh yang signifikan berdasarkan tingkat signifikansi yang diberikan.

dengan kata lain Kesimpulan singkatnya adalah bahwa dalam model keputusan untuk memberikan atau menolak izin parkir di suatu area tertentu, variabel yang paling berpengaruh adalah jarak tempuh dari rumah ke area parkir (X1) dan intersep (bias) dari model. Jarak tempuh (X1) memiliki pengaruh yang signifikan, menunjukkan bahwa semakin jauh jarak tempuhnya, semakin besar kemungkinan izin parkir akan diberikan atau ditolak, sementara intersep menggambarkan probabilitas dasar keputusan parkir yang mungkin terjadi. Variabel lainnya (jenis kendaraan, status keanggotaan, riwayat pelanggaran lalu lintas) mungkin juga berpengaruh, tetapi dalam konteks ini, X1 dan intersep (bias) dianggap yang paling berpengaruh.