1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP LỚN SỐ 2 MÔN XÁC SUẤT THỐNG KÊ

16 74 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH  BÀI TẬP LỚN SỐ MƠN XÁC SUẤT THỐNG KÊ ĐỀ TÀI: LỚP L10 - NHÓM - HK 202 Giảng viên hướng dẫn: Nguyễn Đình Huy Sinh viên thực Hồng Ngọc Ánh Trần Tiến Anh Võ Nhật An Huỳnh Gia Bảo Phan Huỳnh Bảo Đỗ Thanh Bình Lê Dương Can Trần Minh Châu Phạm Tuấn Dũ Ngô Lê Quốc Dũng Mã số sinh viên 1912630 1910777 1912550 1910808 1912686 1912719 1910853 1912771 1912943 1910101 Thành phố Hồ Chí Minh – 2021 Điểm số Bài tập Tập tin "gia_nha.csv" chứa thông tin về giá bán thị trường (đơn vị đô la) của 21613 ngôi nhà ở quân King nước Mỹ khoảng thời gian từ tháng 5/2014 đến 5/2015 Bên cạnh giá nhà, dữ liệu còn bao gồm các thuộc tính mô tả chất lượng ngôi nhà Dữ liệu gốc được cung cấp tại: https://www.kaggle.com/harlfoxem/housesalesprediction       price: Giá nhà được bán sqft_living15: Diện tích trung bình của 15 ngôi nhà gần nhất khu dân cư 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ừ − 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à 1.Đọc dữ liệu (Import data): Hãy dùng lệnh read.csv() để đọc tệp tin Thực dòng lệnh: >data= read.csv("D:/gia_nha.csv", header=T) >attach(data) Giải thích: Đọc tệp tin lưu liệu với tên là: “data” Đưa dataframe “data” vào hệ thống 2.Làm sạch dữ liệu (Data cleaning): a) Hãy trích một dữ liệu đặt tên là new_DF chỉ bao gồm các biến chính mà ta quan tâm như đã trình bày phần giới thiệu dữ liệu Từ câu hỏi này về sau, mọi yêu cầu xử lý đều dựa trên tập dữ liệu new_DF này Thực dòng lệnh: >new_DF = data.frame(price,sqft_living15,floors,condition,sqft_above,sqft_living) >detach(data) >attach(new_DF) b) Kiểm tra các dữ liệu bị khuyết tập tin (Các câu lênh tham khảo: is.na(), which(), apply()) 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 Dữ liệu khuyết (missing data): Dữ liệu bị thiếu (missing values) đóng vai trò quan trọng thống kê phân tích liệu Thơng thường, missing values khơng nên bị bỏ qua mà cần nghiên cứu cẩn thận để xem xét xem điều khiến cho missing values bị thiếu Trong R, NA sử dụng để thể giá trị không tồn (not available) hay bị thiếu (missing) theo nghĩa thống kê Kí hiệu: TRUE Xác định liệu bị khuyết tập tin: Thực dòng lệnh: >apply(is.na(new_DF), 2, which) Kết thu được: Dựa kết thu được, ta nhận thấy có giá trị khuyết biến price Do đó, ta cần xử đưa phương pháp cho giá trị khuyết Ta có phương pháp xử lý giá trị khuyết sau: Phương pháp 01: Deletion(xoá): phương pháp dùng khi xác suất thiếu biến cho tất quan sát Phương pháp thực cách: List Wise Deletion and Pair Wise Deletion  List wise deletion: xóa quan sát mà biến bị thiếu, phương pháp có lỗ hỗng việc xoá quan sát cua biến bị thiếu làm giảm sức mạnh mơ hình xóa tồn hàng quan sát liệu bị thiếu  Pair Wise Deletion: thực phân tích với tất trường hợp có biến quan tâm Ưu điểm phương pháp là, giữ nhiều trường hợp có sẵn để phân tích Một nhược điểm phương pháp này, sử dụng cỡ mẫu khác cho biến khác Phương pháp 02: Mean/ Mode/ Median Imputation: phương pháp để điền vào giá trị thiếu với giá trị ước tính Mục tiêu sử dụng mối quan hệ biết xác định giá trị hợp lệ tập liệu để hỗ trợ ước tính cho giá trị cịn thiếu Mean/ Mode/ Median Imputation phương pháp sử dụng thường xuyên Ta có hai cách sử dụng:  Generalized Imputation: Trong trường hợp này, ta tính giá trị trung bình trung vị cho tất giá trị khơng bị thiếu biến sau thay giá trị bị thiếu giá trị trung bình trung vị  Similar case Imputation: trường hợp này, ta tính giá trị trung bình giá trị tính riêng lẻ theo đối tượng giá trị khơng bị thiếu , sau thay giá trị trung bình tính theo đối tượng trước Phương pháp 03: Prediction Model (mơ hình dự đốn): tạo mơ hình dự đốn để ước tính giá trị thay liệu bị thiếu Trong trường hợp này, chia tập liệu thành hai tập: Một tập khơng có giá trị bị thiếu cho biến tập khác có giá trị bị thiếu Tập liệu trở thành tập liệu huấn luyện mơ hình tập liệu thứ hai có giá trị bị thiếu tập liệu thử nghiệm biến có giá trị bị thiếu coi biến mục tiêu Tiếp theo, chúng tơi tạo mơ hình để dự đốn biến mục tiêu dựa thuộc tính khác tập liệu huấn luyện điền giá trị thiếu tập liệu thử nghiệm Phương pháp 4: KNN Imputation: Trong phương pháp gán giá trị , giá trị bị thiếu thuộc tính gán cách sử dụng số thuộc tính cho giống với thuộc tính có giá trị bị thiếu Sự giống hai thuộc tính xác định cách sử dụng hàm khoảng cách Tóm lại, R có nhiều cách khác để thay liệu khuyết Nhưng, với ưu nhược điểm phương pháp trường hợp này, ta chọn thay giá trị trung bình của tất giá trị không bị khuyết biến price vào giá trị khuyết Làm rõ liệu (Data Visualization) a) Chuyển đổi biến price, sqft_living15, sqft_above, sqft_living thành log(price), log(sqft_living15), log(sqft_above), log(sqft_living) Từ tính tốn với biến hiểu qua đổi biến dạng log Ý tưởng: Áp dụng hàm log() cho cột 1, 2, 5, (tương ứng với biến liên tục price, sqft_living15, sqft_above, sqft_living) lưu lại vào new_DF để tiếp tục sử dụng cho câu sau Thứ tự thực hiện: > new_DF[, c(1,2,5,6)] = log(new_DF[, c(1,2,5,6)]) Kết quả: b) Đối với biến liên tục, biến giá trị thông kê mô tả bao gồm: trung bình, trung vị, độ lệch chuẩn, giá trị lớn giá trị nhỏ Xuất kết dạng bảng (hàm gợi ý: mean(), median(), sd(), min(), max(), apply(), as.data.frame(), rownames()) Ý tưởng: Dùng hàm mean(), median(), sd(), min(), max() để tính giá trị trung bình, trung vị, độ lệch chuẩn, giá trị lớn giá trị nhỏ theo cột, sau ghép giá trị với Thứ tự thực hiện: > mean = apply(new_DF[, c(1,2,5,6)], 2, mean) > median = apply(new_DF[, c(1,2,5,6)], 2, median) > sd = apply(new_DF[, c(1,2,5,6)], 2, sd) > max = apply(new_DF[, c(1,2,5,6)], 2, max) > = apply(new_DF[, c(1,2,5,6)], 2, min) Ta dùng hàm apply() để tính hàm mean(), median(), sd(), min(), max() theo cột (tham số truyền vào), áp dụng với cột thứ 1, 2, 5, (tương ứng với thuộc tính price, sqft_living15, sqft_above, sqft_living) lưu vector trả vào biến tương ứng mean, median, sd, max, > describe = cbind(mean, median, sd, max, min) > as.data.frame(describe) Khi có giá trị cần thiết, ta ghép vector thành bảng hàm cbind(), ép kiểu sang kiểu data frame hàm as.data.frame() Kết quả: c) Đối với biến phân loại, lập bảng thống kê số lượng cho loại Ý tưởng: Sử dụng hàm table() cho biến phân loại floors, condition Thứ tự thực hiện: > table(floors) >table(condition) Kết quả: d) Hãy dùng hàm hist() để vẽ đồ thị phân phối cho biến price Thứ tự thực hiện: > hist(price,breaks=100,main="Biểu đồ phân phối Price") Ta truyền vào tham số breaks = 100 để chia biểu đồ thành nhiều cột hơn, tham số lại nhãn cho trục x, y tên biểu đồ Kết quả: f) 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 Vẽ biểu đồ Boxplot biến price cho nhóm phân loại biến floors Thực dòng lệnh: >boxplot(price~floors) Kết quả: Vẽ biểu đồ Boxplot cho biến price cho nhóm phân loại biến condition Thực dịng lệnh: >boxplot(price~condition) Kết quả: g) 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 Vẽ các phân phối của biến price theo biến sqft_living15 Thực dòng lệnh: >pairs(price~sqft_living15) Kết quả: Vẽ các phân phối của biến price theo biến sqft_above Thực dòng lệnh: >pairs(price~sqft_above) Kết quả: Vẽ các phân phối của biến price theo biến sqft_living Thực dòng lênh: >pairs(price~sqft_living) Kết quả: Xây dựng các mô hình hồi quy tuyến tính (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 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à một 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 tún tính bội Xét mơ hình:  price: biến liên tục  sqft_living15: biến liên tục  floors: biến phân loại  condition: biến phân loại  sqft_above: biến liên tục  sqft_living: biến liên tục Thực dòng lệnh: >floors=as.factor(floors) >condition=as.factor(condition) Ý nghĩa: thay biến floors condition thành biến nhân tố Xây dựng mơ hình 1: >M1=lm(price ~ sqft_living15 + floors + condition + sqft_above + sqft_living) >summary(M1) Kết quả: 10 b).Dựa vào kết mơ hình hồi quy tuyến tính trên, biến bạn loại khỏi mơ hình tương ứng với mức ý nghĩa 5% 1%? Giả thiết: H0 Các hệ số hồi quy khơng có ý nghĩa thống kê  Với mức tin cậy 5% : Các biến Condition2, condition3, condition4, condition5 có Pr(>|t|>0,05) nên ta chấp nhận giả thuyết H0 Các biến condition2, condition3, conditon4, condition5 bị loại khỏi mơ hình với mức tin cậy 5%  Với mức tin cậy 1%: Các biến Condition2, condition3, condition4, condition5 có Pr(>|t|>0,01) nên ta chấp nhận giả thuyết H0 Các biến condition2, condition3, conditon4, condition5 bị loại khỏi mơ hình với mức tin cậy 1% c).Xét mô hình 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ệnhh anova() để đề xuất mô hình hồi quy hợp lý hơn Xây dựng mô hình 2: Thực dịng lệnh: >M2= lm(price~sqft_living15 +floors+ sqrt_above+sqft_living) >summary(M2) Kết quả: 11 Phân tích ANOVA: Xét mơ hình M1 M2: thực dòng lệnh: >anova(M1,M2) Kết quả: Nhận xét: sau phân tích ANOVA mơ hình M1, M2 theo kết thu Pr(>|t|)=2.2e-16 Chọn mức ý nghĩa 0.05 PR(>|t|)< 0,05 Vậy mơ hình M1, M2 khác Nhưng biến loại bỏ từ mơ hình M1 biến “ condition” khơng có ý nghĩa thống kê nên ta chọn mơ hình M1 tốt M2  Chọn mơ hình M1 tốt 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à Mơ hình hồi quy tuyến tính hợp lý mơ hình M1 Kết mơ hình M1: 12 Nhận xét: Các biến sqft_living15, floors1.5, floors2, floors2.5, floors3, floors 3.5, sqft_above, sqft_living có ý nghĩa thống kê cao biến price (giá cả), có nghĩa thay đổi biến có ảnh hưởng nhiều đến thay đổi đến giá nhà Còn biến condition1, condition2, condition3 khơng có ảnh hưởng đến giá nhà e) Từ mơ hình mà bạn chọn câu (c) dùng lệnh plot() để vẽ đồ thị biểu thị sai số hồi quy (residuals) giá trị dự báo (fitted values) Nêu ý nghĩa nhận xét đồ thị Thực dòng lệnh: >plot(fitted(M1),resid(M1)) >plot(M1,which=1) Kết quả: 13 Nhận xét: Đường hồi quy màu đỏ mô hình vẽ gần sát với đường Residuals = 0e+00 Ý nghĩa: Đường hồi quy gần với đường sai số hồi quy Residuals = chứng tỏ mơ hình M1 ta chọn câu (c) mơ hình hợp lý 5.Dự báo (Predictions): Từ mô hình bạn chọn câu (c), hãy dùng lệnh predict() để dự báo giá nhà tại 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 = x2: sqft_living15 = max(sqft_living15), sqft_above = max(sqft_above), sqft_living = max(sqft_living), floor = 2, condition =  So sánh khoảng tin cậy cho giá trị dự báo này Nhập: X1 = data.frame(sqft_living15 = mean(sqft_living15), sqft_above = mean(sqft_above), sqft_living = mean(sqft_living), floors = “2”, condition = “3”) Mục đích: tạo thuộc tính X1 predict(m1,X1, “interval=confidence”) Mục đích: Dự báo giá nhà thuộc tính X1 14 Nhập: X2 = data.frame(sqft_living15 = max(sqft_living15), sqft_above = max(sqft_above), sqft_living = max(sqft_living), floors = "2", condition = "3") Mục đích: tạo thuộc tính X2 predict(m1,X2, “interval=confidence”) Mục đích: Dự báo giá nhà thuộc tính X2 Kết quả:  Dựa vào kết quả, ta thấy độ tin cậy X1 rộng X2 15 TÀI LIỆU THAM KHẢO Nguyễn Đình Huy Đậu Thế Cấp, Lê Xuân Đại (2019) Giáo trình Xác suất thống kê, NXB Đại học Quốc gia TP Hồ Chí Minh Hossein Pishro-Nik ( 2016) Introduction to probability, statistics, and random processes Rstudio pubs static (12/07/2019) Predict House sale prices using Multiple Linear Regression Truy cập từ http://rstudio-pubs-static.s3.amazonaws.com/492324_a794047954284fdbbb5efd06 31be458c.html Ngyễn Văn Tuấn (2013) Phân tích số liệu biểu đồ R Truy cập từ https://cran.r-project.org/doc/contrib/Intro_to_R_Vietnamese.pdf Long's blog (2019) Mơ hình hồi quy ứng dụng toán dự đoán giá bất động sản – Machine Learning Truy cập từ https://bitly.com.vn/qxji22 16

Ngày đăng: 11/04/2022, 21:08

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w