Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
692,43 KB
Nội dung
lOMoARcPSD|15963670 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO BÀI TẬP LỚN: XÁC SUẤT THỐNG KÊ Giáo viên hướng dẫn: Nguyễn Đình Huy Sinh viên: Lưu Hồng Phúc Hưng MSSV:2013385 Lớp: L06 Khoa Kỹ thuật xây dựng Hồồ Chí Minh, ngày 12 tháng 11 năm 2021 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Đề tài 5: Hoạt động 1: Tập tin heat_data thu thập với mục tiêu đánh giá nhân tố ảnh hưởng đến mức độ thu nhiệt toả nhiệt ngơi nhà Các biến liệu: X1 - Độ nhỏ gọn X2 - Diện tích bề mặt X3 - Diện tích tường X4 - Khu vực mái nhà X5 - Chiều cao tổng thể X6 - Định hướng X7 - Khu vực dán kính X8 - Phân bố khu vực dán kính y1 - Mức độ thu Nhiệt y2 - Mức độ tỏa nhiệt Các bước thực hiện: Đọc liệu (Import data): heat_date.csv Làm liệu (Data cleaning): NA (dữ liệu khuyết) Làm rõ 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 dùng đồ thị Mơ hình hồi quy tuyến tính : Sử dụng mơ hình hồi quy tuyến tính phù hợp để đánh giá nhân tố tác động đến mức độ thu nhiệt nhà t.test: Đề suất kiểm định phù hợp để so sánh trung bình mức thu nhiệt tỏa nhiệt nhà Thực Rstudio 1.Đọc liệu (Import data): Hãy dùng lệnh read.csv() để đọc tệp tin Khai báo thư viện (library) sử dụng tồn q trình thực tập (cần phải cài đặt thư viện thông qua Install package(s) R Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Input: >#Cai dat thu vien >install.packages("dplyr") >library(dplyr) >#Doc du lieu >setwd("C:/BTL") Thực đọc liệu cho file “heat_data.csv” thông qua read.csv() >EG = read.csv("heat_data.csv") Output: Làm liệu (Data cleaning): NA (dữ liệu khuyết): Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Input: #Kiem tra du lieu khuyet >apply(is.na(EG), 2,which) Output: Dòng lệnh >apply(is.na(new_DF),2,which) để kiểm tra vị trí liệu khuyết Đề xuất phương án xóa liệu khuyết chiếm q nhỏ liệu đề nên bỏ không ảnh hưởng Làm rõ liệu (Data visualization) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Tính giá trị thống kê mơ tả gồm: trung bình, trung vị, độ lệch chuẩn, giá trị lớn giá trị nhỏ Xuất kết với dạng bảng hàm: mean(), median(), sd(), min(), max(), apply(), as.data.frame() Input: > #Bien lien tuc > mean = apply(EG[,c(1,2,3,4,5,7,9,10)], 2, mean, na.rm = T) > median = apply(EG[,c(1,2,3,4,5,7,9,10)], 2, median, na.rm = T) > sd = apply(EG[,c(1,2,3,4,5,7,9,10)], 2,sd, na.rm = T) > max = apply(EG[,c(1,2,3,4,5,7,9,10)], 2, max, na.rm = T) > = apply(EG[,c(1,2,3,4,5,7,9,10)], 2, min, na.rm = T) > Bangthongtin = cbind(mean, median, sd, max, min) > as.data.frame(Bangthongtin) Output: Dùng hàm boxplot() vẽ phân phối biến X1 cho nhóm phân loại Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Thống kê mô tả Thống kê biến rời rạc: Đầu tiên tạo khung liệu data.frame sau tạo bảng thống kê cho biến Table() Thay đổi tên cột khung liệu biến lệch colnames() “nhóm” , “số lượng” Input: > #Thong ke gia tri cac bien roi rac > X1=as.data.frame(table(EG$X1)) > colnames(X1)=c("Nhom","So luong") > X2=as.data.frame(table(EG$X2)) > colnames(X2)=c("Nhom","So luong") > X3=as.data.frame(table(EG$X3)) > colnames(X3)=c("Nhom","So luong") > X4=as.data.frame(table(EG$X4)) > colnames(X4)=c("Nhom","So luong") > X5=as.data.frame(table(EG$X5)) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 > colnames(X5)=c("Nhom","So luong") > X6=as.data.frame(table(EG$X6)) > colnames(X6)=c("Nhom","So luong") > X7=as.data.frame(table(EG$X7)) > colnames(X7)=c("Nhom","So luong") > X8=as.data.frame(table(EG$X8)) > colnames(X8)=c("Nhom","So luong") Output: Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 (theo thứ tự X1, X2, X3, X4, X5, X6, X7, X8) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Vẽ đồ thị phân phối mức độ thu tỏa nhiệt “hist” Input: > #hist Y1 Y2 > hist(EG$Y1,col = "blue", main = "Phan bo cua Y1") > hist(EG$Y2,col = "yellow", main = "Phan bo cua Y2") Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Thay đổi kiểu liệu: chuyển đổi cột liệu sang định dạng số biến Input: > X1 = as.numeric(EG$X1) > X2 = as.numeric(EG$X2) > X3 = as.numeric(EG$X3) > X4 = as.numeric(EG$X4) > X5 = as.numeric(EG$X5) > X6 = as.factor(EG$X6) > X7 = as.numeric(EG$X7) > X8 = as.factor(EG$X8) > Y1=as.numeric(EG$Y1) > Y2=as.numeric(EG$Y2) Phân tích liệu mức độ thu tỏa nhiệt (Y) phụ thuộc vào biến X biểu đồ (dùng pair) Phân phối mức độ thu nhiệt: y1 Input: #pair Y1 >pairs(Y1 ~ X1, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X1") >pairs(Y1 ~ X2, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X2") >pairs(Y1 ~ X3, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X3") >pairs(Y1 ~ X4, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X4") >pairs(Y1 ~ X5, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X5") >pairs(Y1 ~ X6, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X6") >pairs(Y1 ~ X7, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X7") >pairs(Y1 ~ X8, pch = 1,col="blue", main = "Phan phoi cua Y1 voi X8") Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Phân phối mức độ tỏa nhiệt: y2 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Input: #pairs Y2 >pairs(Y2 ~ X1, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X1") >pairs(Y2 ~ X2, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X2") >pairs(Y2 ~ X3, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X3") >pairs(Y2 ~ X4, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X4") >pairs(Y2 ~ X5, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X5") >pairs(Y2 ~ X6, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X6") >pairs(Y2 ~ X7, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X7") >pairs(Y2 ~ X8, pch = 1,col="yellow", main = "Phan phoi cua Y2 voi X8") Output: Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Mối quan hệ đôi (hệ số tương quan R) Input: > corX1=cbind(cor(EG$X1,EG$X1),cor(EG$X1,EG$X2),cor(EG$X1,EG$X3), + cor(EG$X1,EG$X4),cor(EG$X1,EG$X5), + cor(EG$X1,EG$X6),cor(EG$X1,EG$X7), + cor(EG$X1,EG$X8) ) > colnames(corX1) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX1)= c("X1 vs") > corX2=cbind(cor(EG$X2,EG$X1),cor(EG$X2,EG$X2), + cor(EG$X2,EG$X3),cor(EG$X2,EG$X4), + cor(EG$X2,EG$X5),cor(EG$X2,EG$X6), + cor(EG$X2,EG$X7),cor(EG$X2,EG$X8) ) > colnames(corX2) = c("X1","X2","X3","X4","X5","X6","X7","X8") Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 > row.names(corX2)= c("X2 vs") > corX3=cbind(cor(EG$X3,EG$X1),cor(EG$X3,EG$X2), + cor(EG$X3,EG$X3),cor(EG$X3,EG$X4), + cor(EG$X3,EG$X5),cor(EG$X3,EG$X6), + cor(EG$X3,EG$X7),cor(EG$X3,EG$X8) ) > colnames(corX3) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX3)= c("X3 vs") > corX4=cbind(cor(EG$X4,EG$X1),cor(EG$X4,EG$X2), + cor(EG$X4,EG$X3),cor(EG$X4,EG$X4), + cor(EG$X4,EG$X5),cor(EG$X4,EG$X6), + cor(EG$X4,EG$X7),cor(EG$X4,EG$X8) ) > colnames(corX4) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX4)= c("X4 vs") > corX5=cbind(cor(EG$X5,EG$X1),cor(EG$X5,EG$X2), + cor(EG$X5,EG$X3),cor(EG$X5,EG$X4), + cor(EG$X5,EG$X5),cor(EG$X5,EG$X6), + cor(EG$X5,EG$X7),cor(EG$X5,EG$X8) ) > colnames(corX5) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX5)= c("X5 vs") > corX6=cbind(cor(EG$X6,EG$X1),cor(EG$X6,EG$X2), + cor(EG$X6,EG$X3),cor(EG$X6,EG$X4), + cor(EG$X6,EG$X5),cor(EG$X6,EG$X6), + cor(EG$X6,EG$X7),cor(EG$X6,EG$X8) ) > colnames(corX6) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX6)= c("X6 vs") Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 > corX7=cbind(cor(EG$X7,EG$X1),cor(EG$X7,EG$X2), + cor(EG$X7,EG$X3),cor(EG$X7,EG$X4), + cor(EG$X7,EG$X5),cor(EG$X7,EG$X6), + cor(EG$X7,EG$X7),cor(EG$X7,EG$X8) ) > colnames(corX7) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX7)= c("X7 vs") > corX8=cbind(cor(EG$X8,EG$X1),cor(EG$X8,EG$X2), + cor(EG$X8,EG$X3),cor(EG$X8,EG$X4), + cor(EG$X8,EG$X5),cor(EG$X8,EG$X6), + cor(EG$X8,EG$X7),cor(EG$X8,EG$X8) ) > colnames(corX8) = c("X1","X2","X3","X4","X5","X6","X7","X8") > row.names(corX8)= c("X8 vs") > Cetable= rbind(corX1,corX2,corX3,corX4,corX5,corX6,corX7,corX8) > as.data.frame(Cetable) Mơ hình hồi quy tuyến tính Xây dựng mơ hình hồi quy tuyến tính bao gồm biến X4 biến phụ thuộc, tất biến lại biến độc lập #Hồi quy X4 > MX4 = lm(X4~X1+X2+X3+X5+X6+X7+X8) > summary(MX4) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Theo mơ hình hồi quy tuyến tính “MX4”, mức tin cậy lớn 5% khơng có dấu nên X5, X63, X64, X65, X7 khơng mang ý nghĩa thống kê=> loại khỏi mơ hình Các biến cịn lại có ý nghĩa thống kê #Tong ket C.E Y1 > corY1=cbind(cor(EG$X1,EG$Y1),cor(EG$X2,EG$Y1), + cor(EG$X3,EG$Y1),cor(EG$X4,EG$Y1), + cor(EG$X5,EG$Y1),cor(EG$X6,EG$Y1), + cor(EG$X7,EG$Y1),cor(EG$X8,EG$Y1)) > colnames(corY1)=c("X1 vs Y1","X2 vs Y1", + "X3 vs Y1","X4 vs Y1", + "X5 vs Y1","X6 vs Y1", Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 + "X7 vs Y1","X8 vs Y1") > rownames(corY1)=c("correlation coefficient") #Tong ket C.E Y2 > corY2=cbind(cor(EG$X1,EG$Y2),cor(EG$X2,EG$Y2), + cor(EG$X3,EG$Y2),cor(EG$X4,EG$Y2), + cor(EG$X5,EG$Y2),cor(EG$X6,EG$Y2), + cor(EG$X7,EG$Y2),cor(EG$X8,EG$Y2)) > colnames(corY2)=c("X1 vs Y2","X2 vs Y2", + "X3 vs Y2","X4 vs Y2", + "X5 vs Y2","X6 vs Y2", + "X7 vs Y2","X8 vs Y2") > rownames(corY2)=c("Correlation coefficient") Sau tổng kết, xây dựng mô hình hồi quy tuyến tính cho biến Y1 Y2 #Hồi quy Y1 > M1 = lm(Y1~X1+X2+X3+X4+X5+X6+X7+X8,data = EG) > summary(M1) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Theo mơ hình hồi quy tuyến tính “M1”, mức tin cậy lớn 5% khơng có dấu nên X6 khơng mang ý nghĩa thống kê=> loại khỏi mơ hình Các biến cịn lại có ý nghĩa thống kê #Hồi quy Y2 > M2 = lm(Y1~X1+X2+X3+X5+X7+X8,data = EG) > summary(M2) > anova(m1,m2) Đặt giả thiết : H: M1, M2 có độ phù hợp H : M1, M2 có độ phù hợp khác Ta thấy Pr(>F)= 0.8055 nhỏ lớn mức ý nghĩa 5% nên mơ hình M1, M2 có độ phù hợp giống Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Đồ thị biểu sai số hồi quy giá trị dự báo lệnh plot() > #plot fitted > plot(fitted(m2), resid(m2), xlab = "fitted values", ylab = "residuals", main = "Plot of residuals and fitted values of Y1") > plot(fitted(m22), resid(m22), xlab = "fitted values", ylab = "residuals", main = "Plot of residuals and fitted values of Y2") Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Mức độ phù hợp modelfit > new_EG= EG[,c(1,2,3,4,5,6,7,8)] > pred_Y1=data.frame(predict(m2,new_EG)) > origin_Y1=EG[,c(9)] > View(new_EG) > View(new_EG) > #modelfit > new_EG= EG[,c(1,2,3,4,5,6,7,8)] > pred_Y1=data.frame(predict(m2,new_EG)) > origin_Y1=EG[,c(9)] > sosanh=cbind(pred_Y1,origin_Y1) > as.data.frame(sosanh) new_EG2= EG[,c(1,2,3,4,5,6,7,8)] pred_Y2=data.frame(predict(m22,new_EG2)) origin_Y2=EG[,c(10)] sosanh2=cbind(pred_Y2,origin_Y2) as.data.frame(sosanh2) Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Hoạt động Downloaded by ng?c trâm (ngoctram201217@gmail.com)