#Skenario Y : Keputusan menolak/menerima pelamar kerja pada PT A posisi B X1 : Lama pengalaman kerja sebelumnya (bulan) X2 : Status pekerjaan saat ini (0: Bekerja, 1: Tidak bekerja) X3 : Tingkat pendidikan (0: Lulusah Sekolah Menengah, 1: Lulusan Perguruan Tinggi) X4 : IPK (skala 4)
#Membangkitkan data X1 X1 : Lama pengalaman kerja sebelumnya (bulan) Membangkitkan variabel X1 dengan lama pekerjaan 0-60 bulan dengan nilai tengah 12 dan banyak pelamar adalah 100
set.seed(1234)
n <- 50
u <- runif(n)
x1 <- round(60*(-(log(1-u)/12)))
x1
## [1] 1 5 5 5 10 5 0 1 5 4 6 4 2 13 2 9 2 2 1 1 2 2 1 0 1
## [26] 8 4 12 9 0 3 2 2 4 1 7 1 1 24 8 4 5 2 5 2 3 6 3 1 7
#Membangkitkan data X2 X2 : Status pekerjaan Keterangan yang digunakan (0 = Tidak bekerja) dan (1 = Bekerja)
set.seed(12345)
x2 <- round(runif(n))
x2
## [1] 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1
## [39] 1 0 1 0 1 1 0 0 0 0 0 1
#Membangkitkan data X3 X3 : Tingkat pendidikan Keterangan yang digunakan (0 = lulus SMA/Tidak kuliah) dan (1 = lulus kuliah)
set.seed(123)
x3 <- round(runif(n))
x3
## [1] 0 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0
## [39] 0 0 0 0 0 0 0 0 0 0 0 1
#Membangkitkan data X4 X4 adalah data IPK pelamar dengan skala 4
set.seed(3)
x4 <- round(rnorm(n,3,0.5),2)
x4
## [1] 2.52 2.85 3.13 2.42 3.10 3.02 3.04 3.56 2.39 3.63 2.63 2.43 2.64 3.13 3.08
## [16] 2.85 2.52 2.68 3.61 3.10 2.71 2.53 2.90 2.17 2.76 2.63 3.58 3.51 2.96 2.43
## [31] 3.45 3.43 3.36 3.37 2.82 3.35 3.65 3.02 2.51 3.40 3.39 2.84 3.85 2.60 3.17
## [46] 1.87 2.92 3.57 2.77 2.55
set.seed(33)
x44 <- round(rnorm(n,2.7,0.5),2)
x44
## [1] 2.63 2.68 3.21 2.62 1.62 2.95 2.32 3.09 3.08 2.15 2.78 2.69 3.64 2.82 3.05
## [16] 2.69 2.63 2.86 2.76 2.40 2.48 2.85 3.06 2.93 2.79 2.82 3.00 3.70 1.78 2.27
## [31] 3.49 2.78 2.56 3.09 2.59 3.40 2.46 2.77 2.70 2.34 2.34 2.60 3.37 2.88 3.12
## [46] 3.09 2.74 2.36 3.62 2.60
#Membangkitkan data Y ##Menentukan koef
b0 <- -11
b1 <- 3.5
b2 <- 0.5
b3 <- 2.7
b4 <- 2.2
set.seed(1)
datapendukung <- b0+(b1*x1)+(b2*x2)+(b3*x3)+(b4*x4)
datapendukung
## [1] -1.456 15.970 13.886 15.024 33.520 13.144 -1.612 3.532 14.958 11.486
## [11] 18.486 8.346 5.008 44.086 2.776 29.470 1.544 1.896 0.442 2.520
## [21] 4.662 4.266 2.080 -3.026 1.772 25.486 14.076 41.922 27.012 -5.654
## [31] 10.290 6.246 6.092 13.614 -1.296 20.870 3.730 -0.356 79.022 24.480
## [41] 10.958 12.748 4.970 12.720 2.974 3.614 16.424 7.354 -1.406 22.310
p <- exp(datapendukung)/(1+exp(datapendukung))
p
## [1] 0.189079877 0.999999884 0.999999068 0.999999701 1.000000000 0.999998043
## [7] 0.166311125 0.971584680 0.999999681 0.999989727 0.999999991 0.999762712
## [13] 0.993360124 1.000000000 0.941365046 1.000000000 0.824045455 0.869438134
## [19] 0.608735487 0.925532055 0.990640872 0.986156510 0.888944033 0.046265005
## [25] 0.854706214 1.000000000 0.999999229 1.000000000 1.000000000 0.003491243
## [31] 0.999966030 0.998065558 0.997744217 0.999998777 0.214838980 0.999999999
## [37] 0.976569332 0.411928197 1.000000000 1.000000000 0.999982582 0.999997092
## [43] 0.993104727 0.999997009 0.951385615 0.973763068 0.999999926 0.999360382
## [49] 0.196865728 1.000000000
set.seed(2)
y <- rbinom(n,1,p)
y
## [1] 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1
## [39] 1 1 1 1 1 1 1 1 1 1 0 1
datagab <- data.frame(y,x1,x2,x3,x4)
datagab
## y x1 x2 x3 x4
## 1 0 1 1 0 2.52
## 2 1 5 1 1 2.85
## 3 1 5 1 0 3.13
## 4 1 5 1 1 2.42
## 5 1 10 0 1 3.10
## 6 1 5 0 0 3.02
## 7 0 0 0 1 3.04
## 8 1 1 1 1 3.56
## 9 1 5 1 1 2.39
## 10 1 4 1 0 3.63
## 11 1 6 0 1 2.63
## 12 1 4 0 0 2.43
## 13 1 2 1 1 2.64
## 14 1 13 0 1 3.13
## 15 1 2 0 0 3.08
## 16 1 9 0 1 2.85
## 17 0 2 0 0 2.52
## 18 0 2 0 0 2.68
## 19 1 1 0 0 3.61
## 20 1 1 1 1 3.10
## 21 1 2 0 1 2.71
## 22 1 2 0 1 2.53
## 23 1 1 1 1 2.90
## 24 0 0 1 1 2.17
## 25 1 1 1 1 2.76
## 26 1 8 0 1 2.63
## 27 1 4 1 1 3.58
## 28 1 12 1 1 3.51
## 29 1 9 0 0 2.96
## 30 0 0 0 0 2.43
## 31 1 3 1 1 3.45
## 32 1 2 0 1 3.43
## 33 1 2 0 1 3.36
## 34 1 4 1 1 3.37
## 35 1 1 0 0 2.82
## 36 1 7 0 0 3.35
## 37 1 1 1 1 3.65
## 38 1 1 1 0 3.02
## 39 1 24 1 0 2.51
## 40 1 8 0 0 3.40
## 41 1 4 1 0 3.39
## 42 1 5 0 0 2.84
## 43 1 2 1 0 3.85
## 44 1 5 1 0 2.60
## 45 1 2 0 0 3.17
## 46 1 3 0 0 1.87
## 47 1 6 0 0 2.92
## 48 1 3 0 0 3.57
## 49 0 1 0 0 2.77
## 50 1 7 1 1 2.55
#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) -20.055 9.383 -2.137 0.0326 *
## x1 3.482 1.561 2.230 0.0257 *
## x2 2.290 1.963 1.167 0.2433
## x3 2.537 2.161 1.174 0.2403
## x4 5.248 2.692 1.950 0.0512 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 40.496 on 49 degrees of freedom
## Residual deviance: 11.538 on 45 degrees of freedom
## AIC: 21.538
##
## Number of Fisher Scoring iterations: 10