Professional Documents
Culture Documents
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 1
Trường Đại học Bách Khoa HCM
Mục lục
1 Cơ sở lý thuyết 3
1.1 Thống kê mô tả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Các lệnh dùng trong Rstudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Kết luận 22
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 2
Trường Đại học Bách Khoa HCM
1 Cơ sở lý thuyết
1.1 Thống kê mô tả
Nói đến thống kê mô tả là nói đến việc mô tả dữ liệu bằng các phép tính và chỉ số thống kê như số trung bình
(mean), số trung vị (median), số lớn nhất (max), số nhỏ nhất (min), phương sai (variance), độ lệch chuẩn (standard
deviation). . . Trong đó ta làm quen các định nghĩa:
1. Trung bình cộng: trung bình cộng trong thống kê là một đại lượng mô ta thống kê, được tính bằng cách lấy tổng
giá trị của toàn bộ các quan sát trong tập chia cho tổng số lượng các quan sát trong tập.
2. Trung vị: là một số tách giữa nửa lớn hơn và nửa bé hơn của một mẫu, một quần thể, hay một phân bố xác suất.
Nó là giá trị giữa trong một phân bố, mà số các số nằm trên hay dưới con số đó là bằng nhau.
3. Độ lệch chuẩn: là một đại lượng thống kê mô tả dùng để đo mức độ phân tán của một tập dữ liệu đã được lập
thành bảng tần số. Có thể tính ra độ lệch chuẩn bằng cách lấy căn bậc hai của phương sai.
4. Giá trị nhỏ nhất: là giá trị nhỏ nhất trong toàn bộ các giá trị của một tập mẫu.
5. Giá trị lớn nhất: là giá trị lớn nhất trong toàn bộ các giá trị của một tập mẫu.
6. Biểu đồ hist: là biểu đồ tần số dùng cho biến định lượng liên tục nhằm biểu diễn phân phối của tập dữ liệu.
7. Biểu đồ boxplot: là biểu đồ diễn tả 5 vị trí phân bổ của dữ liệu, đó là giá trị nhỏ nhất, tứ phân vị thứ nhất,
trung vị, tứ phân vị thứ ba, giá trị lớn nhất.
8. Biểu đồ pairs: là biểu đồ thể hiện mối liên hệ giữa các biến.
9. Hồi quy tuyến tính:
Khái niệm: Đường hồi quy tuyến tính mẫu Y theo X là đường thẳng có phương trình:
y = A + Bx
Ý nghĩa: Nếu X và Y có tương quan xấp xỉ tuyến tính thì đường hồi quy cho ta khả năng dự báo một cách đơn giản:
X = x0 => Y ≈ y0 = A + Bx0
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 3
Trường Đại học Bách Khoa HCM
• condition: điều kiện kiến trúc của ngôi nhà từ 1-5, 1: rất tệ và 5: rất tốt.
• sqft_above: diện tích ngôi nhà.
• sqft_living: diện tích khuôn viên nhà.
Câu hỏi:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 4
Trường Đại học Bách Khoa HCM
• (b) Kiểm tra các dữ liệu bị khuyết trong tập tin. (Các câu lệnh tham khảo: which(), apply(),
is.na()). 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.
Input:
any(is.na(newDF))
newDF[which(is.na(newDF))] <- 0
View(newDF)
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 5
Trường Đại học Bách Khoa HCM
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 6
Trường Đại học Bách Khoa HCM
• (b) Đố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ồm: 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.(Hàm gợi
ý: mean(), median(), sd(), min(), max(), apply(), as.data.frame(), rownames()).
Input:
thongke<-data.frame()
mean<-cbind(mean(logDF[,1]), mean(logDF[,2]), mean(logDF[,5]), mean(logDF[,6]))
median<-cbind(median(logDF[,1]), median(logDF[,2]), median(logDF[,5]), median(logDF[,6]))
sd<-cbind(sd(logDF[,1]), sd(logDF[,2]), sd(logDF[,5]), sd(logDF[,6]))
min<-cbind(min(logDF[,1]), min(logDF[,2]), min(logDF[,5]), min(logDF[,6]))
max<-cbind(max(logDF[,1]), max(logDF[,2]), max(logDF[,5]), max(logDF[,6]))
thongke<-rbind(mean, median, sd, min, max)
colnames(thongke)<-c("price", "sqft_living15", "sqft_above", "sqft_living")
rownames(thongke) <- c("mean", "median", "sd", "min", "max")
View(thongke)
Output:
• (c) Đối với các biến phân loại, hãy lập một bảng thống kê số lượng cho từng chủng loại. (Hàm
gợi ý: table())
Input:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 7
Trường Đại học Bách Khoa HCM
attach(logDF)
table(floors)
table(condition)
Output:
• (d) Hãy dùng hàm hist() để vẽ đồ thị phân phối của biến price.
Input:
price<-logDF[,1]
hist(price, col = "#00CC88")
Output:
• (e) Hãy dùng hàm boxplot() vẽ phân phối của biến price cho từng nhóm phân loại của biến
floors và biến condition.
Input:
price<-logDF[,1]
floors <-logDF[,3]
boxplot(price ∼ floors, xlab = "floors",ylab = "price", main = "Boxplot Distribution of Price
for Floors")
price<-logDF[,1]
condition<-logDF[,4]
boxplot(price ∼ condition, xlab = "condition",ylab = "price", main = "Boxplot Distribution
of Price for Condition")
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 8
Trường Đại học Bách Khoa HCM
• (f) Dùng lệnh pairs() vẽ các phân phối của biến price lần lượt theo các biến sqft_living15,
sqft_above và sqft_living.
Input:
pairs(price ∼ sqft_living15, data = logDF)
pairs(price ∼ sqft_above, data = logDF)
pairs(price ∼ sqft_living, data = logDF)
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 9
Trường Đại học Bách Khoa HCM
2.1.4 Xây dựng mô hình hồi quy tuyến tính: 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 giá nhà ở quận King.
• (a) Xét mô hình hồi quy tuyến tính bao gồm biến price là biến phụ thuộc, và tất cả các biến
còn lại đều là biến độc lập. Hãy dùng lệnh lm() để thực thi mô hình hồi quy tuyến tính bội.
Input:
M1<-lm(price ∼ sqft_living15 + floors + condition + sqft_above + sqft_living, data = logDF)
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 10
Trường Đại học Bách Khoa HCM
summary(M1)
Output:
• (b) Dựa vào kết quả của mô hình hồi quy tuyến tính trên, những biến nào bạn sẽ loại bỏ khỏi
mô hình tương ứng với mức tin cậy 5%?
Với mức tin cậy 5%:
Ta thấy các biến đều có giá trị Pr(>|t|) < 0,05 nên ta sẽ không loại biến nào ra khỏi mô hình.
• (c) Xét hai mô hình hồi quy tuyến tính cùng bao gồm biến price là biến phụ thuộc nhưng:
• Mô hình M1 chứa tất cả các biến còn lại là biến độc lập.
• Mô hình M2 là loại bỏ biến condition từ mô hình M1.
Hãy dùng lệnh anova() để đề xuất mô hình hồi quy hợp lý hơn.
Input:
M1<-lm(price ∼ sqft_living15 + floors + condition + sqft_above + sqft_living, data = logDF)
M2<-lm(price ∼ sqft_living15 + floors + sqft_above + sqft_living, data = logDF)
anova(M1)
anova(M2)
Output:
Xét mô hình M1:
Mô hình M2 loại bỏ biến condition từ mô hình M1. Ta thấy biến condition có giá trị P(>F) nhỏ hơn 0,05
nên biến này vẫn có ý nghĩa thống kê. Do đó mô hình M1 vẫn hợp lý hơn mô hình M2.
Xét mô hình M2:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 11
Trường Đại học Bách Khoa HCM
• (d) Chọn mô hình hợp lý hơn từ câu (c) hãy suy luận sự tác động của các biến lên giá nhà.
Dùng lệnh:
summary(M1)
Từ cột Estimate suy ra mô hình M1:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 12
Trường Đại học Bách Khoa HCM
Nhận xét:
Xét đồ thị nằm ở trên bên trái(đồ thi biểu thị sai số hồi quy và giá trị dự báo) ta thấy đường màu đỏ, tức
đường biểu diễn giá trị trung bình của sai số hồi quy gần bằng giá trị 0.
Ý nghĩa:
Điều này cho thấy mô hình của chúng ta có ít những giá trị ngoại biên có khả năng làm sai lệch mô hình hồi
quy tuyến tính.
2.1.5 Dự báo
Từ mô hình bạn chọn ở câu (c), hãy dùng lệnh predict() để dự báo giá nhà ở hai thuộc tính như sau:
x1: sqft_living15 = mean(sqft_living15), sqft_above = mean(sqft_above), sqft_living = mean(sqft_living),
floor = 2, condition = 3.
x2: sqft_living15 = max(sqft_living15), sqft_above = max(sqft_above), sqft_living = max(sqft_living),
floor = 2, condition = 3.
So sánh khoảng tin cậy cho hai giá trị dự báo này
Input:
x1<-data.frame(sqft_living15 = thongke[1,2],floors = 2, condition = 3, sqft_above = thongke[1,3],
sqft_living = thongke[1,4])
predict(M1,x1,interval = "confidence")
x2<-data.frame(sqft_living15 = thongke[5,2], floors = 2, condition = 3, sqft_above = thongke[5,3],
sqft_living = thongke[5,4])
predict(M1,x2, interval = "confidence")
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 13
Trường Đại học Bách Khoa HCM
Ta có: R1 = 13.09012 − 13.07429 = 0.01583 và R2 = 14.65587 − 14.60732 = 0.04855. Như vậy khoảng tin cậy
của x2 > x1
• Lifetime.Post.Total.Reach: tổng lượt click vào bài viết từ người dùng ngẫu nhiên.
• Lifetime.Engaged.Users: tổng số người tương tác.
• Lifetime.Post.reach.by.people.who.like.your.Page: tổng lượt click vào bài viết của người đang
theo dỗi trang thông thông tin.
• Lifetime.Matched.Audience.Targeting.Consumers.on.Post: tổng số người tương tác phù hợp với
nội dung bài viết.
Chúng em sẽ tiến hành phân tích hồi quy tuyến tính đối với tập dữ liệu này.
2.2.2 Xử lí số liệu
• a) Đọc dữ liệu
Input:
DF2<-read.xlsx("tuong_tac.xlsx",1)
View(DF2)
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 14
Trường Đại học Bách Khoa HCM
• c) Làm rõ dữ liệu
– Chuyển dữ liệu của biến TimePost thành số ngày dị biệt từ 11/29/2020 0:00:00. Input:
end<-mdy_hms("11/29/2020 0:00:00")
semicolluum<-newDF2[,2] %–% end
semicolluum<-as.duration(semicolluum)/ddays(1)
semicolluum<-as.data.frame(semicolluum)
newDF2<-data.frame(newDF2[,1], semicolluum, newDF2[,3], newDF2[,4], newDF2[,5], newDF2[,6])
colnames(newDF2) <-c("Type", "Time", "Lifetime.Post.Total.Reach",
"Lifetime.Engaged.Users", "Lifetime.Post.reach.by.people.who.like.your.Page",
"Lifetime.Matched.Audience.Targeting.Consumers.on.Post")
View(newDF2)
Output:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 15
Trường Đại học Bách Khoa HCM
– Lập bảng thống kê số lượng cho các loại file đính kèm
Input:
attach(newDF2)
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 16
Trường Đại học Bách Khoa HCM
table(Type)
Output:
– Dùng boxplot() để vẽ đồ thị phân phối của biến Lifetime.Engaged.Users đối với biến phân
loại Type.
Input:
attach(newDF2)
boxplot(Lifetime.Engaged.Users ∼ Type, xlab = "Type",ylab = "Lifetime.Engaged.Users",
main = "Boxplot Distribution of Lifetime.Engaged.Users for Type")
Output:
– Dùng pairs() vẽ các phân phối của biến Lifetime.Engaged.Users lần lượt theo các biến Life-
time.Post.Total.Reach, Lifetime.Post.reach.by.people.who.like.your.Page, Lifetime.Matched.Audience.T
Input:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 17
Trường Đại học Bách Khoa HCM
• d) Xây dựng mô hình hồi quy tuyến tính để kiểm tra sự tác động của các yếu tố đến việc tương
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 18
Trường Đại học Bách Khoa HCM
– Dựa vào kết quả của mô hình hồi 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 mức tin cậy 5%? Dùng lệnh anova() để xem xét mô hình có hợp lý
không, từ đó suy luận tác động của các biến lên lượt tương tác.
Với mức tin cậy 5%:
Ta thấy các biến đều có giá trị Pr(>|t|) < 0,05 nên ta sẽ không loại biến nào ra khỏi mô
hình.
Input:
anova(newM1)
summary(newM1)
Output: Xét mô hình newM1:
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 19
Trường Đại học Bách Khoa HCM
Ta thấy các biến đều có giá trị P(>F) nhỏ hơn 0,05 nên các biến này vẫn có ý nghĩa thống
kê. Do đó mô hình newM1 vẫn hợp lý.
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 20
Trường Đại học Bách Khoa HCM
Input:
par(mfrow = c(2,2))
plot(newM1)
par(mfrow = c(1,1))
Output:
Nhận xét:
Xét đồ thị nằm ở trên bên trái(đồ thi biểu thị sai số hồi quy và giá trị dự báo) ta thấy đường màu đỏ,
tức đường biểu diễn giá trị trung bình của sai số hồi quy nằm hầu như ngang và gần bằng giá trị 0.
Ý nghĩa:
Điều này cho thấy mô hình của chúng ta có ít những giá trị ngoại biên có khả năng làm sai lệch mô hình
hồi quy tuyến tính.
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 21
Trường Đại học Bách Khoa HCM
3 Kết luận
Tóm lại, R vừa là một ngôn ngữ lập trình hàm cấp cao vừa là một môi trường dành cho tính toán
thống kê. R hỗ trợ rất nhiều công cụ cho phân tích dữ liệu, khám phá tri thức và khai mỏ dữ liệu
nhưng lại là phần mềm miễn phí mã nguồn mở. Hơn nữa R rất dễ học và có thể phát triển nhanh
các ứng dụng tính toán xác suất thống kê, phân tích dữ liệu.
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 22
Trường Đại học Bách Khoa HCM
• http://www.sthda.com/ [2]
• https://www.tutorialspoint.com/ [3]
• https://www.scribbr.com/ [4]
• https://www.tutorialkart.com/ [5]
• https://www.theanalysisfactor.com/ [6]
THE END
Môn học Xác suất thống kê - Học kỳ 201 năm học 2020/2021 Trang 23