Tên: Mai Huy
MSSV: 43.01.104.065
Số thứ tự: 08
Câu a) Fit mô hình logistic regression
# Load thư viện ISLR
library(ISLR)
# set.seed dùng để tái tạo những vector random giống nhau theo tương ứng với giá trị được đưa vào hàm seed
set.seed(1)
# Fit mô hình logistic Regression để dự đoán default sử dụng 2 giá trị đầu vào là income và balance
fit.glm <- glm(default ~ income + balance, data = Default, family = "binomial")
# PHân tích các thông số mô hình trên
summary(fit.glm)
Call:
glm(formula = default ~ income + balance, family = "binomial",
data = Default)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.4725 -0.1444 -0.0574 -0.0211 3.7245
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.154e+01 4.348e-01 -26.545 < 2e-16 ***
income 2.081e-05 4.985e-06 4.174 2.99e-05 ***
balance 5.647e-03 2.274e-04 24.836 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2920.6 on 9999 degrees of freedom
Residual deviance: 1579.0 on 9997 degrees of freedom
AIC: 1585
Number of Fisher Scoring iterations: 8
Mô hình thống kê được sai số chuẩn cho các hệ số B0, B1, B2 lần lượt là 4.348e-01 , 4.985e-06, 2.274e-04
Câu b) Viết hàm tính các hệ số khi đưa vào số lượng quan sát cụ thể
# Tạo ra hàm để tính 2 hệ số B0 và B1 của mô hình logistic regression dự đoán giá trị đầu ra là default và đầu vào là income,balance với số lượng quan sát tương ứng với index được truyền vào
boot.fn <- function(data, index) {
fit <- glm(default ~ income + balance, data = data, family = "binomial", subset = index)
return (coef(fit))
}
Câu c) TÍnh sai số chuẩn bootstrap
# Load thư viện boot
library(boot)
# Sử dụng hàm boot() để tính toán sai số chuẩn của 1000 bootstrap cho 2 hệ số B0 và B1
boot(Default, boot.fn, 1000)
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = Default, statistic = boot.fn, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* -1.154047e+01 -3.945460e-02 4.344722e-01
t2* 2.080898e-05 1.680317e-07 4.866284e-06
t3* 5.647103e-03 1.855765e-05 2.298949e-04
Sai số chuẩn bootstrap cho các hệ số B0,B1,B2 lần lượt là : 4.344722e-01, 4.866284e-06, 2.298949e-04
Câu d) So sánh sai số chuẩn dùng bootstrap và dùng hàm summary(glm())
summary(glm(default~income + balance,data=Default,family = "binomial"))$coef
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.154047e+01 4.347564e-01 -26.544680 2.958355e-155
income 2.080898e-05 4.985167e-06 4.174178 2.990638e-05
balance 5.647103e-03 2.273731e-04 24.836280 3.638120e-136
Chúng ta thấy sai số chuẩn khi dùng bootstrap và dùng hàm summary() khác nhau đôi chút nhưng không đáng kể, nhưng theo lý thuyết thì dùng bootstrap sẽ cho kết quả chính xác vì không phải phụ thuộc vào các giả định toán học.
LS0tDQp0aXRsZTogIkLDoGkgdOG6rXAgMl8gVHXhuqduIDYiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCiMjIyBUw6puOiBNYWkgSHV5DQojIyMgTVNTVjogNDMuMDEuMTA0LjA2NQ0KIyMjIFPhu5EgdGjhu6kgdOG7sTogMDgNCg0KIyMgQ8OidSBhKSBGaXQgbcO0IGjDrG5oIGxvZ2lzdGljIHJlZ3Jlc3Npb24NCg0KYGBge3J9DQojIExvYWQgdGjGsCB2aeG7h24gSVNMUg0KbGlicmFyeShJU0xSKQ0KYGBgDQoNCmBgYHtyfQ0KIyBzZXQuc2VlZCBkw7luZyDEkeG7gyB0w6FpIHThuqFvIG5o4buvbmcgdmVjdG9yIHJhbmRvbSBnaeG7kW5nIG5oYXUgdGhlbyB0xrDGoW5nIOG7qW5nIHbhu5tpIGdpw6EgdHLhu4sgxJHGsOG7o2MgxJHGsGEgdsOgbyBow6BtIHNlZWQNCnNldC5zZWVkKDEpDQojIEZpdCBtw7QgaMOsbmggbG9naXN0aWMgUmVncmVzc2lvbiDEkeG7gyBk4buxIMSRb8OhbiBkZWZhdWx0IHPhu60gZOG7pW5nIDIgZ2nDoSB0cuG7iyDEkeG6p3UgdsOgbyBsw6AgaW5jb21lIHbDoCBiYWxhbmNlDQpmaXQuZ2xtIDwtIGdsbShkZWZhdWx0IH4gaW5jb21lICsgYmFsYW5jZSwgZGF0YSA9IERlZmF1bHQsIGZhbWlseSA9ICJiaW5vbWlhbCIpDQpgYGANCg0KYGBge3J9DQojIFBIw6JuIHTDrWNoIGPDoWMgdGjDtG5nIHPhu5EgbcO0IGjDrG5oIHRyw6puDQpzdW1tYXJ5KGZpdC5nbG0pDQpgYGANCg0KTcO0IGjDrG5oIHRo4buRbmcga8OqIMSRxrDhu6NjIHNhaSBz4buRIGNodeG6qW4gY2hvIGPDoWMgaOG7hyBz4buRIEIwLCBCMSwgQjIgbOG6p24gbMaw4bujdCBsw6AgNC4zNDhlLTAxICwgIDQuOTg1ZS0wNiwgMi4yNzRlLTA0DQoNCiMjIEPDonUgYikgVmnhur90IGjDoG0gdMOtbmggY8OhYyBo4buHIHPhu5Ega2hpIMSRxrBhIHbDoG8gc+G7kSBsxrDhu6NuZyBxdWFuIHPDoXQgY+G7pSB0aOG7gw0KDQpgYGB7cn0NCiMgVOG6oW8gcmEgaMOgbSDEkeG7gyB0w61uaCAyIGjhu4cgc+G7kSBCMCB2w6AgQjEgY+G7p2EgbcO0IGjDrG5oIGxvZ2lzdGljIHJlZ3Jlc3Npb24gZOG7sSDEkW/DoW4gZ2nDoSB0cuG7iyDEkeG6p3UgcmEgbMOgIGRlZmF1bHQgdsOgIMSR4bqndSB2w6BvIGzDoCBpbmNvbWUsYmFsYW5jZSB24bubaSBz4buRIGzGsOG7o25nIHF1YW4gc8OhdCB0xrDGoW5nIOG7qW5nIHbhu5tpIGluZGV4IMSRxrDhu6NjIHRydXnhu4FuIHbDoG8NCmJvb3QuZm4gPC0gZnVuY3Rpb24oZGF0YSwgaW5kZXgpIHsNCiAgICBmaXQgPC0gZ2xtKGRlZmF1bHQgfiBpbmNvbWUgKyBiYWxhbmNlLCBkYXRhID0gZGF0YSwgZmFtaWx5ID0gImJpbm9taWFsIiwgc3Vic2V0ID0gaW5kZXgpDQogICAgcmV0dXJuIChjb2VmKGZpdCkpDQp9DQpgYGANCg0KIyMgQ8OidSBjKSBUw41uaCBzYWkgc+G7kSBjaHXhuqluIGJvb3RzdHJhcA0KDQpgYGB7cn0NCiMgTG9hZCB0aMawIHZp4buHbiBib290DQpsaWJyYXJ5KGJvb3QpDQojIFPhu60gZOG7pW5nIGjDoG0gYm9vdCgpIMSR4buDIHTDrW5oIHRvw6FuIHNhaSBz4buRIGNodeG6qW4gY+G7p2EgMTAwMCBib290c3RyYXAgY2hvIDIgaOG7hyBz4buRIEIwIHbDoCBCMQ0KYm9vdChEZWZhdWx0LCBib290LmZuLCAxMDAwKQ0KDQpgYGANCg0KU2FpIHPhu5EgY2h14bqpbiBib290c3RyYXAgY2hvIGPDoWMgaOG7hyBz4buRIEIwLEIxLEIyIGzhuqduIGzGsOG7o3QgbMOgIDogNC4zNDQ3MjJlLTAxLCA0Ljg2NjI4NGUtMDYsIDIuMjk4OTQ5ZS0wNA0KDQojIyBDw6J1IGQpIFNvIHPDoW5oIHNhaSBz4buRIGNodeG6qW4gZMO5bmcgYm9vdHN0cmFwIHbDoCBkw7luZyBow6BtIHN1bW1hcnkoZ2xtKCkpIA0KDQpgYGB7cn0NCnN1bW1hcnkoZ2xtKGRlZmF1bHR+aW5jb21lICsgYmFsYW5jZSxkYXRhPURlZmF1bHQsZmFtaWx5ID0gImJpbm9taWFsIikpJGNvZWYNCmBgYA0KDQpDaMO6bmcgdGEgdGjhuqV5IHNhaSBz4buRIGNodeG6qW4ga2hpIGTDuW5nIGJvb3RzdHJhcCB2w6AgZMO5bmcgaMOgbSBzdW1tYXJ5KCkga2jDoWMgbmhhdSDEkcO0aSBjaMO6dCBuaMawbmcga2jDtG5nIMSRw6FuZyBr4buDLCBuaMawbmcgdGhlbyBsw70gdGh1eeG6v3QgdGjDrCBkw7luZyBib290c3RyYXAgc+G6vSBjaG8ga+G6v3QgcXXhuqMgY2jDrW5oIHjDoWMgdsOsIGtow7RuZyBwaOG6o2kgcGjhu6UgdGh14buZYyB2w6BvIGPDoWMgZ2nhuqMgxJHhu4tuaCB0b8OhbiBo4buNYy4NCg==