Hình 9: code R và kết quả khi vẽ biểu đồ histogram thể hiện phân phối của biến price hist new_DF[,"price"],xlab="price",main="Histogram of price”,ylim=c0,13000,1abels=T,co1=2 Histogram
Trang 1DAI HOC QUOC GIA THANH PHO HO CHi MINH
TRUONG DAI HOC BACH KHOA KHOA KY THUAT XAY DUNG
T Ho va tén MSSV | Lớp/Tổ Ngành học Kí tên
1 Tran Quang Vinh 2015077 | L03/C kỹ thuật Xây Dựng
2 Nguyễn Tân Nghi | 2013860 | L04/B | Kỹ thuật Xây Dựng
3 Nguyễn Dương Khang | 2013430 | L07/B Kỹ thuật Xây Dựng
4 Ngé Thi Thuy Dung | 1912865 L10/A kỹ thuật Xây Dựng
5 Huỳnh Quốc Vĩnh 2015057 | L14/C kỹ thuật Xây Dựng
Tp Hồ Chí Minh, Tháng 01/11/2021
Trang 2BAI TAP LON XAC SUAT THONG KE Nhom XD19
PHAN CONG LAM VIEC
STT Ho va tén Nội dung | Nhiệm vụ
1 Trần Quang Vĩnh
2 Nguyễn Tân Nghi
3 Nguyễn Dương Khang
4 Ngô Thị Thuỳ Dung
5 Huỳnh Quốc Vinh
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 1
Trang 3BAI TAP LON XAC SUAT THONG KE Nhom XD19
1.3.4 Xây dựng mô hình hồi quy tuyến tính để đánh giá các nhãn tố có thể ảnh hưởng đến giá nhà ở quận Kïng Qua 16 1.3.5 Thực hiện dự báo cho giá nhà quận King 20
Trang 4BAI TAP LON XAC SUAT THONG KE Nhom XD19 Danh sách bảng
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 3
Trang 5BAI TAP LON XAC SUAT THONG KE Nhóm XD19
8 code R va két qua khi tinh cac bién price, sqft above, sqft living, sqft basement
đã chuyển sang dạng log(x-L1)
Trang 6BAI TAP LON XAC SUAT THONG KE Nhom XD19
21 code R và kết quả khi vẽ đồ thị phân tích thặng dư để kiểm tra các giả định của mô hình
22_ code R và kết quả khi thực hiện dự báo cho giá nhà
Giảng uiên hướng dẫn: Th.5 NG UYEN KIEU DUNG Trang 5
Trang 7BAI TAP LON XAC SUAT THONG KE Nhom XD19
e price: Gid nha duoc ban ra
floors: $6 tang của ngôi nhà được phân loại từ 1 - 3.5
condition: Diề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
view: Dánh giá cảnh quan xung quanh nhà theo mức độ từ thấp đến cao: 0 - 4
sqft above: Dién tich ngôi nhà
sqft living: Dién tich khuén vién nha
sqft basement: Dién tich tầng hầm
Các bước thực hiện:
1 Đọc dữ liệu (nport data): "house_ price.csv"
2 Làm sạch dữ liệu (Data cleaning): NA (đữ liệu khuyết)
3 Lam r6 di liéu: (Data visualization)
(a) Chuyển đổi biến (nếu cần thiết)
(b) Thống kê mô tả: dùng thống kê mẫu và dùng đồ thị
4 Xây dựng mô hình hồi quy tuyến tính để đánh giá các nhân tố có thể ảnh hưởng đến giá nhà ở quận King
5 Thực hiện dự báo cho giá nhà quận Eïng
1.2 Cơ sở lý thuyết
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 6
Trang 8BAI TAP LON XAC SUAT THONG KE Nhóm XD19
1.3 Thực hiện
1.8.1 Đọc dữ liệu (Emport data)
Đọc dữ liệu "house_ price.csv”"
Hình 1: code R và kết quả khi doc đữ liệu và xem 6 dòng đầu tiên của dữ liệu
house price <- read.csv("
sqft_lot floors waterfront view condition grade sqft_above sqft_basement
price bedrooms bathrooms sqft_living
1.3.2 Lam sach di liéu (Data cleaning)
Tạo một đữ liệu mới chỉ bao gồm các biến chính mà ta quan tâm, lưu với tên là new_ DF Hình 2: code R va kết quả khi tạo một đữ liệu mới chỉ bao gồm các biến chính head(new DF) #
we price floors condition view sqft_above sqft_living sqft_basement
Kiểm tra dữ liệu khuyết trong new_ DE
new DF <- house_price[,c("price","£loors”, "condition", "view", "sqft above","sgft living","sqgft basement")] #7Tạo dư
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 7
Trang 9BAI TAP LON XAC SUAT THONG KE Nhom XD19
Hình 3: code R và kết quả khi kiểm tra dữ liệu khuyết trong new_ DE apply(is.na(new_DF),2,which)
Nhận xét: Dựa vào kết quả thu được khi kiểm tra dữ liệu khuyết trong new _ DF, ta nhận thấy có
20 đữ liệu khuyết tại biến price Vậy nên ta cần xử lý các đữ liệu khuyết đó
Phương pháp xử lí được đề xuất là thay thế giá trị trung bình ở các quan sát còn lại của biến price tại vị trí chứa dữ liệu khuyết
Hình 4: code R khi thay thể giá trị trung bình ở các quan sát còn lại của biến price tại vị trí chứa
đữ liệu khuyết
new DF$§price[is.na (new DF$price) }*=mean (new DF$§price,na.rm=T)
Kiểm tra lại xem còn đữ liệu khuyết hay không
Hình 5: code R và kết quả khi kiểm tra lại dữ liệu khuyết hay không
Trang 10BAI TAP LON XAC SUAT THONG KE Nhom XD19
1.3.3 Lam ré di liéu: (Data visualization)
Tao mét data mdi tén la new_DF2 (gồm các biến nhu new_DF da lAm sạch đữ liệu) và chuyển đổi các biến price, sqft above, sqft living, sqft basement lần lượi thành log(price+1), log(sqft_above+1), log(sqft_living+1) và log(sgft_ basement-L1)
Hình 6: code R và kết quả khi chuyển đổi các biến sang dạng log(x-L1)
;”sqft_above”, "sgft living”, "sqạft_ basement” ) ]<-log(new_DF2[,c( "price", "“sqft_above","sqft_livin
Giải thích lý do chuyến sang dạng log(x+1):
-+ Cải thiện sự phù hợp của mô hình: giả định khi ta xây dựng mô hình hồi quy thì các sai số hồi quy (phần dư) phải có phân phối chuẩn, do đó trong trường hợp sai số hồi quy (phần dư) không có phân phối chuẩn thì việc lấy log của của một biến giúp thay đổi tỉ lệ và làm cho biến đó có phân phối chuẩn Ngoài ra, trong trường hợp phần dư (phương sai thay đổi) do các biến độc lập gây ra, ba cũng
có thể chuyển đổi các biến đó sang đạng log
-+ Diễn giải: đây là lý do giúp ta có thể điễn giải mối quan hệ giữa 2 biến thuận tiện hơn Nếu ta lấy log của biến phụ thuộc Y và biến độc lập X, khi đó hệ số hồi quy Ø sẽ là hệ số co giãn và diễn giải sẽ như sau: X tăng 1% sẽ dẫn đến tăng việc ta sẽ kỳ vọng Y tăng lên Ø% (về mặt trung binh cia Y), + Ước lượng mô hình phi tuyến: việc lấy log cho phép ta ước lượng các mô hình này bằng hồi quy tuyến tính
+ Ngoài ra, việc chuyển sang dạng log(x+1) thay vì log(x) bởi do trong biến sqfb_ baserment có nhiều giá trị = 0 (do một số ngôi nhà không có tầng hầm) Nếu chuyển sang dạng log thì sẽ nhận được các giá trị infy Do đó ta sẽ chuyển các biến sang log(x-E1) thay vì log(x)
Tính các giá trị thống kê mô tả (trung bình, độ lệch chuẩn, min, max, trung vị) cho các biến price,
sqft above, sqfb_ living, sqft_ basemert Xuất kết quả dưới dạng bằng
Hình 7: code R và két qua khi tinh cdc bién price, sqft above, sqft_ living, sqft basement
sd <- apply(new_DF[,c("“price”,"sqft_above", “sqft living”,”sgft basement ;2,sở)
min <= apply(new DF[,c("price","sqft above",“sgft living",“sgft _basement”)},2,min)
max <= apply(new_DF[,c("price","sqft _above",*sqft living","sgft basement
median <~ apply(new DF[,c("price",“sgft above","sgft living",*sgft basement")],2,median)
data frame(mean,sd,min,max,median)
Tính các giá trị thống kê mô tả (trung bình, độ lệch chuẩn, min, max, trung vị) cho các biến price, sqft above, sqft living, sqft basement da chuyển sang dạng log(x-L1) Xuất kết quả dưới dạng bằng
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 9
Trang 11BAI TAP LON XAC SUAT THONG KE Nhóm XD19
Vẽ biểu đồ histogram thể hiện phân phối của biến price trước và sau khi chuyển sang dạng log(x-L1)
Hình 9: code R và kết quả khi vẽ biểu đồ histogram thể hiện phân phối của biến price hist (new_DF[,"price"],xlab="price",main="Histogram of price”,ylim=c(0,13000),1abels=T,co1=2)
Histogram of price
Trang 12
BAI TAP LON XAC SUAT THONG KE Nhom XD19
Nhận xét: Dựa trên biểu đồ histogram của biến price, ta nhận thấy phân phối của biến price có
xu hướng lệch phải, cho thấy phần lớn ngôi nhà có giá tiền gần như nhau, và chỉ có số ít ngôi nhà có giá trị cao hơn Trong khi với biểu đồ của biến log(price -E 1) có hình dạng phần phối chuẩn
Vẽ biểu đồ boxplot thể hiện phân phối của biến price va log(price+1) theo từng phân loại của biến floors
Hình 11: code R và kết quả khi vẽ biểu đồ boxplot thể hiện phân phối của biến price theo từng phân loại của biến floors
boxplot (price~floors,data=new DF,main="Boxplot of price for floors”,col=c(2,3,4,5,6,7))
Boxplot of price for floors
Trang 13BAI TAP LON XAC SUAT THONG KE Nhom XD19
Hình 12: code R và kết quả khi vẽ biểu đồ boxplot thể hiện phân phối của biến log(price-+L1) theo từng phân loại của biến floors
boxplot (price~floors,new_DF2,main="Boxplot of log(price+l) for floors”,col=c(2,3,4,5,6,7))
Boxplot of log(price+1) for floors
boxplot (price~condition,data=new_DF,main="Boxplot of price for condition",col=c(2,3,4,5,6))
Boxplot of price for condition
Trang 14BAI TAP LON XAC SUAT THONG KE Nhom XD19
Hình 14: code R và kết quả khi vẽ biểu đồ boxplot thể hiện phân phối của biến log(price-+L1) theo từng phân loại của biến condition
boxplot (price~condition,new DF2,main="Boxplot of log(price+l) for condition”,col=c(2,3,4,5,6))
Boxplot of log(price+1) for condition
boxplot (price~view,data=new_DF,main="Boxplot of price for view",col=c(2,3,4,5,6))
Boxplot of price for view
Trang 15BAI TAP LON XAC SUAT THONG KE Nhom XD19
Hình 16: code R và kết quả khi vẽ biểu đồ boxplot thể hiện phân phối của biến log(price-L1) theo từng phân loại của biến view
boxplot (price~view,new_DF2,main="Boxplot of log(price+l) for view”,col=c(2,3,4,5,6))
Boxplot of log(price+1) for view
Vẽ biểu đồ phân tán thể hiện phân phối của bién price thco bién sdft _ above trước và sau khi chuyển
sang dang va log(x+1)
Hinh 17: code R va két qua khi vé biéu dé phan tán thể hiện phân phối của biến price theo biến sqft_ above trước và sau khi chuyển sang dạng va log(x+1)
Trang 16
BAI TAP LON XAC SUAT THONG KE Nhom XD19
Nhận xét: Dựa trên đồ thị phân tán của price và sqft_ above, ta chưa nhận thấy thấy rõ mối quan
hệ tuyến tính giữa 2 biến Tuy nhiên với đồ thị phân tán của log(price + 1) và log(sgaft_ above +
1) ta nhận thấy rõ hơn về mối quan hệ tuyến tính giữa 2 biến này (cụ thể là quan hệ đồng biến)
Vẽ biểu đồ phân tán thể hiện phân phối của biến price theo biến sqfb_ living trước và sau khi
chuyển sang dạng và log(x-L1)
Hình 18: code R và kết quả khi vẽ biểu đồ phân tán thể hiện phân phối của biến price theo biến sqft_ living trước và sau khi chuyển sang dạng và log(x+1)
Nhận xét: Dựa trên đồ thị phân tán của price và sqft_ living, ta chưa nhận thấy thấy rõ mối quan
hệ tuyến tính giữa 2 biến Tuy nhiên với đồ thị phân tán của log(price + 1) và log(sgft_ living +
1) ta nhận thấy rõ hơn về mối quan hệ tuyến tính giữa 2 biến này (cụ thể là quan hệ đồng biến)
Vẽ biểu đồ phân tán thể hiện phân phối của biến price theo biến sqạft_ basement trước và sau
khi chuyển sang dạng và log(x-F1)
Giảng vien hudng dan: Th.S NG UYEN KIEU DUNG Trang 15
Trang 17BAI TAP LON XAC SUAT THONG KE Nhom XD19
Hình 19: code R và kết quả khi vẽ biểu đồ phân tán thể hiện phân phối của biến price theo biến sqft_ basement trước và sau khi chuyển sang dạng và log(x+1)
Nhận xét: Dựa trên đồ thị phân tán của price va sqft basement, ta chưa nhận thấy thấy
rõ mối quan hệ tuyến tính giữa 2 biến Tuy nhiên với đồ thị phân tán của log(price + 1) và log(sqft basement + 1) ta nhan thay rd hon về mối quan hệ tuyến tính giữa 2 biến này (cụ thể
Chúng ta muốn tìm hiểu có những nhân tố nào và tác động như thế nào đến giá nhà ở quận King Xét mô hình hồi quy tuyến tính bao gồm: Biến phụ thuộc: price
Bién déc lap: floors, condition, view, sqft above, sqft living, sqft basement
(lưu ý cdc bién price, sqft above, sqft living, sqft basement da dude chuyển sang dạng
log(x+1))
Mô hình được biểu diễn như sau:
log(price + 1) = 89 + 61 x floors + By x condition + 83 x view + B4 x log(sqft_above + 1) + Bs x
log(sqft_living + 1) + 86 x log(sqft_ basement + 1)
Gidng vién hudéng dan: Th.S NG UYEN KIEU DUNG Trang 16
Trang 18BAI TAP LON XAC SUAT THONG KE Nhom XD19
Ta thực hiện ước lượng các hệ số đ;, i = 0, ,6 dua trén tép tin new DE2:
Hình 20: code R và kết quả khi xây dựng mơ hình hồi quy tuyến tính m_ model 1 1m modell <- 1m(price~floors+condition+view+sgft above+sgft living+sgft basement,data=new DF2)
log(price + 1) = 7.168351 + 0.102574 x ƒloors + 0.075181 x condition + 0.125203 x view + 0.544601 x
log(sqft_above + 1) + 0.172785 x log(sqft_living + 1) + 0.042919 x log(sqft_basement + 1)
Kiểm định các hệ số hồi quy:
Giả thuyết Hạ: Hệ số hồi quy khơng cĩ ý nghĩa thống kê (đ; = 0)
Giả thuyết 1: Hệ số hồi quy cĩ ý nghĩa thống kê (đ; # 0)
+ Pr(- |í|) của các hệ số ứng với các biến đều bé hơn mức ý nghĩa œ = 0.05 nên ta bác bổ giả thuyết
Hạ Do đĩ hệ số ứng với các biến này đều cĩ ý nghĩa với mơ hình hồi quy ta xây dựng
Phân tích sự tác động của các nhân tổ lên giá nhà:
Như vậy mơ hình hồi quy tuyến tính về ảnh hưởng của các nhân tố lên giá nhà được cho bởi: log(price + 1) = 7.168351 + 0.102574 x ƒloors + 0.075181 x condition + 0.125203 x view + 0.544601 x
log(sqft_above + 1) + 0.172785 x log(sqft_living + 1) + 0.042919 x log(sqft_baserment + 1)
hay ta cĩ thể suy ra:
price = ¢7168351 x ¿0.109574<laors „ ¿04075131⁄conditiơa x ¿0.125203x0ie x (gq ft above + 1)9544601 x
(sqft_lving + 1)°1?7, x (sqft_ basement + 1)0-047819 — 1
Trude hét, ta thay rang p—value tugng tng vdi théng k¢ F bé hon 2.2e — 16, cĩ ý nghĩa rất cao Điều này chỉ ra rằng, ít nhất một biến dự báo trong mơ hình cĩ ý nghĩa giải thích rất cao đến giá nhà
Để xét ảnh hưởng cụ thể của từng biến độc lập, ta xét trợng số (hệ số đ;) và øp — alue tương ứng
Ta thấy rằng p — 0alue tương ứng với các biến đều bé hơn 2e — 16 (ngồi trừ biến sqft_ living cĩ p— 0aÏue = 3.37e — 09), điều này nĩi lên rằng ảnh hưởng của các biến này cĩ ý nghĩa rất cao lên giá nhà price
Mặt khác, hệ số hồi quy 6; của một biến dự báo cũng cĩ thể được xem như ảnh hưởng trung bình lên biến phụ thuộc price khi tăng một đơn vị của biến dự báo, giả sử rằng các biến dự báo khác
Giảng uiên hướng dẫn: Th.5 NG UYEN KIEU DUNG Trang 17