d <- read.csv("D:\\Downloads\\StudentsPerformance.csv", header = T)

1 Hồi quy Logit

d$test1 <- ifelse(d$test.preparation.course == "completed", 1, 0)
model_logit1 <- glm(test1 ~ math.score + reading.score + writing.score, family = binomial(link = "logit"), data = d)
summary(model_logit1)
## 
## Call:
## glm(formula = test1 ~ math.score + reading.score + writing.score, 
##     family = binomial(link = "logit"), data = d)
## 
## Coefficients:
##                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)   -3.287853   0.389727  -8.436  < 2e-16 ***
## math.score    -0.018375   0.008317  -2.209   0.0272 *  
## reading.score -0.093705   0.017583  -5.329 9.85e-08 ***
## writing.score  0.151217   0.017096   8.845  < 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: 1304.5  on 999  degrees of freedom
## Residual deviance: 1153.9  on 996  degrees of freedom
## AIC: 1161.9
## 
## Number of Fisher Scoring iterations: 4

Kết quả hồi quy Logit cho biến phụ thuộc là test preparation course và các biến độc lập là math score, reading score và writing score ta được kết quả:

  • Hệ số hồi quy math score là -0.018375 cho thấy khi điểm toán tăng thêm 1, log odds của việc hoàn thành khóa luyện thi giảm 0.018375, tương ứng với odds ≈ 0.982. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi trên học sinh chưa hoàn thành khóa luyện thi sẽ giảm 1.8% khi điểm toán tăng 1 điểm.

  • Hệ số hồi quy reading.score là -0.093705, cho thấy khi điểm đọc hiểu tăng thêm 1, log odds của việc hoàn thành khóa luyện thi giảm 0.093705, tương ứng với odds ≈ 0.911. Nói cách khác, xác suất giữa học sinh hoàn thành và chưa hoàn thành khóa luyện thi sẽ giảm khoảng 8.9% khi điểm đọc hiểu tăng thêm 1 điểm.

  • Hệ số hồi quy writing.score là 0.151217, cho thấy khi điểm viết tăng thêm 1, log odds của việc hoàn thành khóa luyện thi tăng 0.151217, tương ứng với odds ≈ 1.163. Nói cách khác, xác suất giữa học sinh hoàn thành và chưa hoàn thành khóa luyện thi sẽ tăng khoảng 16.3% khi điểm viết tăng thêm 1 điểm.

2 Hồi quy Probit

model_probit1 <- glm(
  test1 ~ math.score + reading.score + writing.score,
  family = binomial(link = "probit"),
  data = d
)

summary(model_probit1)
## 
## Call:
## glm(formula = test1 ~ math.score + reading.score + writing.score, 
##     family = binomial(link = "probit"), data = d)
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)    
## (Intercept)   -1.98014    0.22678  -8.732  < 2e-16 ***
## math.score    -0.01119    0.00498  -2.246   0.0247 *  
## reading.score -0.05685    0.01047  -5.431 5.59e-08 ***
## writing.score  0.09157    0.01002   9.138  < 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: 1304.5  on 999  degrees of freedom
## Residual deviance: 1153.1  on 996  degrees of freedom
## AIC: 1161.1
## 
## Number of Fisher Scoring iterations: 4

Kết quả hồi quy Probit cho biến phụ thuộc là test preparation course và các biến độc lập là math score, reading score và writing score ta được kết quả:

  • Hệ số hồi quy math score là -0.01119 cho thấy khi điểm toán tăng thêm 1, z-score của việc hoàn thành khóa luyện thi giảm 0.01119, tương ứng với p ≈ 0.4955. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi giảm khoảng 0.45% nếu điểm toán tăng 1 điểm.

  • Hệ số hồi quy reading score là -0.05685, cho thấy khi điểm đọc hiểu tăng thêm 1, z-score của việc hoàn thành khóa luyện thi giảm 0.05685, tương ứng với p ≈ 0.4773. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi giảm khoảng 2.27% nếu điểm đọc hiểu tăng 1 điểm.

  • Hệ số hồi quy writing score là 0.09157, cho thấy khi điểm viết tăng thêm 1, z-score của việc hoàn thành khóa luyện thi tăng 0.09157, tương ứng với p ≈ 0.5365. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi tăng khoảng 3.65% nếu điểm viết tăng 1 điểm.

3 Hồi quy cloglog

model_cloglog <- glm(
  test1 ~ math.score + reading.score + writing.score,
  family = binomial(link = "cloglog"),
  data = d
)
summary(model_cloglog)
## 
## Call:
## glm(formula = test1 ~ math.score + reading.score + writing.score, 
##     family = binomial(link = "cloglog"), data = d)
## 
## Coefficients:
##                Estimate Std. Error z value Pr(>|z|)    
## (Intercept)   -2.893526   0.304029  -9.517  < 2e-16 ***
## math.score    -0.015497   0.006441  -2.406   0.0161 *  
## reading.score -0.070424   0.013195  -5.337 9.44e-08 ***
## writing.score  0.115365   0.012611   9.148  < 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: 1304.5  on 999  degrees of freedom
## Residual deviance: 1156.5  on 996  degrees of freedom
## AIC: 1164.5
## 
## Number of Fisher Scoring iterations: 5

Kết quả hồi quy Cloglog cho biến phụ thuộc là test preparation course và các biến độc lập là math score, reading score và writing score ta được kết quả:

  • Hệ số hồi quy math score là -0.01550, cho thấy khi điểm toán tăng thêm 1, giá trị log(-log(1-p)) giảm 0.01550, tương ứng với p ≈ 0.62. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi giảm khoảng 0.63% nếu điểm toán tăng 1 điểm.

  • Hệ số hồi quy reading score là -0.070424, cho thấy khi điểm đọc hiểu tăng thêm 1, giá trị log(-log(1-p)) giảm -0.070424, tương ứng với p ≈ 0.61. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi giảm khoảng 0.61% nếu điểm đọc hiểu tăng 1 điểm.

  • Hệ số hồi quy writing score là 0.115365, cho thấy khi điểm viết tăng thêm 1, giá trị log(-log(1-p)) tăng 0.115365, tương ứng với p ≈ 0.63. Nói cách khác, xác suất học sinh hoàn thành khóa luyện thi tăng khoảng 0.63% nếu điểm viết tăng 1 điểm.