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==