You are on page 1of 21

Các bước làm:

Xử lý làm sạch

Tính outlier cho từng biến, xử lý outlier

Làm thống kê mô tả

Thống kê đơn biến

Tính toán một số giá trị thống kê như

mean, median, mode, sum (Tìm hiểu về độ tập trung)

variance, std, range, min-max, skewness, kurtosis, SE của mean (Tìm


hiểu về độ phân tán)

Q1, Q3, IQR (Tìm hiểu về phân vị)

Thống kê đa biến

Tìm hiểu đa cộng tuyến

Thống kê suy luận

Chọn mô hình

Kiểm tra lại từng biến bằng kiểm định t (p-value < 0.05) để tìm hiểu ý nghĩa từng biến
với mô hình đã chọn

Tính toán R bình phương, có ý nghĩa thống kê không

Kiểm tra lại các giả định ban đầu như:

Epsilon có độc lập cùng phân phối không

Residual có xấp xỉ phân phối chuẩn hay k (Dùng kiểm định Shapiro-Wilk, vẽ plot
residual ra)

Bài 3:

Xử lý làm sạch

# Datatype cua tung cot co dong nhat voi nhau khong => Co

# Kiem tra co null value khong => Khong co

# Kiem tra outlier

q1_TAX_x_i1 = quantile(luongtieuthuxang$"TAX x_i1", 0.25)


q3_TAX_x_i1 = quantile(luongtieuthuxang$"TAX x_i1", 0.75)

IQR_TAX_x_i1 = q3_TAX_x_i1 - q1_TAX_x_i1

# tinh chan tren, chan duoi

lower_threshold_TAX_x_i1 = (q1_TAX_x_i1 - 1.5*IQR_TAX_x_i1)

upper_threshold_TAX_x_i1 = (q3_TAX_x_i1 + 1.5*IQR_TAX_x_i1)

# xac dinh outlier, nho hn lower hoac lon hon upper => outlier

outlier_TAX_x_i1 = which(luongtieuthuxang$`TAX x_i1` > upper_threshold_TAX_x_i1|


luongtieuthuxang$`TAX x_i1` < lower_threshold_TAX_x_i1)

print(paste("Outlier_TAX_x_i1:", length(outlier_TAX_x_i1)))

#Ve boxplot

boxplot(luongtieuthuxang$"TAX x_i1")

# Xu ly outlier => Chap nhan outlier (Tại vì giá trị outlier không quá lớn, mà tính ra có 2 outlier nên tạm
chấp nhận và thực hiện tiếp các bước tiếp theo)

Làm tương tự cho các biến còn lại


Xử lý outlier => Chấp nhận outlier

Thống kê mô tả:

library('pastecs')

stat.desc(luongtieuthuxang)

Nhận xét: Biến TAX x_i1 có min = 5, max = 10 với range = 5. Ta thấy mean = 7.67 mà median =7.5, mean
> median vậy biến TAX x_i1 có phân phối lệch phải (suy luận tương tự cho các biến còn lại). Biến FUEL
x_i5 có độ phân tán dữ liệu lớn nhất (do std.dev = 111.89).

Xét sự đa cộng tuyến bằng VIF


Nhận thấy VIF của các biến đều nhỏ hơn 2 nên suy ra không có hiện tượng đa cộng tuyến trong mô hình.

Thống kê suy luận

Chọn mô hình bằng phương pháp stepwise backward theo tiêu chuẩn AIC

Suy ra chúng chọn mô hình được xây dựng bởi 3 biến x1, x2, x3

Ta có phương trình hồi quy 3 biến:

y = 307.33 – 29.48x1 + 13.75x2 - 68.02x3

Kiểm tra lại ý nghĩa của từng biến với mô hình đã chọn:
Nhận xét: x1, x2 và x3 đều có p-value < 0.05 nên đều có ý nghĩa thống kê trong mô hình với R-squared =
0.675

Kiểm tra lại giả thuyết ban đầu bằng kiểm định Shapiro-Wilk:

Nhận xét: ta thấy p-value < 0.05 nên residual của mô hình không tuân theo phân phối chuẩn, vì thế mô
hình đã vi phạm giả thuyết ban đầu nên mô hình không có độ tin cậy để sử dụng.

Vẽ plot residual
b) Chọn mô hình bằng stagewise

Các bước kiểm định tiếp theo làm tương tự câu a.


Bài 5:

Xử lý làm sạch

# Datatype cua tung cot co dong nhat voi nhau khong => Co

# Kiem tra co null value khong => Khong co

# Kiem tra outlier cho x1

q1_x1 = quantile(x1, 0.25)

q3_x1 = quantile(x1, 0.75)

IQR_x1 = q3_x1 - q1_x1

# tinh chan tren, chan duoi

lower_threshold_x1 = (q1_x1 - 1.5*IQR_x1)

upper_threshold_x1 = (q3_x1 + 1.5*IQR_x1)

# xac dinh outlier, nho hn lower hoac lon hon upper => outlier

outlier_x1 = which(x1 > upper_threshold_x1|x1 < lower_threshold_x1)

print(paste("Outlier_x1:", length(outlier_x1)))

#Ve boxplot

boxplot(x1)

# Xu ly outlier => Chap nhan outlier

#Lam tuong tu voi cac bien con lai


Xử lý outlier => Chấp nhận outlier

Thống kê mô tả:

library('pastecs')

stat.desc(vuchay)

Nhận xét: Biến X_1 có min = 0.02, max = 0.901 với range = 0.88. Ta thấy mean = 0.597 mà median = 0.65,
tức mean < median vậy biến X_1 có phân phối lệch trái (suy luận tương tự cho các biến còn lại). Biến X_2
có độ phân tán dữ liệu lớn nhất (do std.dev = 16.74).

Xét sự đa cộng tuyến bằng VIF:


Nhận thấy VIF của các biến đều nhỏ hơn 2 nên suy ra không có hiện tượng đa cộng tuyến trong mô hình.

Thống kê suy luận

Chọn mô hình bằng phương pháp stepwise backward theo tiêu chuẩn BIC

Ta chọn mô hình được xây dựng trên 2 biến độc lập là x2 và x3, mô hình có dạng:

y = 2.99 + 0.022x2 – 0.134x3

Kiểm tra lại ý nghĩa của từng biến với mô hình đã chọn:
Nhận xét: x1, x2 và x3 đều có p-value < 0.05 nên đều có ý nghĩa thống kê trong mô hình với R-squared =
0.5168

Kiểm tra lại giả thuyết ban đầu bằng kiểm định Shapiro-Wilk:

Nhận xét: ta thấy p-value > 0.05 nên residual của mô hình tuân theo phân phối chuẩn, vì thế mô hình đã
chọn thỏa mãn giả thuyết ban đầu nên mô hình có độ tin cậy để sử dụng.

Vẽ plot residual
Bài 2:

Xử lý làm sạch

# Datatype cua tung cot co dong nhat voi nhau khong => Co

# Kiem tra co null value khong => Khong co

# Kiem tra outlier cho x_i.1

q1_x1 = quantile(tyletainan$"x_i.1", 0.25)

q3_x1 = quantile(tyletainan$"x_i.1", 0.75)

IQR_x1 = q3_x1 - q1_x1

# tinh chan tren, chan duoi

lower_threshold_x1 = (q1_x1 - 1.5*IQR_x1)

upper_threshold_x1 = (q3_x1 + 1.5*IQR_x1)

# xac dinh outlier, nho hn lower hoac lon hon upper => outlier

outlier_x1 = which(tyletainan$`x_i.1` > upper_threshold_x1|tyletainan$`x_i.1` < lower_threshold_x1)

print(paste("Outlier_x1:", length(outlier_x1)))

#Ve boxplot
boxplot(tyletainan$"x_i.1")

# Xu ly outlier => Chap nhan outlier

Tương tự cho các biến còn lại

Nhận xét: Ta thấy một số giá trị outlier cách xa so với median của biến tương ứng, nên ta có thể loại bỏ
các outlier này trong quá trình làm sạch dữ liệu. Vì số lượng quan sát còn ít nên ở bài toán này sẽ chấp
nhận outlier mà không xóa đi.

Thống kê mô tả:

library('pastecs')

stat.desc(tyletainan)
Nhận xét: Biến x_i.2 có độ phân tán dữ liệu lớn nhất (do std.dev = 18.6).

Xét sự đa cộng tuyến bằng VIF:


Thống kê suy luận

Xây dựng mô hình bằng phương pháp PCA với các biến được lựa chọn là: x1, x3, x4, x5, x7, x8, x9, x10,
x12, x13
Dựa vào Scree plot trên ta chọn 5 thành phần chính đầu tiên để xây dựng mô hình giải thích cho biến y.

Ta lựa chọn mô hình theo phương pháp stagewise:


Vì vậy ta có mô hình hồi quy sau:

y = 3.933 + 0.6874z1 - 0.7295z2 - 0.2918z3

Kiểm tra lại ý nghĩa của từng biến với mô hình đã chọn:
Nhận xét: x1, x2 đều có p-value < 0.05 nên đều có ý nghĩa thống kê trong mô hình với R-squared =
0.723. Nhưng ta thấy z3 có p-value > 0.05 nên không có ý nghĩa thống kê trong mô hình theo như kiểm
định t. (Đã thử với phương pháp stepwise tiêu chuẩn AIC nhưng đều cho kết quả tương tự).

Kiểm tra lại giả thuyết ban đầu bằng kiểm định Shapiro-Wilk:

Nhận xét: ta thấy p-value > 0.05 nên residual của mô hình tuân theo phân phối chuẩn, vì thế mô hình đã
chọn thỏa mãn giả thuyết ban đầu nên mô hình có độ tin cậy để sử dụng.

Vẽ plot residual

You might also like