Y : Keputusan menerima/menolak calon siswa SMAN X1 : Nilai rata-rata rapor X2 : Prestasi Akademik atau non-Akademik (0=tidak mempunyaiprestasi, 1=mempunyai prestasi) X3 : Jarak tempuh (KM)
X1 : Nilai rata-rata rapor
set.seed(123)
xcontoh <- rnorm(50,90,5)
xcontoh
## [1] 87.19762 88.84911 97.79354 90.35254 90.64644 98.57532 92.30458
## [8] 83.67469 86.56574 87.77169 96.12041 91.79907 92.00386 90.55341
## [15] 87.22079 98.93457 92.48925 80.16691 93.50678 87.63604 84.66088
## [22] 88.91013 84.86998 86.35554 86.87480 81.56653 94.18894 90.76687
## [29] 84.30932 96.26907 92.13232 88.52464 94.47563 94.39067 94.10791
## [36] 93.44320 92.76959 89.69044 88.47019 88.09764 86.52647 88.96041
## [43] 83.67302 100.84478 96.03981 84.38446 87.98558 87.66672 93.89983
## [50] 89.58315
Membangkitkan data variabel X1 dengan distribusi normal dari semester 1-5 dengan nilai tengah 3 dan banyak pendaftar adalah 50
set.seed(123)
n <- 50
u <- runif(n)
x1 <- round(5*(-(log(1-u)/3)))
x1
## [1] 1 3 1 4 5 0 1 4 1 1 5 1 2 1 0 4 0 0 1 5 4 2 2 9 2 2 1 2 1 0 5 4 2 3 0 1 2 0
## [39] 1 0 0 1 1 1 0 0 0 1 1 3
X2 : Prestasi Akademik atau non-Akademik Membangkitkan variabel X2 dengan keterangan (0=tidak memiliki prestasi, 1=memiliki prestasi)
set.seed(123)
x2 <- round(runif(n))
x2
## [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
X3 : Jarak tempuh (Km) X3 merupakan data jarak tempuh antara rumah dengan sekolah min 0 Km
set.seed(123)
x3 <- round(rnorm(n,2,0.5),2)
x3
## [1] 1.72 1.88 2.78 2.04 2.06 2.86 2.23 1.37 1.66 1.78 2.61 2.18 2.20 2.06 1.72
## [16] 2.89 2.25 1.02 2.35 1.76 1.47 1.89 1.49 1.64 1.69 1.16 2.42 2.08 1.43 2.63
## [31] 2.21 1.85 2.45 2.44 2.41 2.34 2.28 1.97 1.85 1.81 1.65 1.90 1.37 3.08 2.60
## [46] 1.44 1.80 1.77 2.39 1.96
b0 <- -10
b1 <- 3.7
b2 <- 0.5
b3 <- 2.5
set.seed(1)
datapendukung <- b0+(b1*x1)+(b2*x2)+(b3*x3)
datapendukung
## [1] -2.000 6.300 0.650 10.400 14.150 -2.850 -0.225 8.725 -1.650 -1.850
## [11] 15.525 -0.850 3.400 -0.650 -5.700 12.525 -4.375 -7.450 -0.425 13.400
## [21] 8.975 2.625 1.625 27.900 2.125 0.800 0.250 3.100 -2.725 -3.425
## [31] 14.525 9.925 4.025 7.700 -3.975 -0.450 3.600 -5.075 -1.675 -5.475
## [41] -5.875 -1.550 -2.875 1.400 -3.500 -6.400 -5.500 -1.875 -0.325 6.500
p <- exp(datapendukung)/(1+exp(datapendukung))
p
## [1] 0.1192029220 0.9981670611 0.6570104627 0.9999695684 0.9999992843
## [6] 0.0546813172 0.4439861095 0.9998375536 0.1611089496 0.1358728970
## [11] 0.9999998190 0.2994328575 0.9677045353 0.3429895373 0.0033348073
## [16] 0.9999963654 0.0124316509 0.0005811037 0.3953209153 0.9999984849
## [21] 0.9998734821 0.9324533089 0.8354835371 1.0000000000 0.8933094061
## [26] 0.6899744811 0.5621765009 0.9568927451 0.0615141817 0.0315232228
## [31] 0.9999995081 0.9999510665 0.9824500776 0.9995473778 0.0184331400
## [36] 0.3893607661 0.9734030064 0.0062122531 0.1577586870 0.0041727438
## [41] 0.0028009270 0.1750862682 0.0534033298 0.8021838886 0.0293122308
## [46] 0.0016588011 0.0040701377 0.1329642402 0.4194576952 0.9984988177
set.seed(2)
y <- rbinom(n,1,p)
y
## [1] 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0
## [39] 0 0 0 0 0 1 0 0 0 0 0 1
datagab <- data.frame(y,x1,x2,x3)
datagab
## y x1 x2 x3
## 1 0 1 0 1.72
## 2 1 3 1 1.88
## 3 1 1 0 2.78
## 4 1 4 1 2.04
## 5 1 5 1 2.06
## 6 0 0 0 2.86
## 7 0 1 1 2.23
## 8 1 4 1 1.37
## 9 0 1 1 1.66
## 10 0 1 0 1.78
## 11 1 5 1 2.61
## 12 0 1 0 2.18
## 13 1 2 1 2.20
## 14 0 1 1 2.06
## 15 0 0 0 1.72
## 16 1 4 1 2.89
## 17 0 0 0 2.25
## 18 0 0 0 1.02
## 19 0 1 0 2.35
## 20 1 5 1 1.76
## 21 1 4 1 1.47
## 22 1 2 1 1.89
## 23 0 2 1 1.49
## 24 1 9 1 1.64
## 25 1 2 1 1.69
## 26 1 2 1 1.16
## 27 1 1 1 2.42
## 28 1 2 1 2.08
## 29 1 1 0 1.43
## 30 0 0 0 2.63
## 31 1 5 1 2.21
## 32 1 4 1 1.85
## 33 1 2 1 2.45
## 34 1 3 1 2.44
## 35 0 0 0 2.41
## 36 1 1 0 2.34
## 37 1 2 1 2.28
## 38 0 0 0 1.97
## 39 0 1 0 1.85
## 40 0 0 0 1.81
## 41 0 0 0 1.65
## 42 0 1 0 1.90
## 43 0 1 0 1.37
## 44 1 1 0 3.08
## 45 0 0 0 2.60
## 46 0 0 0 1.44
## 47 0 0 0 1.80
## 48 0 1 0 1.77
## 49 0 1 0 2.39
## 50 1 3 1 1.96
modelreglog <- glm(y ~ x1 + x2 + x3, 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, family = binomial(link = "logit"),
## data = datagab)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -11.7102 4.4171 -2.651 0.00802 **
## x1 4.5389 1.7610 2.577 0.00995 **
## x2 -0.3316 1.4144 -0.234 0.81462
## x3 2.9164 1.4671 1.988 0.04683 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 69.315 on 49 degrees of freedom
## Residual deviance: 21.429 on 46 degrees of freedom
## AIC: 29.429
##
## Number of Fisher Scoring iterations: 8