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

Mengalikan x3 dan x4 agar data ipk valid

ipkfinal <- x3*x4
ipkfinal
##   [1] 0.00 3.00 0.00 2.81 3.09 0.00 2.39 3.78 3.21 0.00 3.53 0.00 2.65 3.30 0.00
##  [16] 2.41 0.00 0.00 0.00 2.63 3.36 3.36 2.67 3.75 2.28 1.92 3.20 2.80 0.00 0.00
##  [31] 2.59 3.34 2.89 2.94 0.00 0.00 3.33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
##  [46] 0.00 0.00 0.00 0.00 3.17 0.00 0.00 2.52 0.00 2.90 0.00 0.00 3.62 3.16 0.00
##  [61] 2.43 0.00 0.00 0.00 3.03 0.00 3.10 3.73 2.77 0.00 3.03 2.97 2.41 0.00 0.00
##  [76] 0.00 0.00 3.34 0.00 0.00 0.00 2.40 0.00 3.11 0.00 0.00 3.27 3.36 2.21 0.00
##  [91] 0.00 3.31 0.00 3.84 0.00 0.00 3.21 0.00 0.00 3.03
set.seed(222)
x44 <- round(rnorm(n,2.7,0.5),2)
x44
##   [1] 3.44 2.70 3.39 2.51 2.79 2.58 2.09 3.48 2.91 2.10 3.23 2.05 2.35 3.00 2.60
##  [16] 2.11 1.70 2.70 2.96 2.33 3.06 3.06 2.37 3.45 1.98 1.62 2.90 2.50 2.55 3.37
##  [31] 2.29 3.04 2.59 2.64 2.60 2.90 3.03 2.75 2.61 3.17 2.80 2.95 2.42 3.26 3.80
##  [46] 2.86 2.23 3.11 2.51 2.87 3.00 2.96 2.22 2.09 2.60 3.23 2.89 3.32 2.86 2.18
##  [61] 2.13 3.32 3.09 3.07 2.73 3.12 2.80 3.43 2.47 1.31 2.73 2.67 2.11 1.44 3.11
##  [76] 2.83 2.67 3.04 2.71 2.97 3.04 2.10 2.08 2.81 1.97 2.64 2.97 3.06 1.91 3.25
##  [91] 2.53 3.01 2.95 3.54 2.89 2.82 2.91 2.11 2.38 2.73
summary(x44)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.310   2.410   2.795   2.711   3.040   3.800

Membangkitkan data Y

Menentukan Bobot

b0 <- -11
b1 <- 3.8
b2 <- 2
b3 <- 3.4
b4 <- 2.8
set.seed(1)
datapendukung <- b0+(b1*x1)+(b2*x2)+(b3*x3)+(b4*x4)
datapendukung
##   [1]  5.272 21.800 20.332 21.268 39.052 16.064 -0.908  8.784 22.388 12.920
##  [11] 25.084 10.780  9.420 51.040  4.720 33.348  2.200  5.000  1.928  5.564
##  [21]  9.408  9.408  5.676  4.900  4.584 28.176 18.560 47.840 31.180 -0.724
##  [31] 13.052  9.352  8.092 17.832  0.920 24.560  7.524  3.340 90.348 29.116
##  [41] 14.880 17.100  6.216 19.968  8.080  9.248 18.884  9.948  0.668 29.876
##  [51]  0.240  7.728 22.256 10.892  6.320 14.084 11.332 29.136  5.048 30.144
##  [61] 39.204 -0.864  8.092  0.436  6.684 21.376 10.680 18.044  2.156 10.708
##  [71]  6.684 44.516 -0.852 24.272 -1.452 14.964  6.916  3.752  7.028 20.956
##  [81] 49.752 12.520 -0.536 16.308 -0.844 39.032 11.156 11.408  4.388 40.740
##  [91]  2.724 49.268  1.900  8.952  3.732 14.936 10.988 -2.252  4.104 27.484
p <- exp(datapendukung)/(1+exp(datapendukung))
p
##   [1] 0.99489288 1.00000000 1.00000000 1.00000000 1.00000000 0.99999989
##   [7] 0.28740927 0.99984686 1.00000000 0.99999755 1.00000000 0.99997919
##  [13] 0.99991892 1.00000000 0.99116360 1.00000000 0.90024951 0.99330715
##  [19] 0.87302788 0.99618123 0.99991794 0.99991794 0.99658447 0.99260846
##  [25] 0.98988931 1.00000000 0.99999999 1.00000000 1.00000000 0.32651276
##  [31] 0.99999785 0.99991322 0.99969412 0.99999998 0.71504211 1.00000000
##  [37] 0.99946032 0.96577584 1.00000000 1.00000000 0.99999966 0.99999996
##  [43] 0.99800676 1.00000000 0.99969042 0.99990371 0.99999999 0.99995218
##  [49] 0.66105518 1.00000000 0.55971365 0.99955987 1.00000000 0.99998139
##  [55] 0.99820329 0.99999924 0.99998802 1.00000000 0.99361882 1.00000000
##  [61] 1.00000000 0.29650431 0.99969412 0.60730550 0.99875080 1.00000000
##  [67] 0.99997700 0.99999999 0.89622812 0.99997764 0.99875080 1.00000000
##  [73] 0.29901348 1.00000000 0.18969395 0.99999968 0.99900919 0.97706749
##  [79] 0.99911408 1.00000000 1.00000000 0.99999635 0.36911857 0.99999992
##  [85] 0.30069301 1.00000000 0.99998571 0.99998889 0.98772694 1.00000000
##  [91] 0.93842806 1.00000000 0.86989153 0.99987054 0.97661505 0.99999967
##  [97] 0.99998310 0.09517709 0.98376152 1.00000000
set.seed(2)
y <- rbinom(n,1,p)
y
##   [1] 1 1 1 1 1 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 1 1 1 1 1 1
##  [38] 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1
##  [75] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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   1  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  1  2  0  0 2.00
## 18  1  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  1  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  0  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  1  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  1  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  1  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  1  1  0  0 2.38
## 84  1  4  0  1 3.11
## 85  1  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  1  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)  -5.5204     4.8647  -1.135  0.25646   
## x1            3.8631     1.4395   2.684  0.00728 **
## x2            1.0944     1.3435   0.815  0.41533   
## x3            3.7476     1.8060   2.075  0.03798 * 
## x4            0.9707     1.4908   0.651  0.51497   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 55.754  on 99  degrees of freedom
## Residual deviance: 19.121  on 95  degrees of freedom
## AIC: 29.121
## 
## Number of Fisher Scoring iterations: 10