You are on page 1of 21

PHẦN RIÊNG

Đề bài: Tập tin “EBN2012_data.xlsx” chứa thông tin về nghiên cứu đánh giá các yêu cầu
về tải sưởi và tải làm mát của các tòa nhà (nghĩa là hiệu suất năng lượng) như một hàm
của thông số tòa nhà. Tám thuộc tính (kí hiệu là X1, X2, … , X8 và hai kết quả ký hiệu là
y1, y2. Tám tính năng trên dùng để dự đoán từng kết quả trên.
Dữ liệu gốc được cung cấp tại:
UCI Machine Learning Repository: Energy efficiency Data Set
Các biến chính trong bộ dữ liệu trên:
X1 – độ nhỏ gọn tương đối (Relative Compactness)
X2 – Diện tích bề mặt (Surface Area)
X3 – Diện tích tường (Wall Area)
X4 – Diện tích mái nhà (Roof Area)
X5 – Chiều cao tổng thể (Overall Height)
X6 – Định hướng (Orientation)
X7 – Diện tích khu vực kính (Glazing Area)
X8 – Phân bố khu vực tráng men (Glazing Area Distribution)
y1 – tải hệ thống sưởi (Heating Load)
y2- tải làm mát (Cooling Load)
Trong có các biến X1, X2, …, X8 là các biến độc lập; y1, y2 là các biến phụ thuộc.
Phương pháp giải
1. Đọc dữ liệu
- Dùng lệnh read.csv()
+ Code:

2. Làm sạch dữ liệu (Data cleaning):


a). Trích ra một dữ liệu con đặt tên là d2 chỉ chứa 500 mẫu đầu tiên bao gồm các biến
chính mà ta quan tâm như đã trình bày trong phần giưới thiệu dữ liệu. Từ phần sau, mọi
yêu cầu xử lí đề thwujc hiện trên tập dữ liệu con d2 này.
+ Code:
b). Kiểm tra các dữ liệu bị khuyết tật trong tập tin. (Các câu lệnh tham khảo: is.na(),
which(), apply()). Nếu có dữ liệu khuyết hãy đề xuất phương pháp thay thế cho những dữ
liệu này.
+ Code:

+Output:

- Vậy dữ liệu trong d2 không bị khuyết.


3. Làm rõ dữ liệu (Data Visualization)
a). Đố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())
- Các Các biến liên tục trong bộ dữ liệu là: X1, X2, X3, X4, X5, X7, Y1, Y2 tương ứng với
cột thứ 1, 2, 3, 4, 5, 7, 9, 10 trong dữ liệu.

- Tính giá trị trung bình của các biến liên tục (X1, X2, X3, X4, X5, X7, Y1, Y2) và lưu vào
biến “mean”

+ Code:

- Tính giá trị độ lệch chuẩn của các biến liên tục (X1, X2, X3, X4, X5, X7, Y1, Y2) và lưu
vào biến “sd”
+ Code:

- Tính giá trị trung vị của các biến liên tục (X1, X2, X3, X4, X5, X7, Y1, Y2) và lưu vào
biến “median”
+ Code:
- Tính giá trị nhỏ nhất của các biến liên tục (X1, X2, X3, X4, X5, X7, Y1, Y2) và lưu vào
biến “min”
+ Code:

- Tính giá trị lớn nhất của các biến liên tục (X1, X2, X3, X4, X5, X7, Y1, Y2) và lưu vào
biến “max”
+ Code:

- Chuyển các kết quả: mean, sd, median, min, max vừa tính được thành dạng bảng ứng với
các biến liên tục: X1, X2, X3, X4, X5, X7, Y1, Y2
+ Code:

- In kết quả của biến “des” ra màn hình:


+ Code:

+ Output:

b). Đố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 loại.
- Các biến phân loại trong bảng dữ liệu: X6, X8

- Tạo bảng thống kế số lượng cho biến “X6”.


+ Code:

+ Output:
- Tạo bảng thống kế số lượng cho biến “X8”.
+ Code:

+ Output:

c). Hãy dùng hàm hist() để vẽ đồ thị phân phối cho biến Y1, Y2
- Vẽ biểu đồ histogram cho biến Y1
+ Code:

+ Output:

Nhận xét: thông qua hình dạng phân phối này, ta nhận ra xu hướng phân bố của tải hệ thống sưởi
không dao động quanh giá trị trung vị.
- Vẽ biểu đồ histogram cho biến Y2
+ Code:

+ Output:
Nhận xét: thông qua hình dạng phân phối này, ta nhận ra xu hướng phân bố của tải hệ làm mát
không dao động quanh giá trị trung vị.
d). Hãy dùng hàm boxplot() vẽ phân phối của biến G3 cho từng nhóm phân loại của biến X6, X8
- Vẽ biểu đồ Boxplot của biến Y1 cho từng nhóm phân loại của biến “X6”
+ Code:

+ Output:

- Vẽ biểu đồ Boxplot của biến Y2 cho từng nhóm phân loại của biến “X6”
+ Code:
+ Output:

- Vẽ biểu đồ Boxplot của biến Y1 cho từng nhóm phân loại của biến “X8”
+ Code:

+ Output:

- Vẽ biểu đồ Boxplot của biến Y2 cho từng nhóm phân loại của biến “X8”
+ Code:

+ Output:
e). Dùng lệnh pairs() vẽ các phân phối của biến Y1, Y2 lần lượt theo các biến X1, X2, X3, X4,
X5, X7.
- Vẽ các phân phối của biến Y1 theo biến X1
+ Code:

+ Output:

- Vẽ các phân phối của biến Y1 theo biến X2


+ Code:

+ Output:
- Vẽ các phân phối của biến Y1 theo biến X3
+ Code:

+ Output:

- Vẽ các phân phối của biến Y1 theo biến X3


+ Code:

+ Output:
- Vẽ các phân phối của biến Y1 theo biến X5
+ Code:

+ Output:

- Vẽ các phân phối của biến Y1 theo biến X7


+ Code:

+ Output:
- Vẽ các phân phối của biến Y2 theo biến X1
+ Code:

+ Output:

- Vẽ các phân phối của biến Y2 theo biến X2


+ Code:
+ Output:

- Vẽ các phân phối của biến Y2 theo biến X3


+ Code:

+ Output:

- Vẽ các phân phối của biến Y2 theo biến X4


+ Code:
+ Output:

- Vẽ các phân phối của biến Y2 theo biến X5


+ Code:

+ Output:
- Vẽ các phân phối của biến Y2 theo biến X7
+ Code:

+ Output:

4. Xây dựng các mô hình hồi quy tuyến tính (Fitting linear regression models):
a). Xét mô hình hối quy tuyến tính bao gồm các biến Y1, Y2 là các biến phụ thuộc, các biến còn
lại là các 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.
- Ta có các biến X6-Orientation và X8-Glazing Area Distribution là các biến phân loại.

- Thay thế các biến X6, X8 thành các biến nhân tố.
+ Code:

- Xây dựng mô hình hồi quy tuyến tính bội của Y1 và lưu biến vào M1.
+ Code:

- Tính toán các giá trị thống kê mô tả khi xây dựng mô hình M1.
+ Code:
+ Output:

- Xây dựng mô hình hồi quy tuyến tính bội của Y2 và lưu biến vào M2.
+ Code:

- Tính toán các giá trị thống kê mô tả khi xây dựng mô hình M1.
+ Code:

+ Output:
b). Dựa vào kết quả của mô hình quy tuyến tính trên, những biến nào sẽ loại bỏ khỏi mô hình với
các mức tin cậy 5% và 1%.
- H: các hệ số hồi quy đều không có ý nghĩa thống kê.

- Đối với Y1:


=> Với mức tin cậy 5%: các biến: X63, X64, X65 có Pr(>|t|>0,05) nên ta chấp nhận già
thiết H. Vậy các biến : X63, X64, X65 bị loại ra khỏi mô hình với mức tin cậy là 5%.
=> Với mức tin cậy 1%: các biến: X63, X64, X65 có Pr(>|t|>0,01) nên ta chấp nhận già
thiết H. Vậy các biến : X63, X64, X65 bị loại ra khỏi mô hình với mức tin cậy là 1%.

- Đối với Y2:


=> Với mức tin cậy 5%: các biến: X64 có Pr(>|t|>0,05) nên ta chấp nhận già thiết H.
Vậy các biến : X64 bị loại ra khỏi mô hình với mức tin cậy là 5%.
=> Với mức tin cậy 1%: các biến: X63, X64, X65, X83 có Pr(>|t|>0,01) nên ta chấp
nhận già thiết H. Vậy các biến : X63, X64, X65, X83 bị loại ra khỏi mô hình với mức tin
cậy là 1%.

c). Xét mô hình cùng bao gồm Y1 là biến phụ thuộc nhưng:
Mô hình M1 chứa tất cả các biến độc lập .
Mô hình M1_1 là loại bỏ biến X6 từ M1.
Mô hình M1_2 là loại bỏ biến X4 từ M1_1.
Hãy dùng lệnh anova() để đề xuất mô hình hồi quy hợp lý hơn.

- Xây dựng mô hình hồi quy M1_1 và tính toán các giá trị thống kê mô tả khi xây dựng mô
hình M1_1.
+ Code:

+ Output:

- Xây dựng mô hình hồi quy M1_2 và tính toán các giá trị thống kê mô tả khi xây dựng mô
hình M1_2.

+ Code:
+ Output:

Phân tích ANOVA


- Phân tích ANOVA 2 mô hình hồi quy tuyến tính M1 và M1_1.
+ Code:

+ Output:

Nhận xét : Dựa vào kết quả phân tích ANOVA hai mô hình M1 và M1_1, ta thu được giá trị Pr(>
F ) = 0.9869. Chọn mức ý nghĩa 0,05, khi đó Pr(> F )>0,05 . Vậy 2 mô hình M1 và M1_1 giống
nhau và biến ta loại bỏ từ mô hình M1 là biến “X6” không có ý nghĩa thống kê nên ta chọn mô
hình M1_1 tốt hơn ( vì loại bỏ đi được biến không tin cậy thì càng tốt ).
- Phân tích ANOVA 2 mô hình hồi quy tuyến tính M1 và M1_2.
+ Code:

+ Output:

Nhận xét : Sau khi phân tích ANOVA 2 mô hình M1_1 và M1_2, theo kết quả thu được thì Pr(>
F ) = 0. Chọn mức ý nghĩa 0.05 thì Pr(>|F) < 0.05 .Vậy 2 mô hình M1_1 và M1_2 khác nhau
nhưng biến ta loại bỏ từ M1_1 là biến “X4” có ý nghĩa thống kê nên ta chọn mô hình M1_1 tốt
hơn M1_2.

Kết luận: Sau khi thực hiện phân tích ANOVA, kết quả thu được: mô hình M1 giống với mô
hình M1_1 và mô hình M1_1 tốt hơn mô hình M1 và mô hình M1_2. Vậy ta chọn mô hình M1_1
làm mô hình hồi quy tuyến tính hợp lý nhất.

d). Xét mô hình cùng bao gồm Y2 là biến phụ thuộc nhưng:
Mô hình M2 chứa tất cả các biến độc lập .
Mô hình M2_1 là loại bỏ biến X8 từ M2.
Mô hình M2_2 là loại bỏ biến X4 từ M2_1.
Hãy dùng lệnh anova() để đề xuất mô hình hồi quy hợp lý hơn.

- Xây dựng mô hình hồi quy M2_1 và tính toán các giá trị thống kê mô tả khi xây dựng mô
hình M2_1.

+ Code:

+ Output:
- Xây dựng mô hình hồi quy M2_2 và tính toán các giá trị thống kê mô tả khi xây dựng mô
hình M2_2.

+ Code:

+ Output:
Phân tích ANOVA
- Phân tích ANOVA 2 mô hình hồi quy tuyến tính M2 và M2_1.
+ Code:

+ Output:

Nhận xét : sau khi phân tích ANOVA 2 mô hình M2 và M2_1, theo kết quả thu được thì Pr(> |t| )
= 0.07325. Chọn mức ý nghĩa 0.05 thì Pr(> |t| ) > 0.05 .Vậy 2 mô hình M2 và M2_1 giống nhau
và biến ta loại bỏ từ M2 là biến “X8” không có ý nghĩa thống kê nên ta chọn mô hình M2_1 tốt
hơn M2.

- Phân tích ANOVA 2 mô hình hồi quy tuyến tính M1 và M1_2.


+ Code:

+ Output:
Nhận xét: : Sau khi phân tích ANOVA 2 mô hình M2_1 và M2_2, theo kết quả thu được thì Pr(>
F ) = 0. Chọn mức ý nghĩa 0.05 thì Pr(>F) < 0.05 .Vậy 2 mô hình M2_1 và M2_2 khác nhau.
Nhưng biến ta loại bỏ từ M2_1 là biến “X4” không có ý nghĩa thống kê nên ta chọn mô hình
M2_1 tốt hơn M2_2.

Kết luận: sau khi thực hiện phân tích ANOVA, kết quả thu được là mô hình M2 giống với mô
hình M2_1 và mô hình M2_1 tốt hơn mô hình M2_2. Vậy ta chọn mô hình M2_1 làm mô hình
hồi quy tuyến tính hợp lý nhất.

You might also like