Để mô hình hóa các bài toán như thế, ta cầi một mô hình có thể có nhiề¡i biến độc lập, và hồ quy tuyến tính bội là một trong những mô hình đơn giản và nền tảng nhất có thể đáp ứng được y
Trang 1TRUONG DAI HOC BACH KHOA KHOA KHOA HOC UNG DUNG
Nguyễn Quốc Dũng - 2011026
Tp HChí Minh, Tháng 11/2021
Trang 21.1 Cơ sở lý thuyết mô hình hổ quy tuyến tính bội
1.1.1 Phương trình hồ quy tuyến tính bội
1.1.2 Xác định giá trị của các tham số trong mô hình hú 8 quy y tuyến tính bội
1.13 Kiểm định giả thiết thong kê trong mô hình hỗ quy tuyến tính bội 1.2 Nội dung báo cáo
1217 Đềbài Q Q Q Q Q Quy v.v v v v v.v Ta 12.2 Đọc dữ liệu
1.2.3 Làm sạch dữ liệu (Daa cleaning) 1.2.4 Lam ré dé liéu (Data visualization) 1.2.5 Xay dwng cdc m6 hinh h@ quy tuyéh tinh (Fitting linear regression 1 models) 1.2.6 Dw bdo (Predictions)
Trang 3BK “
c2 Khoa Khoa Học Ưng Dụng
I ˆ Phân chung
1.1 Cœ sở lý thuyết mô hình hl quy tuyến tính bội
Trong doi sống và trong kỹ thuật, việc một yếu tố phụ thuộc vào nhiâi yếu tố khác diễn ra khá thưởng xuyên Để mô hình hóa các bài toán như thế, ta cầi một mô hình có thể có nhiề¡i biến độc lập, và hồ
quy tuyến tính bội là một trong những mô hình đơn giản và nền tảng nhất có thể đáp ứng được yêu cẦi
đó
1.11 Phương trình hồ quy tuyến tính bội
Tổng quát, biến phụ thuộc Y có thể có liên hệ đến k biến không phụ thuộc khác (biến hồ quy) Khi
đó, mô hình
Y = Bo + Bixi + Boxe + +kXk+€ qd)
được gọi là mô hình hồ quy tuyến tính bội với k biến hồ quy ,
Khi đó, phương trình l vạch ra trong không gian k+l chiồI một siêu mat phang (hyperplane) Trong phương trình 1,
s Tham số Bọ được gọi là intercept của mặt phẳng, nghĩa là fo là giá trị của Y khi xị =Xạ= =
Xk =0
s« Các tham số ÿ¡.ÿạ cũng được gọi là hệ số hồ quy riêng, bởi vì, ¡ thể hiện sự thay đổi của Y
theo mỗi đơn vị của xị khi các biến còn lại được giữ nguyên, j; thể hiện sự thay đổi của Y theo mỗi đơn vị của xạ khi các biến còn lại được giữ nguyên, v.v
*« clà phần sai lệch giữa giá trị Y trong phương trình và giá trị thực tế của Y Thực chất, mô hình
này thưởng chỉ dự đoán tốt kỳ vọng của Y, chứ không phải giá trị thực tế của Y, hay nói cách khác E(Y lxị theo các i)=Bo + ¡Xi +2X¿ + +ÍÄXx, còn c là một biến ngẫu nhiên có kỳ vọng là 0
và phương sai ơẺ
Mô hình hồ quy tuyến tính bội cũng thưởng được dùng để xấp xỉ giá trị của hàm số Nghĩa là, mối quan hệ chính xác giữa các biến Y va xị, xạ X4 là chưa biết, nhưng trên những khoảng xác định của
các biến độc lập (biến hồ quy), giá trị của mô hình hồ quy tuyến tính là phù hợp
112 Xác định giá trị của các tham số trong mô hình hồ quy tuyến tính bội
Có nhiềiI cách để xác định giá trị của các tham số, tuy nhiên, trong đó, phương pháp bình phương
cực tiểu là thường được sử dụng nhất
Phương pháp bình phương cực tiểu thưởng được sử dụng để ước tính hệ số hì quy của mô hình h'ã
quy tuyến tính bội
Giả sử, có ndquan sát, và k biến hỗ quy thỏa n > k, và đặt xụ là quan sát thứ ¡ Số quan sát là:
Mỗi quan sát (xị, Xị¿ Xị vị) thỏa mãn mô hình phương trình 1, nghĩa là:
yi = Bo +BiXa + aX¿ + +kXk +
k
=o+ xX By xij +g i=1,2, ,n
jel Công thức bình phương cực tiểu là:
2
n nq k H
E1 ir YET POT j¡ fjxụ H Chúng ta đang muốn giảm giá trị L này theo các tham số ÿọ Bi, ., Bx Do d6, Bo Bi, ., ñy cần thỏa mãn:
aL "QO kg 2B Ba: =-2 X Qy,— Po- X H=o @)
J niẾt na Br i=l jel B¡Xj
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 2/20
Trang 4Box xit Bix Xi t Bex XiXe+ + Be X XiXk= X Xu
n n n n
Box Xik + Bix XkXi+ 2X XwXa+ + Bex ÄXy =X XiỒi
Chú ý rằng có p=k+l phương trình với k+l ẩn số Vậy giải hệ phương trình tuyến tính này, ta sẽ thu được giá trị ctaBo Br, .,Px-
113 Kiểm định giả thiết thống kê trong mô hình hồ quy tuyến tính bội
Bài kiểm định cho ý nghĩa của h quy là một bài kiểm định nhằm xác định xem có hay không một mối quan hệ tuyến tính tồn tại giữa biến Y và một nhóm các biến hồ quy xị, x¿ Khi đó giả thiết
thống kê hợp lí là:
Ho : Bo = By = Bo = — Bx =0 Hị : B; [=0 với ít nhất một J (5)
Bác bỏ Họ đồng nghĩa với việc ta chấp nhận có ít nhất một trong các biến hồ quy xị, xạ có ảnh
hưởng đáng kể đến mô hình Tổng bình phương SSr được chia thành hai phần, g ồn tổng bình phương
do mô hình và tổng bình phương do chênh lệch, nghĩa là:
5T = SSp + SSp (6)
Nếu Họ đúng, SSg/Ø” là một biến ngẫu nhiên tuân theo phân phối Chỉ bình phương (Chi-square)
với k bậc tự do, bằng với số lượng biến h quy trong mô hình Chúng ta cũng có thể chỉ ra rằng SSg/07
là một biến ngẫu nhiên tuân theo phân phối Chi bình phương với n—p bậc tự do, và SSg và S%ạ là độc lập Kiểm định thống kê cho Họ là:
chỉnh thưởng được sử dụng trong thực tế hơn, do nó chỉ tăng khi thật sự số lượng dự đoán được cải thiện Giá trị này được tính như sau:
R2 —— _ SSp/(n - p) hiệu chỉnh _ˆ 5T /n— 1) @
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 3/20
Trang 5BK “
c2 Khoa Khoa Học Ưng Dụng
12 Ndi dung bdo cdo
12.1 Đề bài
1.2.2 Đọc dữ liệu
Để nhập dữ liệu từ file csv vào biến data, ta sử dụng lệnh:
data <- read.csv("C://Users//phatn//OneDrive//Documents//Statistics 203//diem_so.csv")
Trên day, C://Users//phatn//OneDrive//Documents//Statistics 203//diem_so.csv là đường
dan đến tập tin dữ liệu gốc, có thể khác nhau trên mỗi hệ thống
Sau khi thực thi lệnh trên, ta thu được biến data chứa những dữ liệu sau:
travetime studwime failures schsolsu íamwup pad activities’ «nur
Hình 1: Biến data (26 trên tổng số 395 dòng)
123 Làm sạch dữ liệu (Data cleaning)
(a) Hãy trích ra một dữ liệu con, đặt tên la new_DF chỉ bao gần các biến chính mà ta quan tâm như
đã trình bày trong phần giới thiệu dữ liệu Từ câu hỏi này về sau, mọi yêu cầai xử lý đồầi dựa trên tập dữ liệu con new_DE này
new_DF <- data[, c(GI", "G2", "G3", "studytime", "failures", "absences",
Trang 6Hình 2: Dữ liệu trong biến new_DEF (10 trên tổng số 395 dòng)
(b) Kiểm tra các dữ liệu bị khuyết trong tập tin Nếu có dữ liệu bị khuyết, hãy đề xuất phương pháp thay thế cho những dự liệu bị khuyết này
new_DFS"G2"[which(s.na(new_DF$"G2"))] <- 0
Trong tập dữ liệu, ta nhận thấy biến G2 có những ô dữ liệu bị khuyết Ta sẽ thay các giá trị khuyết
na đó bằng 0 Sau khi thực thi dòng lệnh trên, biến new_DE hiện tại mang giá trị như sau:
Hình 3: Biến new_DE sau khi đã điền vào các ô dữ liệu bị khuyết (10 trên tổng số 395 dòng)
1.2.4 Làm rõ dữ liéu (Data visualization)
(a) Đối với các biến liên tục, hãy tính các giá trị thống kê mô tả bao gần: trung bình, trung vị, độ lệch
chuẩn, giá trị lớn nhất và giá trị nhỏ nhất Xuất kết quả dưới dạng bảng
1 mean <- lapply(new_DF[, c("G1", "G2", "G3", "studytime”, "failures", "absences",
3 mean <- lapply(mean, round, 2)
4 median <- lapply(new_DF[, c("G1", "G2", "G3", "studytime”, “failures”,
5 "absences", "age")], median)
6 stddev <- lapply(new_DF[, c(GI", "G2", "G3", "studytime"”, "failures",
7 "absences", "age")], sd)
s stddev <- lapply(stddev, round, 2)
s min <- lapply(new_DF[, c("GI", "G2", "G3", "studytime”, "failures", "absences",
Trang 7g
.` Khoa Khoa Học Ứng Dụng
Trưởng Đại Học Bách Khoa - ĐHQG TPHCM
Trong biến new_ DF, các thuộc tính liên tục bao gần G1, G2, G3, studytime, failures, absences
và age Để tính nhanh chóng các giá trị thống kê, ta dùng lệnh lapplyQ với tham số đầi tiên là
dữ liệu vào, và tham số thứ hai là hàm cần tính Trong các dòng lệnh bên trên, new_DF[, c(G1",
"G2", "G3", "studytime”, "failures", "absences", "age")] nghia la chi lấy các thuộc tính
G1, G2, G3, studytime, failures, absences va age tu bién new_DF
Đối với các biến mean, stddev, ta sử dụng thêm lệnh lapplyQ một Lần nữa với hàm tham gia là roundQ để làm tròn kết quả đến hàng phần trăm, để kết quả hiển thị sẽ dễ theo dõi hơn
Để xuất kết quả dưới dạng bảng, ta có thể sử dụng lệnh cbindQ với danh sách tham số bao gìn các biến ta mong muốn hiển thị dưới dạng bảng Kết quả thu được như sau:
histnew_DF\$G3,
xlab = "Diem", ylab = "Số lượng”, main = "Đồ thị phân phối biến G3", coL = "navyyblue",
breaks = 20) Hàm histQ nhận vào tham số bất buộc là dữ liệu cho biểu đồ trong câu hỏi này là new_DE$G3,
và các tham số tùy chọn bao gần xlab dé dat tên cho trục hoành, ylab để đặt tên cho trục tung,
main để đặt tên cho biểu đồ và breaks để chỉ ra số lượng khoảng chia mà ta mong muốn
Lệnh vẽ trên sau khi thực thi sẽ cho ra kết quả như sau:
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 6/20
Trang 8BK 2
c2 Khoa Khoa Học Ưng Dụng
Đồ thị phân phối biến G3
Hình 4: D% thi phân phối biến G3
(đ) Hãy dùng hàm boxplot) để vẽ phân phối của biến G3 cho từng nhóm phân loại của biến studytime,
failures va bién higher
1 boxplot(new_DF$G3 ~ new_DF$studytime, as.data.frame(new_DF$G3),
2 xlab = "Thởi gian tự hoc",
3 ylab = "Mitc điển tổng kết",
4 main = "Mức điển tổng kết tương ứng với thơi gian tự học”,
s col = "navyyblue")
7 boxplot(new_DF$G3 ~ new_DF$failures, as.data.frame(new_DF$G3),
8 xlab = "SO [% thí trượt,
9 ylab = "Mitc điển tổng kết",
10 main = "Mức điển tổng kết ứng với số lần thí trượt,
Tương tự như hàm hist(), hàm boxplotQ cũng nhận vào một danh sách tham số để biểu diễn biểu
đồ chỉ khác ở chỗ tham số đầi tiên, thay vì nhận vào một biến dữ liệu thì hàm boxplotQ nhận vào một công thức, và tham số thứ hai mới là dữ liệu
Kết quả nhận được như sau:
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 7/20
Trang 9Thời gian tự hoc
Hình 5: Biểu đồ biểu diễn phân phối của biến G3 the nhóm phân loại của biến studyime
Mức điểm tông kết ứng với số lần thi trượt
(e) Dùng lệnh pairs() để vẽ các phân phối của biến G3 Lần lượt theo các biến G2,GI,age và absences
pairsnew_DF$G3 ~ new_DF$G2 + new_DF$G1 + new_DF$age + new_DF\S$absences,
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 8/20
Trang 10Khoa Khoa Học Ưng Dụng
® ong S5 A sg2e, sấy cÊgcgÊe su | tÍ + &
elit + daliliices | slit LTS L
Trang 11BK “
c2 Khoa Khoa Học Ưng Dụng
125 Xây dựng các mô hình hồ quy tuyến tinh (Fitting linear regression models)
Chúng ta muốn khám phá rằng có những nhân tố nào và tác động như thế nào đến điểm cuổi khóa
môn Toán của các em học sinh
(a) Xét mô hình h quy tuyến tính bao gần biến G3 là một biến phụ thuộc, và tất cả các biến còn lại
đầ› là biến độc lập Hãy dùng lệnh Im(Q) để thực thí mô hình hồ quy tuyến tính bội
M1 <- Im(formula = new_DF\$G3 ~ , data = new_DF)
(b) Dựa vào kết quả của mô hình h quy tuyến tính trên, những biến nào bạn sẽ loại khỏi mô hình tương ứng với các mức tin cậy 5%và 1%?
Thực thi lệnh summary(MI), ta thu được bảng sau:
Estimate Std Error t value Pr(-lt) (Intercept) 3.01238 1.70724 1.764 0.07844
Gl 0.45251 0.05805 7.795 6.02e-14 ***
G2 0.66308 0.04870 13.617 < 2e-16 ***
studytime -0.17164 012627 -1.260 0.20860 failures -0.29251 0.16917 -1.729 0.08458 absences 0.04212 0.01409 2.990 0.00297 **
higheryes 0.21729 0.54128 0.401 0.68833 age -0.27252 0.09230 -2.953 0.00334 **
Signif codes: 0 ****? 0.001 ‘** 0.01 ** 0.05 “2 OL * 7? 1 Residual standard error: 2.198 on 387 degrees of freedom Multiple R-squared: 0.7739, Adjusted R-squared: 0.7698 F-statistic: 189.2 on 7 and 387 DF, p-value: < 2.2e-l6
Nhân xét: Giá trị Pr@ltl) hay p-value là ngưỡng mà một biến hồ quy có bác bỏ giả thiết Hạ hay không Chắn hạn, trong bảng giá trị trên, giá trị Pr(@lt) của biến G1 là 6.02x 10!< 5%, nên
nó bác bỏ giả thiết Họ, chấp nhận Hị và do đó biến này có ý nghĩa trong mô hình Dựa trên lập luận này, ta có thể loại bỏ biến studytime, failures, higher ở mức ý nghĩa 5% Ta không thể loại thêm biến nào ra khỏi mô hình ở mức ý nghĩa 1%
(c) Xét 3 mô hình tuyến tính cùng bao gần biến G3 là biến phụ thuộc nhưng:
* Mô hình MI chứa tất cả các biến còn lại là biến độc lập;
* Mô hình M2 loại bỏ biến higher từ MI;
« Mô hình M3 loại bỏ biến failures từ M2
Hãy dùng lệnh anovaQ để đề xuất mô hình hồ quy hợp lí hơn
1 M1 <- Im(formula = new_DF$G3 ~ , data = new_DF)
2 M2 < Im(new_DF$G3 ~ - higher, new_DF)
sa M3 <- Im(new_DF$G3 ~ - higher - failures, new_DF)
Trang 12BK “
c2 Khoa Khoa Học Ưng Dụng
Analysis of Variance Table
Model 1: new_DF$G3 ~ Gl + G2 + studytime + failures + absences + higher +
age
Model 2: new_DF$G3 ~ (G1 + G2 + studytime + failures + absences + higher +
age) - higher Model 3: new_DF\$G3 ~ (G1 + G2 + studytime + failures + absences + higher +
age) - higher - failures Res.Df RSS Df Sum of Sq F Pr(F)
1 387 1870.1
2 388 1870.8 -1 -0.7787 0.1611 0.68833
3 389 1887.4 -1 -16.5362 3.4221 0.06509 Signif codes: 0 ‘*** 0001 ‘**? O.OL **? 0.05 *” OL * 7? 1
Từ đó, ta thấy mô hình M3 là hợp lí nhất
(d) Từ mô hình hồ quy hợp lý nhất từ câu (c) hãy suy luận sự tác động của các biến đến điểm thi cuối
Thực thi lệnh summary(M3), ta thu được bảng sau:
Estimate Std Error t value Pr(-lt) (Intercept) 3.52630 155753 2.264 0.024122 *
Gl 0.47098 0.05734 8.214 3.2le-15 ***
G2 0.66792 0.04873 13707 < 2e-16 ***
studytime -0.13169 0.13422 -0.981 0.327103 absences 0.04185 0.01411 2.965 0.003214 **
age -0.31671 0.08900 -3.558 0.000419 ***
Signif codes: 0 ****? 0.001 ‘** 0.01 ** 0.05 “2 OL * 7? 1 Residual standard error: 2.203 on 389 degrees of freedom Multiple R-squared: 0.7718, Adjusted R-squared: 0.7688 F-statistic: 263.1 on 5 and 389 DF, p-value: < 2.2e-l6
Từ đó, ta thấy điểm hoc ki I, điểm học kì II có tác động lớn và tích cực đến điểm cuối khóa, trong
khi độ tuổi có xu hướng làm giảm điểm tổng kết lại Sự vắng mặt của các bạn có ảnh hưởng đến điểm tổng kết, nhưng nhìn chung không mang tính chất quyết định như điểm thi học kì I và học kì
II
(e) Từ mô hình hỗ quy hợp lý nhất tử câu (c) hãy dùng lệnh plotQ để vẽ đồ thị biểu thị sai so hG@ quy
và giá trị dự báo Nêu ý nghĩa và nhận xét
Thực hiện lệnh plot(M3), ta thu được đồ thị như trong hình 9
Nhìn chung, các giá trị sai lệch đềồầi phân bố xung quanh 0, nên mô hình này là chấp nhận được vì
nó phù hợp với đặc trưng của c (biến ngẫu nhiên có kì vọng # =0 và phương sai Ø7), và sai số dự
đoán sẽ nằm trong khoảng 3 đơn vị, do đa số các điểm dữ liệu đầềi có sai số vào khoảng này
Báo cáo bài tập lớn môn Xác suất thống kê (MT2013) - Niên khóa 2021-2022 Trang 11/20