Hình 8: code R và kết quả khi tính các biến price, sqft_above, sqft_living, sqft_basement đãchuyển sang dạng logx+1Vẽ biểu đồ histogram thể hiện phân phối của biến price trước và sau khi
Trang 1KHOA KỸ THUẬT XÂY DỰNG
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC XÁC SUẤT THỐNG KÊ HỌC KỲ 211
NHÓM: XD19 - ĐỀ TÀI: 01
GIẢNG VIÊN HƯỚNG DẪN: ThS NGUYỄN KIỀU DUNG
DANH SÁCH NHÓM:
1 Trần 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ô Thị Thuỳ Dung 1912865 L10/A Kỹ thuật Xây Dựng
5 Huỳnh Quốc Vinh 2015057 L14/C Kỹ thuật Xây Dựng
Trang 2PHÂN CÔNG LÀM VIỆC
1 Trần Quang Vinh
2 Nguyễn Tấn Nghi
3 Nguyễn Dương Khang
4 Ngô Thị Thuỳ Dung
5 Huỳnh Quốc Vinh
Trang 3Mục lục
1.1 Đề bài 6
1.2 Cơ sở lý thuyết 6
1.3 Thực hiện 7
1.3.1 Đọc dữ liệu (Import data) 7
1.3.2 Làm sạch dữ liệu (Data cleaning) 7
1.3.3 Làm rõ dữ liệu: (Data visualization) 9
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 King 16
1.3.5 Thực hiện dự báo cho giá nhà quận King 20
2 Hoạt động 2 22 2.1 Đề bài 22
Trang 4Danh sách bảng
Trang 58 code R và kết quả khi tính các biến price, sqft_above, sqft_living, sqft_basement
đã chuyển sang dạng log(x+1)
Trang 621 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
18
22 code R và kết quả khi thực hiện dự báo cho giá nhà
21
Trang 7• price: Giá nhà được bán ra.
• floors: Số tầng của ngôi nhà được phân loại từ 1 - 3.5
• 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
• view: Đánh giá cảnh quan xung quanh nhà theo mức độ từ thấp đến cao: 0 - 4
• sqft_above: Diện tích ngôi nhà
• sqft_living: Diện tích khuôn viên nhà
• sqft_basement: Diện tích tầng hầm
Các bước thực hiện:
1 Đọc dữ liệu (Import data): "house_price.csv"
2 Làm sạch dữ liệu (Data cleaning): NA (dữ liệu khuyết)
3 Làm rõ dữ 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 King
1.2 Cơ sở lý thuyết
Trang 81.3 Thực hiện
1.3.1 Đọc dữ liệu (Import data)
Đọc dữ liệu "house_price.csv"
Hình 1: code R và kết quả khi đọc dữ liệu và xem 6 dòng đầu tiên của dữ liệu
1.3.2 Làm sạch dữ liệu (Data cleaning)
Tạo một dữ 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 và kết quả khi tạo một dữ liệu mới chỉ bao gồm các biến chính
Kiểm tra dữ liệu khuyết trong new_DF
Trang 9Hình 3: code R và kết quả khi kiểm tra dữ liệu khuyết trong new_DF
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 dữ liệu khuyết tại biến price Vậy nên ta cần xử lý các dữ 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 pricetạ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
dữ liệu khuyết
Kiểm tra lại xem còn dữ 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
Nhận xét: Ta nhận thấy sau khi xử lý, không còn dữ liệu khuyết
Trang 101.3.3 Làm rõ dữ liệu: (Data visualization)
Tạo một data mới tên là new_DF2 (gồm các biến như new_DF đã làm sạch dữ liệu) và chuyểnđổi các biến price, sqft_above, sqft_living, sqft_basement lần lượt thành log(price+1),log(sqft_above+1), log(sqft_living+1) và log(sqft_basement+1)
Hình 6: code R và kết quả khi chuyển đổi các biến sang dạng log(x+1)
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ồiquy (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ốichuẩ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, ta cũng
có thể chuyển đổi các biến đó sang dạng log
+ Diễn giải: đây là lý do giúp ta có thể diễn giải mối quan hệ giữa 2 biến thuận tiện hơn Nếu ta lấylog 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 bình của 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 quytuyế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 sqft_basement 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ị infty Do đó ta sẽ chuyển các biến sang log(x+1) 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, sqft_living, sqft_basement Xuất kết quả dưới dạng bảng
Hình 7: code R và kết quả khi tính các biến price, sqft_above, sqft_living, sqft_basement
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 đã chuyển sang dạng log(x+1) Xuất kết quả dướidạng bảng
Trang 11Hình 8: code R và kết quả khi tính các biến price, sqft_above, sqft_living, sqft_basement đãchuyển sang dạng log(x+1)
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+1)
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
Trang 12Hình 10: code R và kết quả khi vẽ biểu đồ histogram thể hiện phân phối của biến log(price+1)
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 + 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 và log(price+1) theo từng phân loại củabiế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ânloại của biến floors
Trang 13Hì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+1) theotừng phân loại của biến floors
Vẽ biểu đồ boxplot thể hiện phân phối của biến price và log(price+1) theo từng phân loại của biếncondition
Hình 13: 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ânloại của biến floors
Trang 14Hì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+1) theotừng phân loại của biến condition
Vẽ biểu đồ boxplot thể hiện phân phối của biến price và log(price+1) theo từng phân loại của biếnview
Hình 15: 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ânloại của biến view
Trang 15Hì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+1) theotừng phân loại của biến view
Vẽ biểu đồ phân 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ểnsang dạng và log(x+1)
Hình 17: 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ếnsqft_above trước và sau khi chuyển sang dạng và log(x+1)
Trang 16Nhậ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(sqft_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 sqft_living trước và sau khichuyển sang dạng và log(x+1)
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ếnsqft_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(sqft_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 sqft_basement trước và saukhi chuyển sang dạng và log(x+1)
Trang 17Hì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ếnsqft_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 và 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 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)
Tóm lại, dựa trên các đồ thị trên, ta nhận thấy việc chuyển đổi các biến sang dạng log(x+1) sẽhiệu quả hơn trong việc phân tích mối quan hệ tuyến tính giữa các biến độc lập với biến phụ thuộc(giá nhà)
Câu hỏi đặt ra lúc này là mối quan hệ giữa các biến với giá nhà là ngẫu nhiên hay thực sự cómối quan hệ tuyến tính giữa các biến với giá nhà Mô hình hồi quy tuyến tính sẽ giúp ta kiểm tra điềunày thông qua các khoảng tin cậy và các phép kiểm định Hơn nữa, nó còn cho phép ta ước lượng giátrị của biến phụ thuộc (giá nhà) theo các biến độc lập (số tầng, điều kiện ngôi nhà, diện tích nhà, )
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 King
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 độc lập: floors, condition, view, sqft_above, sqft_living, sqft_basement
(lưu ý các biến price, sqft_above, sqft_living, sqft_basement đã được chuyển sang dạnglog(x+1))
Mô hình được biểu diễn như sau:
Trang 18Ta thực hiện ước lượng các hệ số βi, i = 0, , 6 dựa trên tệp tin new_DF2:
Hình 20: code R và kết quả khi xây dựng mô hình hồi quy tuyến tính lm_model_1
Nhận xét: Từ kết quả phân tích, ta thu được:
b
β0= 7.168351; bβ1 = 0.102574; bβ2 = 0.075131; bβ3= 0.125203
b
β4 = 0.544601; bβ5= 0.172785; bβ6 = 0.042919Như vậy, đường thẳng hồi quy ước lượng cho bởi phương trình sau:
log(price + 1) = 7.168351 + 0.102574 × f loors + 0.075131 × condition + 0.125203 × view + 0.544601 ×log(sqf t_above + 1) + 0.172785 × log(sqf t_living + 1) + 0.042919 × log(sqf t_basement + 1)Kiểm định các hệ số hồi quy:
Giả thuyết H0: Hệ số hồi quy không có ý nghĩa thống kê (βi = 0)
Giả thuyết H1: Hệ số hồi quy có ý nghĩa thống kê (βi6= 0)
+ P r(> |t|) 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
H0 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 × f loors + 0.075131 × condition + 0.125203 × view + 0.544601 ×log(sqf t_above + 1) + 0.172785 × log(sqf t_living + 1) + 0.042919 × log(sqf t_basement + 1)hay ta có thể suy ra:
price = e7.168351 × e0.102574×f loors × e0.075131×condition × e0.125203×view × (sqf t_above + 1)0.544601 ×(sqf t_living + 1)0.172785 × (sqf t_basement + 1)0.042919− 1
Trước hết, ta thấy rằng p − value tương ứng với thống kê F bé hơn 2.2e − 16, có ý nghĩa rất cao Điềunà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ố βi) và p − value tương ứng
Ta thấy rằng p − value tương ứng với các biến đều bé hơn 2e − 16 (ngoài trừ biến sqft_living có
p − value = 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 βi của một biến dự báo cũng có thể được xem như ảnh hưởng trung bìnhlê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
Trang 19không đổi Cụ thể, bβ1 = 0.102574 thì khi số tầng của một ngôi nhà bán ra tăng 1 tầng ta có thể
kỳ vọng log(price + 1) tăng lên 0.102574 về mặt đơn vị của log(price + 1) hay price + 1 tănglên e(0.102574)− 1 = 10.8% so price + 1 ban đầu (giả sử rằng các biến dự báo khác không đổi) Vớib
β2 = 0.075131 thì khi điều kiện ngôi nhà tăng thêm 1, ta có thể kỳ vọng log(price + 1) tăng lên0.075131 về mặt đơn vị của log(price + 1) hay price + 1 tăng lên e(0.075131)− 1 = 7.8% so price+ 1 ban đầu (giả sử rằng các biến dự báo khác không đổi) Hoặc với bβ4 = 0.544601 thì khi diện tíchngôi nhà cộng 1 (sqft_above + 1) tăng lên 1%, price + 1 tăng lên 1(0.544601)− 1 = 0.5% so price+ 1 ban đầu (giả sử rằng các biến dự báo khác không đổi)
Hệ số R2 hiệu chỉnh bằng 0.5134 nghĩa là 0.5134% sự biến thiên trong giá nhà đến được giải thích bởicác biến các biến độc lập
Kiểm tra các giả định của mô hình
Nhắc lại các giả định của mô hình hồi quy: Yi = β0+ β1.X1+ βi.Xi+ i, i = 1, n
+ Tính tuyến tính của dữ liệu: mối quan hệ giữa biến dự báo X và biến phụ thuộc Y được giả sử làtuyến tính
+ Sai số có phân phối chuẩn
+ Phương sai của các sai số là hằng số: i ∼ N (0, σ2)
+ Các sai số 1, , n thì độc lập với nhau
Ta thực hiện phân tích thặng dư để kiểm tra các giả định của mô hình:
Hình 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
Trang 21Đồ thị thứ 1 (Residuals vs Fitted) vẽ các giá trị dự báo với các giá trị thặng dư (sai số) tương ứng,dùng để kiểm tra tính tuyến tính của dữ liệu (giả định 1) và tính đồng nhất của các phương sai sai số(giả định 3) Nếu như giả định về tính tuyến tính của dữ liệu KHÔNG thỏa, ta sẽ quan sát thấy rằngcác điểm thặng dư (residuals) trên đồ thị sẽ phân bố theo một hình mẫu (pattern) đặc trưng nào đó(ví dụ parabol) Nếu đường màu đỏ trên đồ thị phân tán là đường thẳng nằm ngang mà không phải
là đường cong, thì giả định tính tuyến tính của dữ liệu được thỏa mãn Để kiểm tra giả định thứ 3(phương sai đồng nhất) thì các điểm thặng dự phải phân tán đều nhau xung quanh đường thẳng y = 0
Đồ thị thứ 2 (Normal Q-Q) cho phép kiểm tra giả định về phân phối chuẩn của các sai số Nếucác điểm thặng dư nằm trên cùng 1 đường thẳng thì điều kiện về phân phối chuẩn được thỏa
Đồ thị thứ 3 (Scale - Location) vẽ căn bậc hai của các giá trị thặng dư được chuẩn hóa với cácgiá trị dự báo, được dùng để kiểm tra giả định thứ 3 (phương sai của các sai số là hằng số) Nếu nhưđường màu đỏ trên đồ thị là đường thẳng nằm ngang và các điểm thặng dư phân tán đều xung quanhđường thẳng này thì giả định thứ 3 được thỏa Nếu như đường màu đỏ có độ dốc (hoặc cong) hoặccác điểm thặng dư phân tán không đều xung quanh đường thẳng này, thì giả định thứ 3 bị vi phạm
Đồ thị thứ 4 (Residuals vs Leverage) cho phép xác định những điểm có ảnh hưởng cao tial observations), nếu chúng có hiện diện trong bộ dữ liệu Những điểm có ảnh hưởng cao này có thể
(influen-là các điểm outliers, (influen-là những điểm có thể gây nhiều ảnh hưởng nhất khi phân tích dữ liệu Nếu như
ta quan sát thấy một đường thẳng màu đỏ đứt nét (Cook’s distance), và có một số điểm vượt quađường thẳng khoảng cách này, nghĩa là các điểm đó là các điểm có ảnh hưởng cao Nếu như ta chỉquan sát thấy đường thẳng khoảng cách Cook ở góc của đồ thị và không có điểm nào vượt qua nó,nghĩa không có điểm nào thực sự có ảnh hưởng cao
Nhận xét:
+ Đồ thị Normal Q-Q cho thấy giả định sai số có phân phối chuẩn thỏa mãn
+ Đồ thị thứ 1 (Residuals vs Fitted) cho thấy giả định về tính tuyến tính của dữ liệu chưa thực sựthoả mãn
+ Đồ thị thứ 1 và thứ 3 (Scale - Location) cho ta thấy rằng giả định về tính đồng nhất của phươngsai tương đối thoả mãn
+ Đồ thị thứ 4 chỉ ra có các quan trắc thứ 18877, 3915 và 13529 có thể là các điểm có ảnh hưởng caotrong bộ dữ liệu
1.3.5 Thực hiện dự báo cho giá nhà quận King
Dựa trên mô hình hồi quy ta xây dựng, hãy dự báo giá một ngôi nhà có:
+ 2 tầng
+ Điều kiện kiến trúc ngôi nhà: 3
+ Đánh giá quang cảnh ngôi nhà: 0
+ Diện tích ngôi nhà: 2170 m2
+ Diện tích khuôn viên nhà 2570 m2
+ Diện tích tầng hầm 400 m2