Membangkitkan Data

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 <- 100
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
##  [51]  0  2  6  4  1  4  3  7  1  9 10  0  2  0  1  6  2  4  0  4  1 11  0  8  0
##  [76]  4  2  0  2  6 13  3  1  4  1 11  2  2  1 11  1 12  1  1  1  4  2  0  2  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
##  [38] 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0
##  [75] 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0

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
##  [38] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0
##  [75] 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1

Membangkitkan data X4

X4 adalah data IPK Pelamar dengan skala 4

set.seed(222)
x4 <- round(rnorm(n,3,0.5),2)
x4
##   [1] 3.74 3.00 3.69 2.81 3.09 2.88 2.39 3.78 3.21 2.40 3.53 2.35 2.65 3.30 2.90
##  [16] 2.41 2.00 3.00 3.26 2.63 3.36 3.36 2.67 3.75 2.28 1.92 3.20 2.80 2.85 3.67
##  [31] 2.59 3.34 2.89 2.94 2.90 3.20 3.33 3.05 2.91 3.47 3.10 3.25 2.72 3.56 4.10
##  [46] 3.16 2.53 3.41 2.81 3.17 3.30 3.26 2.52 2.39 2.90 3.53 3.19 3.62 3.16 2.48
##  [61] 2.43 3.62 3.39 3.37 3.03 3.42 3.10 3.73 2.77 1.61 3.03 2.97 2.41 1.74 3.41
##  [76] 3.13 2.97 3.34 3.01 3.27 3.34 2.40 2.38 3.11 2.27 2.94 3.27 3.36 2.21 3.55
##  [91] 2.83 3.31 3.25 3.84 3.19 3.12 3.21 2.41 2.68 3.03

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.228 16.300 15.118 15.882 33.498 12.836 -3.042  4.016 16.762  8.780
##  [11] 20.466  8.170  5.030 44.460  2.380 28.502  0.400  2.600 -0.328  1.486
##  [21]  6.092  6.092  1.574  0.450  0.716 23.924 13.240 40.360 26.770 -2.926
##  [31]  8.398  6.048  5.058 12.668 -1.120 20.540  3.026 -0.290 79.902 24.634
##  [41] 10.320 13.650  2.484 14.832  5.020  6.452 15.566  7.002 -1.318 23.674
##  [51] -3.240  3.672 18.244  8.258  2.080 10.766  7.018 24.164  2.152 25.956
##  [61] 32.546 -3.036  3.958 -3.086  2.366 17.524  6.020 13.906 -1.706  7.042
##  [71]  2.366 37.234 -2.998 20.828 -3.498 10.386  3.034 -0.452  3.122 17.194
##  [81] 42.348  7.980 -2.264 12.542 -2.506 33.968  6.394  6.592  0.562 35.310
##  [91] -0.774 41.482 -0.350  4.148  0.018 10.364  6.262 -5.198  1.896 22.866
p <- exp(datapendukung)/(1+exp(datapendukung))
p
##   [1] 0.773468336 0.999999917 0.999999728 0.999999873 1.000000000 0.999997337
##   [7] 0.045564116 0.982294225 0.999999947 0.999846246 0.999999999 0.999717062
##  [13] 0.993503668 1.000000000 0.915289434 1.000000000 0.598687660 0.930861580
##  [19] 0.418727333 0.815477135 0.997744217 0.997744217 0.828353092 0.610639234
##  [25] 0.671725582 1.000000000 0.999998222 1.000000000 1.000000000 0.050883154
##  [31] 0.999774733 0.997642986 0.993681909 0.999996850 0.246011284 0.999999999
##  [37] 0.953734995 0.428003867 1.000000000 1.000000000 0.999967034 0.999998820
##  [43] 0.923012521 0.999999638 0.993438807 0.998425120 0.999999826 0.999090767
##  [49] 0.211151234 1.000000000 0.037687891 0.975204863 0.999999988 0.999740890
##  [55] 0.888944033 0.999978895 0.999105186 1.000000000 0.895855521 1.000000000
##  [61] 1.000000000 0.045825756 0.981256742 0.043688449 0.914197619 0.999999975
##  [67] 0.997576219 0.999999087 0.153683254 0.999126388 0.914197619 1.000000000
##  [73] 0.047516308 0.999999999 0.029369190 0.999969139 0.954086713 0.388885353
##  [79] 0.957791157 0.999999966 1.000000000 0.999657878 0.094148676 0.999996427
##  [85] 0.075438627 1.000000000 0.998331233 0.998630583 0.636915175 1.000000000
##  [91] 0.315614462 1.000000000 0.413382421 0.984449656 0.504499879 0.999968453
##  [97] 0.998096204 0.005497222 0.869438134 1.000000000
set.seed(2)
y <- rbinom(n,1,p)
y
##   [1] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1
##  [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1
##  [75] 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1
datagab <- data.frame(y,x1,x2,x3,x4)
datagab
##     y x1 x2 x3   x4
## 1   1  1  1  0 3.74
## 2   1  5  1  1 3.00
## 3   1  5  1  0 3.69
## 4   1  5  1  1 2.81
## 5   1 10  0  1 3.09
## 6   1  5  0  0 2.88
## 7   0  0  0  1 2.39
## 8   1  1  1  1 3.78
## 9   1  5  1  1 3.21
## 10  1  4  1  0 2.40
## 11  1  6  0  1 3.53
## 12  1  4  0  0 2.35
## 13  1  2  1  1 2.65
## 14  1 13  0  1 3.30
## 15  1  2  0  0 2.90
## 16  1  9  0  1 2.41
## 17  0  2  0  0 2.00
## 18  0  2  0  0 3.00
## 19  0  1  0  0 3.26
## 20  1  1  1  1 2.63
## 21  1  2  0  1 3.36
## 22  1  2  0  1 3.36
## 23  1  1  1  1 2.67
## 24  0  0  1  1 3.75
## 25  1  1  1  1 2.28
## 26  1  8  0  1 1.92
## 27  1  4  1  1 3.20
## 28  1 12  1  1 2.80
## 29  1  9  0  0 2.85
## 30  0  0  0  0 3.67
## 31  1  3  1  1 2.59
## 32  1  2  0  1 3.34
## 33  1  2  0  1 2.89
## 34  1  4  1  1 2.94
## 35  1  1  0  0 2.90
## 36  1  7  0  0 3.20
## 37  1  1  1  1 3.33
## 38  1  1  1  0 3.05
## 39  1 24  1  0 2.91
## 40  1  8  0  0 3.47
## 41  1  4  1  0 3.10
## 42  1  5  0  0 3.25
## 43  1  2  1  0 2.72
## 44  1  5  1  0 3.56
## 45  1  2  0  0 4.10
## 46  1  3  0  0 3.16
## 47  1  6  0  0 2.53
## 48  1  3  0  0 3.41
## 49  1  1  0  0 2.81
## 50  1  7  1  1 3.17
## 51  0  0  1  0 3.30
## 52  1  2  1  0 3.26
## 53  1  6  0  1 2.52
## 54  1  4  0  0 2.39
## 55  1  1  1  1 2.90
## 56  1  4  0  0 3.53
## 57  1  3  1  0 3.19
## 58  1  7  0  1 3.62
## 59  1  1  0  1 3.16
## 60  1  9  0  0 2.48
## 61  1 10  1  1 2.43
## 62  0  0  0  0 3.62
## 63  1  2  1  0 3.39
## 64  0  0  1  0 3.37
## 65  1  1  1  1 3.03
## 66  1  6  0  0 3.42
## 67  1  2  1  1 3.10
## 68  1  4  0  1 3.73
## 69  0  0  1  1 2.77
## 70  1  4  1  0 1.61
## 71  1  1  1  1 3.03
## 72  1 11  1  1 2.97
## 73  0  0  0  1 2.41
## 74  1  8  0  0 1.74
## 75  0  0  0  0 3.41
## 76  1  4  1  0 3.13
## 77  1  2  1  0 2.97
## 78  0  0  1  1 3.34
## 79  1  2  1  0 3.01
## 80  1  6  0  0 3.27
## 81  1 13  1  0 3.34
## 82  1  3  1  1 2.40
## 83  0  1  0  0 2.38
## 84  1  4  0  1 3.11
## 85  0  1  0  0 2.27
## 86  1 11  0  0 2.94
## 87  1  2  1  1 3.27
## 88  1  2  1  1 3.36
## 89  1  1  1  1 2.21
## 90  1 11  0  0 3.55
## 91  1  1  1  0 2.83
## 92  1 12  1  1 3.31
## 93  0  1  0  0 3.25
## 94  1  1  1  1 3.84
## 95  1  1  1  0 3.19
## 96  1  4  1  0 3.12
## 97  1  2  1  1 3.21
## 98  0  0  1  0 2.41
## 99  1  2  0  0 2.68
## 100 1  7  0  1 3.03

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)   -8.931      4.447  -2.008 0.044622 *  
## x1             3.902      1.113   3.506 0.000455 ***
## x2             2.856      1.312   2.176 0.029548 *  
## x3             1.570      1.192   1.317 0.187875    
## x4             1.183      1.252   0.945 0.344705    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 91.177  on 99  degrees of freedom
## Residual deviance: 24.711  on 95  degrees of freedom
## AIC: 34.711
## 
## Number of Fisher Scoring iterations: 10