Báo cáo bài tập lớn xác xuất thống kê có code lập trình Rstudio có phần chung và phần riêng (Giới thiệu Mô hình Hồi quy tuyến tính mô hình hồi quy tuyến tính bội) trường Đại học Bách Khoa TP.HCM (HCMUT) GVHD: thầy Hoàng Văn Hà
Trang 2MỤC LỤC
TÓM TẮT CÂU HỎI 3
CƠ SỞ LÝ THUYẾT 4
Hồi quy 4
1 Giới thiệu mô hình hồi quy tuyến tính bội 4
2 Ước lượng các tham số của mô hình hồi quy tuyến tính bội 5
I PHẦN CHUNG 13
1 Đọc dữ liệu (Import Data) 13
2 Làm sạch dữ liệu (Data cleaning) 13
3 Làm rõ dữ liệu (Data visualization) 17
4 Xây dựng các mô hình hồi quy tuyến tính (Fitting linear regression models) 22
5 Dự đoán (Prediction) 29
II PHẦN RIÊNG 32
1 Đọc dữ liệu (Import data) 32
2 Làm sạch dữ liệu (Data cleaning) 33
3 Làm rõ dữ liệu (Data visualization) 33
4 Xây dựng mô hình hồi quy tuyến tính (Fitting linear regression models) 39
5 Dự báo (Prediction) 41
TÀI LIỆU THAM KHẢO 42
Trang 3TÓM TẮT CÂU HỎI
I Phần chung:
Đề tài: Tập tin "diem_so.csv" chứa thông tin về điểm toán của các em học sinh trunghọc thuộc hai trường học ở Bồ Đào Nha Các thuộc tính dữ liệu bao gồm điểm họcsinh, nơi cư trú, và một số hoạt động xã hội khác Dữ liệu được thu thập bằng cách sửdụng báo cáo của các trường và các kết quả khảo sát sinh viên Dữ liệu gốc được cungcấp tại:
https://archive.ics.uci.edu/ml/datasets/student+performance
1.Đọc dữ liệu (Import Data)
2.Làm sạch dữ liệu (Data Cleaning)
3.Làm rõ dữ liệu (Data visualization):
4.Xây dựng các mô hình hồi quy tuyến tính (Fitting linear regression models):
5.Dự đoán (Prediction):
II Phần riêng:
Sinh viên tự tìm một bộ dữ liệu thuộc về chuyên ngành của mình Khuyến khích sinh viên
sử dụng dữ liệu thực tế sẵn có từ các thí nghiệm, khảo sát, dự án trong chuyên ngành củamình Ngoài ra sinh viên có thể tự tìm kiếm dữ liệu từ những nguồn khác hoặc tham khảo trong kho dữ liệu cung cấp trong tập tin “kho_du_lieu_BTL_xstk.xlsx”
Sinh viên được tự do chọn phương pháp lý thuyết phù hợp để áp dụng phân tích dữ liệu của mình, nhưng phải đảm bảo 2 phần: làm rõ dữ liệu (data visualization) và mô hình dữ liệu (model fitting) Trong ngành xây dựng hiện nay, trong các công trình xây dựng thì bê tông đóng vai trò quan trọng trong việc cấu thành một công trình, để có được loại bê tông tốt thì bê tông đó cần có những thành phần cấu tạo nên nó để đạt được sức nén chịu lực tối
ưu nhất Vì vậy các nhà nghiên cứu đã tiến hành thực nghiệm về thành phần cấu tạo nên bêtông để có sức nén tối ưu Nhóm đã sử dụng phần thực nghiệm
Concrete_Data.xls trong kho dữ liệu XSTK
Các biến chính trong bộ dữ liệu:
• Cement: Xi măng (Kg trong hỗn hợp 1m3)
• BF: Xỉ lò cao – Blast Furnsce Slag (Kg trong hỗn hợp 1m3)
• WT: Nước – Water (Kg trong hỗn hợp 1m3)
• Super: Phụ gia siêu dẻo – Superplasticizer (Kg trong hỗn hợp 1m3)
• CA: Cốt liệu thô – Coarse Aggregate (Kg trong hỗn hợp 1m3)
• FA.1: Cốt liệu mịn – Fine Aggregate (Kg trong hỗn hợp 1m3)
• Age: Tuổi – Age (ngày)
• CCS: Cường độ nén bê tông – Concrete Compressive Strength (MPa)
Trang 4CƠ SỞ LÝ THUYẾT Hồi quy
Hồi quy chính là một phương pháp thống kê để thiết lập mối quan hệ giữa một biếnphụ thuộc và một nhóm tập hợp các biến độc lập Mô hình với một biến phụ thuộc với haihoặc nhiều biến độc lập được gọi là hồi quy bội (hay còn gọi là hồi quy đa biến)
Ví dụ: Chi tiêu của hộ gia đình về thực phẩm phụ thuộc vào quy mô hộ gia đình, thunhập, vị trí địa lý,…; Tỷ lệ tử vong trẻ em của một quốc gia phụ thuộc vào thu nhập bìnhquân đầu người, trình độ giáo dục,…; Lương của một người phụ thuộc vào chức vụ, kinhnghiệm, độ tuổi,…
1 Giới thiệu mô hình hồi quy tuyến tính bội
Mô hình hồi quy tuyến tính bội có dạng tổng quát như sau:
Y = β1 + β2X2 + β3X3 + … + βkXk + u Trong đó: + Y: biến phụ thuộc
+ Xi: biến độc lập + β1: hệ số tự do (hệ số chặn) + βi: hệ số hồi quy riêng
trong mô hình không đổi Cụ thể hơn, nếu các biến khác trong mô hình không đổi, giá trị
kỳ vọng của Y sẽ tăng βi đơn vị nếu Xi tăng 1 đơn vị u: sai số ngẫu nhiên
Như vậy, "Hồi quy tuyến tính" là một phương pháp để dự đoán giá trị biến phụ thuộc(Y) dựa trên giá trị của biến độc lập (X) Thuật ngữ tuyến tính dùng để chỉ rằng bản chất
các trường hợp chúng ta muốn dự đoán một số lượng liên tục
Trang 5Ví dụ: dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số người đã truycập vào một website nào đó v.v Bằng dữ liệu thu thập được, ta đi ước lượng hàm hồiquy của tổng thể, đó là ước lượng các tham số của tổng thể: β1, β2,…, βk
2 Ước lượng các tham số của mô hình hồi quy tuyến tính bội
2.1 Hàm hồi quy tổng thể (PRF – Population Regression Function)
phân phối xác suất nào đó
Suy ra: Tồn tại E(Y|X2, X3,…, Xk) = giá trị xác định
2.2 Hàm hồi quy mẫu (SRF – Sample Regression Function)
Do không biết tổng thể, nên chúng ta không biết giá trị trung bình tổng thể của biếnphụ thuộc là đúng ở mức độ nào Do vậy chúng ta phải dựa vào dữ liệu mẫu để ước
thể mẫu Yi ≠ F̂(X2,i, X3,i,…, Xk,i) sinh ra ei = Yi – F̂ (X2, X3,…, Xk); ei gọi là phần dư SRF
Ta có hàm hồi quy mẫu tổng quát được viết dưới dạng như sau:
ŷi = β̂1 + β̂2x2,i + β̂3x3,i + … + β̂kxk,iPhần dư sinh ra: ei = yi – ŷi
Trang 6Ký hiệu: β̂m là ước lượng của βm Chúng ta trông đợi β̂m là ước lượng không chệch
Ước lượng SRF: chọn một phương pháp nào đó để ước lượng các tham số của F quaviệc tìm các tham số của F̂ và lấy giá trị quan sát của các tham số này làm giá trị xấp xỉcho tham số của F
2.3 Phương pháp bình phương nhỏ nhất (Ordinary Least Squares)
Phương pháp bình phương nhỏ nhất được đưa ra bởi nhà Toán học Đức CarlFriedrich Gauss Tư tưởng của phương pháp này là cực tiểu tổng bình phương của cácphần dư Do đó có thể nói để có được hồi quy thích hợp nhất, chúng ta chọn các ướclượng có tung độ gốc và độ dốc sao cho phần dư là nhỏ
2.3.1 Các giả thiết của phương pháp bình phương nhỏ nhất cho mô hình hồi quy tuyến tính
bội
Phương pháp bình phương nhỏ nhất (OLS) là phương pháp rất đáng tin cậy trongviệc ước lượng các tham số của mô hình, tuy nhiên mô hình ước lượng phải thỏa mãn 7giả thiết Khi thỏa mãn các giả thiết, ước lượng bình phương nhỏ nhất (OLS) là ướclượng tuyến tính không chệch có hiệu quả nhất trong các ước lượng Vì thế phương phápOLS đưa ra ước lượng không chệch tuyến tính tốt nhất (BLUE)
Kết quả này được gọi là Định lý Gauss – Markov, theo lý thuyết này ước lượngOLS là BLUE, nghĩa là trong tất cả các tổ hợp tuyến tính không chệch của Y, ước lượngOLS có phương sai bé nhất Các giả thiết như sau:
1) Hàm hồi quy là tuyến tính theo các hệ số
Điều này có nghĩa là quá trình thực hành hồi quy trên thực tế được miêu tả bởimối quan hệ dưới dạng:
y = β1 + β2x2 + β3x3 + β4x4 + … + βkxk + u hoặc mối quan hệ thực tế có thể được viết lại ví dụ như dưới dạng lấy loga cả hai vế
Trang 72) E(u i ) = 0 : Kỳ vọng của các yếu tố ngẫu nhiên u i bằng 0
Trung bình tổng thể sai số là bằng 0 Điều này có nghĩa là có một số giá trị sai sốmang dấu dương và một số sai số mang dấu âm Do hàm xem như là đường trungbình nên có thể giả định rằng các sai số ngẫu nhiên trên sẽ bị loại trừ nhau, ở mứctrung bình, trong tổng thể
3) Var(u i ) = σ 2 : Phương sai bằng nhau và thuần nhất với mọi u i
Var(ui) = E(ui2) = σ2
4) u i phân phối chuẩn
Điều này rất quan trọng khi phát sinh khoảng tin cậy và thực hiện kiểm định giảthuyết trong những phạm vi mẫu là nhỏ Nhưng phạm vi mẫu lớn hơn, điều này trởnên không mấy quan trọng
5) Giữa các u i thì độc lập với nhau
2.3.2 Ước lượng
ŷi ký hiệu giá trị của hàm hồi quy mẫu
ei ký hiệu phần dư yi – ŷi
Trang 8Hình 1 Đồ thị hồi quy tuyến tính
Do đó cực tiểu hóa Σ(yi – ŷi)2 sẽ tương đương với cực tiểu Σei2 từ đó tìm ra β̂0, β̂1,…,β̂k
Hệ phương trình mà chúng ta có được gọi là hệ phương trình chuẩn của hồi quy
2.4 Độ phù hợp của mô hình
Trang 9Để có thể biết mô hình giải thích được như thế nào hay bao nhiêu % biến động của
(ŷi – ӯ))]2= Σei2 + 2Σei(ŷi – ӯ)) + Σ(ŷi – ӯ))2Đặt:
Do Σei(ŷi – ӯ)) = 0 ⇐ (Σeiŷi = 0; Σeiӯ) = 0)
Ta có thể viết: TSS = ESS + RSS
Ý nghĩa của các thành phần:
giá trị trung bình
thuộc Y nhận được từ hàm hồi quy mẫu và giá trị trung bình của chúng Phần này đo độchính xác của hàm hồi quy
các giá trị nhận được từ hàm hồi quy
Từ TTS = ESS + RSS, ta chia cả hai vế cho TSS, ta có:
1 = ESS + RSS = Σ(ŷ i – ӯ)) 2 2 +
Σe2i 2 TSS TSS Σ(y i - y̅) Σ(y i - y̅)
2
Trang 10R2 = ESSTSS =1 - RSSTSS = (Σ((Σy( i -yy̅ i )- 2 y̅))((Σy( i -y y̅ i ̂-) y̅̂)) 2 )
Tỷ số giữa tổng biến thiên được giải thích bởi mô hình cho tổng bình phương cầnđược giải thích được gọi là hệ số xác định, hay là trị thống kê “good of fit” Từ định nghĩa
0 ≤ R2 ≤ 1
động của biến phụ thuộc
biến phụ thuộc y
Trong mô hình hồi quy đa biến tỷ lệ của toàn bộ sự khác biệt của biến y do tất cả cácbiến x2 và x3 gây ra được gọi là hệ số xác định bội, ký hiệu là R2
R2 =β̂ 2 Σ(y i - y̅)(x 2i - x̅ 2 )+β̂ 3 Σ 2 (y i - y̅)(x 3i - x̅ 3 ) = 1- Σe2i 2
Σ(y i - y̅) Σ(y i - y̅)
2.5 Khoảng tin cậy và kiểm định các hệ số hồi quy
2.5.1 Ước lượng khoảng tin cậy đối với các hệ số hồi quy
chuẩn:
Trang 11β̂j ~ N(βj, Se(β̂j))
β̂j -βj
~ T(n − k) Se(β̂j)
Ước lượng phương sai sai số dựa vào các phần dư bình phương tối thiểu Trong đó
k là số hệ số có trong phương trình hồi quy đa biến:
Kiểm định ý nghĩa thống kê của các hệ số hồi quy có ý nghĩa hay không: kiểm địnhrằng biến giải thích có thực sự ảnh hưởng đến biến phụ thuộc hay không Nói cách khác là
hệ số hồi quy có ý nghĩa thống kê hay không
Có thể đưa ra giả thiết nào đó đối với βj, chẳng hạn βj = βj* Nếu giả thiết này đúng thì:
T = β̂Se j -(ββ̂ jj ) ~ T(n − k)
Ta có bảng sau:
Trang 12Kiểm định βj:
H0: βj = 0 ⇔ xj không tác động
H1: βj ≠ 0 ⇔ xj có tác động βj < 0 ⇔ xj có tác động ngược βj > 0 ⇔ xj cótác động thuận
2.5.3 Kiểm định ý nghĩa của mô hình
Trong mô hình hồi quy đa biến, giả thuyết “không” cho rằng mô hình không có ýnghĩa được hiểu là tất cả các hệ số hồi quy riêng đều bằng 0
Ứng dụng kiểm định Wald (thường được gọi là kiểm định F) được tiến hành cụ thể nhưsau:
ngẫu nhiên phân phối khi bình phương độc lập Điều này cho ta trị thống kê:
Trang 13k) cho mẫu số, và với mức ý nghĩa α cho trước
phương pháp giá trị p, tính giá trị p = P(F>Fc|H0) và bác bỏ giả thuyết H0 nếu p < α
I PHẦN CHUNG
Đề tài: Tập tin "diem_so.csv" chứa thông tin về điểm toán của các em học sinh trung học
thuộc hai trường học ở Bồ Đào Nha Các thuộc tính dữ liệu bao gồm điểm học sinh, nơi
cư trú, và một số hoạt động xã hội khác Dữ liệu được thu thập bằng cách sử dụng báo cáocủa các trường và các kết quả khảo sát sinh viên Dữ liệu gốc được cung cấp tại:
https://archive.ics.uci.edu/ml/datasets/student+performance Các
biến chính trong bộ dữ liệu:
• G1: Điểm thi học kì 1
• G2: Điểm thi học kì 2
• G3: Điểm cuối khoá
• studytime: Thời gian tự học trên tuần(1 – ít hơn 2 giờ, 2 – từ 2 đến 5 giờ, 3 – từ 5
đến 10 giờ, or 4 – lớn hơn 10 giờ)
• failures: số lần không qua môn (1,2,3, hoặc 4 chỉ nhiều hơn hoặc bằng 4 lần)
absences: số lần nghỉ học
• paid: Có tham gia các lớp học thêm môn Toán ngoài trường (có/không)
• sex: Giới tính cıa học sinh (Nam/nữ)
1 Đọc dữ liệu (Import Data)
-Input:
diem_so <- read_csv("Zalo Received Files/diem_so.csv")
+Giải thích: Lấy dữ liệu từ Excel sang R và lưu dữ liệu với tên là “diem_so”
head(diem_so,10)
+Giải thích: Đọc 10 dòng đầu tên tệp “diem_so”
-Output:
Trang 142 Làm sạch dữ liệu (Data cleaning)
Trích ra một dữ liệu con đặt tên là new_DF chỉ bao gồm các biến cần quan tâm là G1,G2,
G3, studytime, failures, absences, sex, paid
+Giải thích: Trích ra dữ liệu con đặt tên là new_DF bao gồm các biến G1, G2, G3,
studytime, failures, absences, sex, paid
-Output:
Trang 15a) Kiểm tra các dữ liệu bị khuyết trong tập tin
Dữ liệu khuyết (missing data): Dữ liệu bị thiếu (missing values) đóng một vai trò quantrọng trong thống kê và phân tích dữ liệu Thông thường, missing values không nên bị bỏqua mà cần được nghiên cứu cẩn thận để xem xét xem điều gì khiến cho các missing
values này bị thiếu Trong R, NA được sử dụng để thể hiện các giá trị không tồn tại (not
available) hay bị thiếu (missing) theo nghĩa thống kê Cách xác định các dữ liệu bị
khuyết trong tập tin: -Input:
$G2 [1] 2 6 9
80 100
$G3 integer(0)
$studytimeinteger(0)
$failuresinteger(0)
$absences integer(0)
$paid integer(0)
$sex integer(0) -Kết luận: Ta thấy có các giá trị khuyết tại biến G2
Trang 16Cách sử dụng:
• Generalized Imputation: Trong trường hợp này, ta tínhgiá trị trung bình hoặc trung vị cho tất cả các giá trịkhông bị thiếu của biến đó sau đó thay thế giá trị bị thiếubằng giá trị trung bình hoặc trung vị
• Similar case Imputation: trong trường hợp này, ta cũngtính các giá trị trung bình nhưng các giá trị này sẽ đượctính riêng lẻ theo từng đối tượng của các giá trị không bịthiếu , sau đó thay các giá trị trung bình đã được tính theotừng đối tượng trước đó
Phương pháp 2
Prediction Model
(Mô hình dự đoán)
Tạo mô hình dự đoán để ước tính các giá trị sẽ thay thế dữ liệu
bị thiếu Trong trường hợp này, chia tập dữ liệu của mình thànhhai tập: Một tập không có giá trị bị thiếu cho biến và một tậpkhác có giá trị bị thiếu Tập dữ liệu đầu tiên trở thành tập dữ liệuhuấn luyện của mô hình trong khi tập dữ liệu thứ hai có giá trị bịthiếu là tập dữ liệu thử nghiệm và biến có giá trị bị thiếu đượccoi là biến mục tiêu Tiếp theo, chúng tôi tạo một mô hình để dựđoán biến mục tiêu dựa trên các thuộc tính khác của tập dữ liệuhuấn luyện và điền các giá trị còn thiếu của tập dữ liệu thửnghiệm
Phương pháp 3
Deletion
Phương pháp này được dùng khi khi xác suất thiếu biến là nhưnhau cho tất cả các quan sát Phương pháp này được thực hiệnbởi 2 cách: List Wise Deletion and Pair Wise Deletion
List wise deletion: xóa các quan sát mà bất kỳ biến nào bịthiếu, nhưng phương pháp này có một lỗ hỗng bởi việc xoá quansát cua bất cứ biến nào bị thiếu này sẽ làm giảm sức mạnh của
mô hình vì nó xóa toàn bộ hàng quan sát trong đó dữ liệu bịthiếu
Pair Wise Deletion: chúng ta sẽ thực hiện phân tích với tất cảcác trường hợp có các biến quan tâm Ưu điểm của phương phápnày là, nó giữ được nhiều trường hợp có sẵn để phân tích Mộttrong những nhược điểm của phương pháp này, nó sử dụng cỡmẫu khác nhau cho các biến khác nhau
Phương pháp 4
KNN Imputation
Trong phương pháp này gán giá trị , các giá trị bị thiếu của mộtthuộc tính được gán bằng cách sử dụng một số thuộc tính đã chogiống nhất với thuộc tính có giá trị bị thiếu Sự giống nhau củahai thuộc tính được xác định bằng cách sử dụng hàm khoảngcách
Phương pháp được
sử dụng Xóa các quan sát mà bất kỳ biến nào bị thiếu
Trang 173 Làm rõ dữ liệu (Data visualization)
a) Tạo bảng dữ liệu cho các biến liên tục
Các biến liên tục trong bộ dữ liệu là: G1, G2, G3, absences tương ứng với cột thứ 1, 2, 3,
6 trong dữ liệu -Input:
mean=apply(new_DF[,c(1,2,3,6)],2,mean)
+Giải thích: Tính trung bình của các biến liên tục (G1, G2, G3, absences) và lưu
vào biến có tên là mean
median=apply(new_DF[,c(1,2,3,6)],2,median)
+Giải thích: Tính trung vị của các biến liên tục (G1, G2, G3, absences) và lưu vào
biến có tên là median
sd=apply(new_DF[,c(1,2,3,6)],2,sd)
+Giải thích: Tính độ lệch chuẩn của các biến liên tục (G1, G2, G3, absences) và lưu
vào biến có tên là sd
Trang 18+Giải thích: Tính giá trị lớn nhất của các biến liên tục (G1, G2, G3, absences) và
lưu vào biến có tên là max
min=apply(new_DF[,c(1,2,3,6)],2,min)
+Giải thích: Tính giá trị nhỏ nhất của các biến liên tục (G1, G2, G3, absences) và
lưu vào biến có tên là min
des=data.frame(mean,median,sd,max,min)
t(des)
+Giải thích: Tạo bảng dữ liệu thể hiện các giá trị thống kê mô tả cho các biến liên
tục, lưu với tên là descriptive_statistics
b) Lập bảng thống kê số lượng cho biến phân loại
Trang 19-Input: hist(new_DF$G3,xlab= "G3",main= "Histogram of G3",label=T, ylim=c(0,100))
+Giải thích: Vẽ biểu đồ historgram cho biến G3 -Output:
Quan sát đồ thị, ta thấy được mức điểm cuối khóa của sinh viên tập trung hầu ởmức từ 6-16 điểm, cao nhất ở khoảng 8-10 điểm (84 sinh viên), có 1 sinh viên cómức điểm thấp từ 2-4 điểm Đặc biệt có đến 38 sinh viên có điểm cuối khóa là 0điểm
d) Vẽ phân phối của biến G3 theo từng nhóm phân loại -Input:
boxplot(G3~studytime,main="Boxplot of G3 for each categogy of studytime",
+ Giải thích: vẽ biểu đồ Boxplot của biến G3 cho từng nhóm phân loại cảu biến
studytime, failures, paid, sex
-Output:
Nhận xét:
Trang 20e) Vẽ các phân phối của biến G3 theo từng biến định lượng
-Input:
pairs(G3~G1,data=new_DF ,pch=20,main="pairs of G3 for G1")
+Giải thích: Vẽ các phân phối của biến G3 theo biến G1
-Output:
Trang 21-Input:
pairs(G3~G2, pch=20,main="pairs of G3 for G2")
+Giải thích: Vẽ các phân phối của biến G3 theo biến G2 -Output:
-Input:
pairs(G3~absences,data=new_DF ,pch=20,main="pairs of G3 for absences")
+Giải thích: Vẽ các phân phối của biến G3 theo biến absences
-Ouput: