Membangkitkan Data

Skenario

Y : Keputusan menolak/menerima pelamar kerja PT A posisi B x1 : Lama pengalaman kerja sebelumnya (sebulan) x2 : Status pekerjaan saat ini (0: Bekerja, 1: Tidak bekerja) x3 : Tingkat Pendidikan (0: Lulusan 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(100)
n <- 100
u <- runif(n)

x1 <- round(60*(-(log(1-u)/12)))
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: Status pekerjaan Keterangan yang digantikan (0=Tidak bekerja) dan (1=Bekerja)

set.seed(157)
x2 <- round(runif(n))
x2
##   [1] 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1
##  [38] 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0
##  [75] 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0

Membangkitkan data x3

x3: Tingkat pendidikan Keterangan yang digunakan (0=Lulus SMA/Tidak kuliah) dan (1=Lulus kuliah)

set.seed(111)
x3 <- round(runif(n))
x3
##   [1] 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0
##  [38] 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0
##  [75] 1 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1

Membangkitkan data x4

x4 adalah data IPK pelamar dengan skala 4

x4 <- round(rnorm(n,3,0.5),2)
x4
##   [1] 3.10 3.78 3.46 3.18 3.09 2.58 3.49 3.90 3.06 2.94 2.89 3.72 3.20 3.46 3.72
##  [16] 2.81 3.10 2.60 3.15 3.70 3.51 3.24 2.66 3.08 2.81 3.47 2.68 2.95 3.52 3.19
##  [31] 2.37 2.61 3.21 2.81 2.39 3.51 3.22 2.38 2.70 3.33 4.03 3.25 2.13 3.36 3.01
##  [46] 2.30 3.63 2.94 2.64 2.39 3.30 2.42 3.22 3.10 2.65 2.54 2.49 3.30 3.87 2.83
##  [61] 3.60 3.51 2.98 3.69 1.90 2.94 2.34 2.29 3.44 3.20 3.34 4.18 2.49 3.15 3.78
##  [76] 2.58 3.66 3.24 3.09 3.13 4.30 3.54 2.20 2.96 3.18 2.56 1.34 2.77 3.22 2.70
##  [91] 3.34 3.32 2.69 3.21 3.44 3.01 3.91 2.77 2.94 3.38

Membangkitkan data Y

menentukan koef

b0 <- -11
b1 <- 3.5
b2 <- 0.5
b3 <- 2.7
b4 <- 1.2
set.seed(1)
datapendukung <- b0+(b1*x1)+(b2*x2)+(b3*x3)+(b4*x4)
datapendukung
##   [1]  2.920 -0.264  7.652 -3.984  3.708  3.096 21.688  3.380  7.172 -3.472
##  [11] 12.668 34.664 -0.160  4.152 17.964 13.372 -3.280  1.820  0.280 17.640
##  [21]  7.212 14.388  6.692 17.196  6.072 -2.836 19.916 31.040  9.924  3.028
##  [31]  2.844 40.832 -0.148 45.372 12.868 34.412 -3.136 12.056 75.940 -0.804
##  [41]  4.036 27.900 22.756 27.732 13.312  2.260 21.856 33.728 -1.132  2.068
##  [51]  2.660 -1.896 -3.636 -0.280  9.380 -1.752 -1.812 -3.040 11.144 -0.904
##  [61]  4.320 11.212 48.576 14.928  4.480 -0.472  2.808  2.248 -3.372 14.340
##  [71]  6.208  3.716  5.988 52.280 14.236 10.096 28.892 20.588 24.208 -4.544
##  [81]  5.160 13.948 37.140 63.052 -6.684  6.572 18.308 -0.976  3.064 19.440
##  [91] 37.708 -0.816  1.928  6.052 37.828 -0.388 10.892 -3.676 -4.772 20.256
p <- exp(datapendukung)/(1+exp(datapendukung))
p
##   [1] 0.948826299 0.434380675 0.999525133 0.018271004 0.976060622 0.956727447
##   [7] 1.000000000 0.967073605 0.999232803 0.030119502 0.999996850 1.000000000
##  [13] 0.460085115 0.984510772 0.999999984 0.999998442 0.036263716 0.860566127
##  [19] 0.569546224 0.999999978 0.999262863 0.999999436 0.998760739 0.999999966
##  [25] 0.997698752 0.055409523 0.999999998 1.000000000 0.999951018 0.953823164
##  [31] 0.945007705 1.000000000 0.463067390 1.000000000 0.999997421 1.000000000
##  [37] 0.041646475 0.999994190 1.000000000 0.309170531 0.982638736 1.000000000
##  [43] 1.000000000 1.000000000 0.999998345 0.905509631 1.000000000 1.000000000
##  [49] 0.243792197 0.887753822 0.934624667 0.130561866 0.025680683 0.430453776
##  [55] 0.999915612 0.147795117 0.140396581 0.045651171 0.999985538 0.288229190
##  [61] 0.986874682 0.999986489 1.000000000 0.999999671 0.988793594 0.384142980
##  [67] 0.943106601 0.904477880 0.033182087 0.999999408 0.997990785 0.976246843
##  [73] 0.997497601 1.000000000 0.999999343 0.999958757 1.000000000 0.999999999
##  [79] 1.000000000 0.010518973 0.994291079 0.999999124 1.000000000 1.000000000
##  [85] 0.001249202 0.998602958 0.999999989 0.273686192 0.955383113 0.999999996
##  [91] 1.000000000 0.306613408 0.873027885 0.997652373 1.000000000 0.404198853
##  [97] 0.999981394 0.024698600 0.008392408 0.999999998
set.seed(2)
y <- rbinom(n,1,p)
y
##   [1] 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0
##  [38] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
##  [75] 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1
datagab <- data.frame(y,x1,x2,x3,x4)
datagab
##     y x1 x2 x3   x4
## 1   1  2  1  1 3.10
## 2   1  1  0  1 3.78
## 3   1  4  1  0 3.46
## 4   0  0  1  1 3.18
## 5   1  3  1  0 3.09
## 6   1  3  1  0 2.58
## 7   1  8  1  0 3.49
## 8   1  2  0  1 3.90
## 9   1  4  1  0 3.06
## 10  0  1  1  0 2.94
## 11  1  5  0  1 2.89
## 12  1 11  0  1 3.72
## 13  1  2  0  0 3.20
## 14  1  3  1  0 3.46
## 15  1  7  0  0 3.72
## 16  1  6  0  0 2.81
## 17  1  1  1  0 3.10
## 18  1  2  0  1 2.60
## 19  1  2  1  0 3.15
## 20  1  6  1  1 3.70
## 21  1  4  0  0 3.51
## 22  1  6  1  0 3.24
## 23  1  4  1  0 2.66
## 24  1  7  0  0 3.08
## 25  1  3  1  1 2.81
## 26  0  1  1  0 3.47
## 27  1  7  1  1 2.68
## 28  1 11  0  0 2.95
## 29  1  4  0  1 3.52
## 30  1  2  1  1 3.19
## 31  1  3  1  0 2.37
## 32  1 13  1  1 2.61
## 33  0  2  0  0 3.21
## 34  1 15  1  0 2.81
## 35  1  6  0  0 2.39
## 36  1 11  0  1 3.51
## 37  0  1  1  0 3.22
## 38  1  5  0  1 2.38
## 39  1 23  1  1 2.70
## 40  1  1  0  1 3.33
## 41  1  2  1  1 4.03
## 42  1 10  0  0 3.25
## 43  1  8  1  1 2.13
## 44  1  9  1  1 3.36
## 45  1  5  1  1 3.01
## 46  1  3  0  0 2.30
## 47  1  8  1  0 3.63
## 48  1 11  0  1 2.94
## 49  1  1  1  1 2.64
## 50  0  2  1  1 2.39
## 51  1  2  0  1 3.30
## 52  0  1  0  1 2.42
## 53  0  1  0  0 3.22
## 54  0  2  0  0 3.10
## 55  1  4  1  1 2.65
## 56  0  1  0  1 2.54
## 57  1  1  0  1 2.49
## 58  0  1  1  0 3.30
## 59  1  5  0  0 3.87
## 60  1  1  1  1 2.83
## 61  0  3  1  0 3.60
## 62  1  5  1  0 3.51
## 63  1 16  0  0 2.98
## 64  1  6  1  0 3.69
## 65  1  3  0  1 1.90
## 66  1  2  0  0 2.94
## 67  1  3  1  0 2.34
## 68  1  3  0  0 2.29
## 69  0  1  0  0 3.44
## 70  1  6  1  0 3.20
## 71  1  3  0  1 3.34
## 72  1  2  0  1 4.18
## 73  1  4  0  0 2.49
## 74  1 17  0  0 3.15
## 75  1  5  1  1 3.78
## 76  1  5  1  0 2.58
## 77  1 10  1  0 3.66
## 78  1  7  1  1 3.24
## 79  1  9  0  0 3.09
## 80  0  0  0  1 3.13
## 81  1  3  1  0 4.30
## 82  1  5  1  1 3.54
## 83  1 13  0  0 2.20
## 84  1 20  1  0 2.96
## 85  0  0  1  0 3.18
## 86  1  4  1  0 2.56
## 87  1  7  1  1 1.34
## 88  0  1  1  1 2.77
## 89  1  2  1  1 3.22
## 90  1  7  0  1 2.70
## 91  1 12  0  1 3.34
## 92  0  1  0  1 3.32
## 93  1  2  0  1 2.69
## 94  1  3  0  1 3.21
## 95  1 12  0  1 3.44
## 96  1  2  0  0 3.01
## 97  1  4  1  1 3.91
## 98  0  1  1  0 2.77
## 99  0  0  0  1 2.94
## 100 1  7  0  1 3.38

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) -5.69002    3.46908  -1.640 0.100962    
## x1           2.31039    0.60149   3.841 0.000122 ***
## x2          -0.04335    0.81467  -0.053 0.957566    
## x3           2.01705    0.93225   2.164 0.030493 *  
## x4           0.48016    0.98294   0.488 0.625202    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 97.245  on 99  degrees of freedom
## Residual deviance: 39.855  on 95  degrees of freedom
## AIC: 49.855
## 
## Number of Fisher Scoring iterations: 9