Báo cáo bài tập lớn môn xác suất thống kê

28 5 0
Báo cáo bài tập lớn môn xác suất thống kê

Đ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

Giả thuyết của bài toán phân tích phương sai 1 nhân tố: - Giả thuyết: Trung bình tất cả các phương thức xử lý bằng nhau, hay nói cách khác, không có sự khác biệt về trung bình giữa các n

Trang 1

ĐẠ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

MÔN HỌC: XÁC SUẤT THỐNG KÊ GVHD:Phan Thị Hường

Nhóm: 7 Lớp: L17

Trang 2

MỤC LỤC

PHẦN CHUNG 3

1.CƠ SỞ LÝ THUYẾT 3

Phần 1: Phân tích phương sai một nhân tố: 3

Phần 2: Phân tích phương sai 2 nhân tố: 7

Trang 3

PHẦN CHUNG

1 CƠ SỞ LÝ THUYẾT

Phần 1: Phân tích phương sai một nhân tố:

I Giả thuyết của bài toán phân tích phương sai 1 nhân tố: - Giả thuyết:

Trung bình tất cả các phương thức xử lý bằng nhau, hay nói cách khác, không có sự khác biệt về trung bình giữa các nhóm

- Đối thuyết:

Nghĩa là có tồn tại sự khác biệt giữa các nhóm, nhưng không có nghĩa là tất cả trung bình đều khác nhau (có thể có một vài cặp)

II Sự biến thiên:

Sự biến thiên trong dữ liệu là chìa khóa kiểm tra sự bằng nhau của trung bình giữa các nhóm

III Phân chia sự biến thiên:

1) Sự biến thiên toàn phần trong dữ liệu có thể chia làm 2 thành phần như sau:

SST= SSW + SSB

Trong đó:

SST = Tổng bình phương toàn phần (Total Sum of Squares)

SSW =Tổng bình phương bên trong các nhóm (Sum of Squares Within groups) SSB =Tổng bình phương giữa các nhóm (Sum of Squares Between groups)

2) Công thức rút gọn:

Tổng các bình phương của ANOVA với cỡ mẫu bằng nhau trong mỗi phương thức xử lí thường được tính bởi các công thức rút gọn sau:

Trang 5

4) ANOVA với cỡ mẫu không bằng nhau:

Khi cỡ mẫu của các phương thức không bằng nhau, các công thức tính tổng bình phương cần phải hiệu chỉnh lại Xét bài toán ANOVA vói k phương thức xử lý, với phương thức thứ i (i= 1, 2, …, k), chọn mẫu phần tử Tổng số phần tử là

Trang 6

Công thức tính SST, SSB, SSW được hiệu chỉnh lại như sau:

5) So sánh bội sau ANOVA:

- Khi giả thuyết 𝐻0: 𝜏1 = 𝜏2 = ⋯ = 𝜏𝑘được bác trong ANOVA, ta biết có sự khác biệt giữa các nhóm (các phương thức thí nghiệm khác nhau); nhưng ANOVA không chỉ rõ nhóm nào gây ra sự khác biệt

- Để xác định trung bình nhóm nào gây ra sự khác biệt, ta sử dụng phương pháp so sánh bội (multiple comparison method) Một phương pháp so sánh bội đơn giản là phương pháp ý nghĩa độ lệch nhỏ nhất (least significant difference- LSD) của Fisher

- Nội dung của phương pháp LSD là so sánh tất cả các cặp giá trị trung bình với giả thuyết 𝜇𝑖 = 𝜇𝑗(với mọi 𝑖 ≠ ) , sử dụng thống kê t: 𝑡 = 𝑦̅𝑖.−𝑦̅𝑗.

Trang 7

Phần 2: Phân tích phương sai 2 nhân tố:

I Giả thuyết ANOVA 2 nhân tố:

1) Đối với các nhóm (nhân tố A): I Phân chia sự biến thiên:

Sự biến thiên toàn phần trong dữ liệu có thể chia làm 2 thành phần như sau: 𝑆𝑆𝑇 = 𝑆𝑆𝐺 + 𝑆𝑆𝑏 + 𝑆𝑆𝐸

Trong đó: SST là tổn bình phương toàn phần

SSG là sự biến thiên gây ra bởi sự khác nhau giữa các nhóm SSB là sự biến thiên gây ra bởi sự khác nhau giữa các khối

SSE là sự biến thiên do chọn mẫu ngẫu nhiên (sai số không giải thích được)

Trang 9

2 XỬ LÝ SỐ LIỆU

Dữ liệu được cho trong file "auto-mpg.csv" là bộ dữ liệu tiêu thụ nhiên liệu của xe trong thành phố Dữ liệu được lấy từ UCI Machine Learning Repository

- "cylinders": (multi-valued discrete) số xy lanh, - "displacement" : (continuous) kích thước động cơ, - "horsepower" : (continuous) công suất động cơ, - "weight" : (continuous) khối lượng,

- "acceleration" : (continuous) gia tốc xe,

- "model year": (multi-valued discrete) năm sản xuất model (2 số cuối)

- "origin": (multi-valued discrete) nơi sản xuất: 1 - North American, 2 - Europe, 3 - Asia

- "car name": (multi-valued discrete) tên xe

1 Nhập và “làm sạch” dữ liệu

Lưu ý biến “horsepower” có 6 quan trắc thiếu dữ liệu; xét xem có dữ liệu ngoại lai không?, thực hiện các thống kê mô tả (Chú ý các cột của file “auto-mpg.csv” được phân tách bởi dấu “,”, khi đọc file dữ liệu dùng lệnh “read.csv” cần thêm sep = “,”)

A Đọc dữ liệu

> setwd("C:/New folder")

> auto_mpg = read.csv("C:/New folder/auto_mpg.csv",sep = ",") > attach (auto_mpg)

Trang 10

2 Chia bộ dữ liệu làm 2 phần: mẫu huấn luyện (training dataset) gồm 200 quan trắc đặt tên “auto_mpg1” và mẫu kiểm tra (validation dataset) gồm các quan trắc còn lại trong bộ dữ liệu đã “làm sạch”, đặt tên “auto_mp2”

Trang 11

auto_mpg2

3 Chọn mô hình tốt nhất giải thích cho biến phụ thuộc “mpg” thông qua việc chọn lựa các biến độc lập phù hợp trong 8 biến độc lập còn lại từ mẫu huấn luyện “auto_mpg1” Cần trình bày từng bước phương pháp chọn, tiêu chuẩn chọn mô hình, lý do chọn phương pháp đó

> M1 = lm(auto_mpg1$mpg ~ auto_mpg1$cylinders + auto_mpg1$displacement + auto_mpg1$horsepower + auto_mpg1$weight + auto_mpg1$acceleration +

auto_mpg1$modelyear + auto_mpg1$origin + auto_mpg1$carname) > summary(M1)

Trang 12

Bảng summary M1

Trang 13

Bảng summary M2

*Giả thuyết H0: các hệ số hồi quy đều không có ý nghĩa thống kê

Với mức ý nghĩa 5%: các biến horsepower, weight, model_year77, model_year78, model_year80, model_year81, model_year82, car_namebuick electra 225 custom,

car_namedodge monaco (sw), car_nameford granada l , car_namepontiac catalina, car_namepontiac grand prix, car_namesubaru có Pr(>|t|) < 0,05 nên ta giữ lại các biến này

Vậy các biến còn lại nên bị loại bỏ khỏi mô hình với mức tin cậy 5%

Trang 14

Xét mô hình tuyến tính cùng bao gồm biến “mpg” là biến phụ thuộc nhưng: Mô hình M2 là loại bỏ biến, car_name từ M1

> M2 = lm(auto_mpg1$mpg ~ auto_mpg1$cylinders + auto_mpg1$displacement + auto_mpg1$horsepower + auto_mpg1$weight + auto_mpg1$acceleration +

Nhận xét: Sau khi phân tích mô hình Anova cho hai mô hình M1, M2 thì kết quả thu được Pr(>|t|) = 0,1228 Chọn mức ý nghĩa là 0,05 thì Pr(>|t|) > 0,05 Vậy 2 mô hình M1 và M2 là giống nhau

Kết luận: Sự tương tác giữa biến “car_name” và biến “mpg” là không đáng kể Vậy ta chọn phân tích mô hình hồi quy M2

Trang 15

4 Kiểm tra các giả định (giả thiết) của mô hình.

> par(mfrow=c(2,2)) > plot(M2)

Giải thích:

Phân tích phần dư để kiểm tra các giả định trong phân tích hồi qui tuyến tính

Biểu đồ 1: Vẽ tương quan giữa phần dư và kết quả dự báo, giá trị phần dư càng ở quanh mức 0 kết quả dự báo càng tốt Kết quả: phần dư của M2 dao dộng xung quanh đường

tung độ 0 và không phân tán đi quá xa, nên giả định quan hệ tuyến tính được thỏa mãn

Biểu đồ 2: Kiểm tra xem phần dư có phân phối chuẩn N(0,1) hay không Kết quả: những giá trị quan sát đa phần nằm trên đường thẳng kì vọng của phân phối chuẩn do đó mô hình hồi quy M2 tuân theo phân bố chuẩn

Biểu đồ 3: Đánh giá phương sai của phần dư có đồng nhất hay không Kết quả: Đồng nhất

Biều đồ 4: Cho phép phát hiện ra các outliers trong phần dư Kết quả: Biểu đồ cho thấy không có giá trị nào nằm ngoài đường gạch nối màu đỏ của Cook’s distance Vậy chấp nhận rằng không có outliers nào ảnh hưởng lớn đến mô hình hồi quy

*Nhận xét: Qua phân tích phần dư, chúng ta có thểm1 kết luận rằng mô hình hồi qui tuyến tính mô tả mối liên hệ giữa mpg và các biến cylinders, displacement, horsepower, weight, acceleration, model_year, origin một cách khá đầy đủ và hợp lí

Trang 16

5 Nêu ý nghĩa của mô hình đã chọn

Ý nghĩa:

Biến “mpg” mức tiêu thụ nhiên liệu tính theo dặm trên gallon (miles/gallon) phụ thuộc vào các biến:

• “cylinders”: số xy lanh,

• “displacement”: kích thước động cơ, • “horsepower”: công suất động cơ, • “weight”: khối lượng,

• “acceleration”: gia tốc xe,

• “model year”: năm sản xuất model • “origin”: nơi sản xuất

Và không phụ thuộc vào biến “car name”: tên xe

6 Dự báo (Prediction): Sử dụng mẫu kiểm tra (validation dataset)

“auto_mpg2” và dựa vào mô hình tốt nhất được chọn trên đưa số liệu dự báo cho biến phụ thuộc “mpg” Gọi kết quả dự báo này là biến

“predict_mpg”

> M2 = lm (auto_mpg2$mpg ~ auto_mpg2$cylinders + auto_mpg2$displacement + auto_mpg2$horsepower + auto_mpg2$weight + auto_mpg2$acceleration

+auto_mpg2$modelyear + auto_mpg2$origin )

> data = data.frame(auto_mpg2$mpg,auto_mpg2$cylinders, auto_mpg2$displacement, auto_mpg2$horsepower, auto_mpg2$weight, auto_mpg2$acceleration,

auto_mpg2$modelyear, auto_mpg2$origin) > data$predict_mpg = predict(M2,data)

> result.prediction = cbind (data$auto_mpg2.mgp,data$predict_mpg) > result.prediction

Trang 17

Bảng kết quả dự báo thu được

7 So sánh kết quả dự báo “predict_mpg” với giá trị thực tế của “mpg” Rút ra nhận xét?

> par(mfrow=c(1,1))

> plot(as.vector(data$auto_mpg2.mpg), type = 'l', ylab = 'Value') > lines((data$predict_mpg), lty = 'dotted')

Trang 18

*Nhận xét: Dựa vào biểu đồ ta nhận thấy rằng giá trị dự báo cho mức tiêu thụ nhiên liệu tính theo dặm trên gallon sai lệch không quá nhiều so với giá trị quan sát được Vì vậy mô hình hồi quy tuyến tính M2 tương đối tốt

Trang 19

head(new_df)# Lấy những giá trị của dữ liệu my_data gán vào những biến tương ứng, sau đó lưu lại tập dữ liệu mới new_df

which(is.na())#Output: Vị trí dữ liệu bị khuyết hoặc integer(0)(dữ liệu không bị khuyết).

Trang 20

3 Data visualization

A.Đối với các đối tượng 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 bảng

Trong dữ liệu new_df: ta thấy các đại lượng liên tục là: Cement, BFS,Fa,Water,Sp, CA, CA=new_DF$CA, FA=new_DF$FA)#Tạo list biến liên tục

func=function(x) {list(mean(x), median(x), sd(x), min(x), max(x))}

#Tạo hàm tính toán các giá trị thống kế mô tả.

table1=as.data.frame(sapply(lientuc,func),row.names =

c("mean","median","sd","min","max"))#Tạo một bản có các hà ng là các giá trị thống kê, các cột là các biến liên tục trong dữ liệu new_df.

head(new_DF)head(new_df)# Lấy những giá trị của dữ liệu my_data gán vào những biến tương ứng, sau đó lưu lại tập dữ liệu mới new_df

Trang 21

B.Đối với các biến phân loại, hãy lập ra số lượng thống kê từng nhóm Trong dữ liệu new_df: ta thấy các đại lượng phân loại bao gồm: Age

Bảng thống kê số lượng theo từng chủng loại

Hãy dùng hàm hist() để vẽ đồ thị phân phối của CCS Code:

*Nhận xét: Từ đồ thị phân phối của biến Phan phoi CCS, ta có: cường độ nén bê tông chủ yếu tập trung vào khoảng 0 tới 40

hist(new_DF$CCS, main="Phan phoi CCS",col=5,xlab = "CCS")#Vẽ đồ thị Phan phoi CCS từ new_df, tên đồ thị là "Phân phối CCS".

Trang 22

+Hãy dùng hàm boxplot() vẽ phân phối CCS cho từng nhóm phân loại của biến : Age

• Phân phối biến của CCS theo biến Age

*Nhận xét: Với Age(ngày) = 1, khả năng chịu cường độ nén của bê tông đạt 10Mpa tập trung ở khoảng 50% khối lượng bê tông

Với Age(ngày) = 3 khả năng chịu cường độ nén của bê tông đạt 15Mpa tập trung ở khoảng 25% khối lượng bê tông

Age(ngày) = 120 khả năng chịu cường độ nén của bê tông đạt 40Mpa tập trung gần như toàn bộ khối lượng bê tông

Dùng lệnh pairs() vẽ các phân phối của biến CCS theo các biến: Cement, BFS, Fa, Water, Sp, CA, FA

• Phân phối biến CSS theo biến Cement

boxplot(CCS~Age, data=new_DF, main=c("Phan phoi CCS theo Age"))

pairs(CCS~Cement, data = new_DF, col=c(4),main=c("Phan phoi cua CCS theo Cement"))

Trang 23

*Nhận xét: Số xỉ lò cao tập trung chủ yếu ở 4.5->5.5 0->5 rồi tăng chậm 5->10 rồi lại

Trang 24

• Phân phối của biến CCS theo biến BFS

pairs(CCS~BFS, data = new_DF, col=c(4),main=c(han phoi cua CCS theo BFS"))

pairs(CCS~Water, data = new_DF, col=c(4),main=c("Phan phoi cua CCS theo Water"))

Trang 25

• Phân phối của biến CCS theo biến Sp:

pairs(CCS~Sp, data = new_DF, col=c(4),main=c("Phan phoi cua CCS theo Sp"))

pairs(CCS~CA, data = new_DF, col=c(4),main=c("Phan phoi cua CCS theo CA"))

Trang 26

• Phân phối của biến CCS theo biến FA: Code:

4 Xây dựng mô hình hồi quy tuyến tính

a Xét mô hình hồi quy tuyến tính bao gồm biến showness 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 dung lệnh lm() để thực thi mô hình hồi quy tuyến tính bội

Code:

pairs(CCS~FA, data = new_DF, col=c(4),main=c("Phan phoi cua CCS theo FA"))

Trang 27

b Dựa vào kết quả của mô hình hồi quy tuyến tính trên, những biến nào bạn bị loại khỏi mô hình sẽ tương ứng với mức tin cậy 5%?

Giải thuyết độ tin cậy là 𝛼 =0.05

Ta bác bỏ những yếu tố không có ý nghĩa với Pvalue > α = 0.05

=>Loại biến Water

c Xét 2 mô hình tuyến tính với biến CCS là biến phụ thuộc, các biến còn lại là biến độc lập khi :

• M1:Mô hình có biến Cement ,BFS,Water,Sp,CA,FA,Age • M2:Mô hình không có các biến Age

summary(M1) # thống kê các trường dữ liệu cơ bản.

M1=lm(CCS ~ Cement + BFS + Fa + Water + Sp CA+ FA+Age) M1

summary(M1)

M2=lm(CCS ~ Cement + BFS + Fa + Water + Sp + CA + FA) anova(M1,M2)

Trang 28

=>giá trị thống kê của F là 441.85 và giá trị p-value rất lớn nên ta chọn mô hình M1 hợp lý hơn vì có ít biến hơn làm cho mô hình đơn giản hơn và không ảnh hưởng tới kết quả

Mô hình M1:

Ngày đăng: 01/04/2024, 14:36

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan