Tải bản đầy đủ (.pdf) (28 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 28 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC </b>

<b>PHẦN CHUNG ... 3</b>

<b>1.CƠ SỞ LÝ THUYẾT ... 3</b>

<b>Phần 1: Phân tích phương sai một nhân tố: ... 3</b>

<b>Phần 2: Phân tích phương sai 2 nhân tố: ... 7</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>PHẦN CHUNG </b>

<i><b>1. CƠ SỞ LÝ THUYẾT </b></i>

<i><b>Phần 1: Phân tích phương sai một nhân tố: </b></i>

I. Giả thuyết của bài tố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 tồn phần trong dữ liệu có thể chia làm 2 thành phần như sau:

<b>SST= SSW + SSB </b>

Trong đó:

SST = Tổng bình phương tồ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:

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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à

.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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 𝐻<sub>0</sub>: 𝜏<sub>1</sub> = 𝜏<sub>2</sub> = ⋯ = 𝜏<sub>𝑘</sub>đượ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 𝜇<sub>𝑖</sub> = 𝜇<sub>𝑗</sub>(với mọi 𝑖 ≠ ) , sử dụng thống kê t: 𝑡 = <sup>𝑦̅</sup><small>𝑖.−𝑦̅𝑗.</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i><b>Phần 2: Phân tích phương sai 2 nhân tố: </b></i>

I. <b>Giả thuyết ANOVA 2 nhân tố: </b>

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 tồ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 tồ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)

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<i><b>2. XỬ LÝ SỐ LIỆU </b></i>

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

<b>1. Nhập và “làm sạch” dữ liệu </b>

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)

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>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”. </b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

auto_mpg2

<b>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 đó. </b>

> 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)

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Bảng summary M1

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Bảng summary M2

*Giả thuyết H<small>0</small>: 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%.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>4. </b>

<b>Kiểm tra các giả định (giả thiết) của mơ hình.</b>

> 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

<b>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. </b>

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 ngồ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í.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>5. Nêu ý nghĩa của mơ hình đã chọn. </b>

Ý 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.

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

<b>“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 </b>

<b>“predict_mpg”. </b>

> 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

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

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

<b>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? </b>

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

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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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).

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<i><b>3. Data visualization </b></i>

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, <small>CA=new_DF$CA, FA=new_DF$FA)#Tạo list biến liên tục </small>

<small>func=function(x) {list(mean(x), median(x), sd(x), min(x), max(x))} </small>

<small>#Tạo hàm tính tốn các giá trị thống kế mơ tả.</small>

<small>table1=as.data.frame(sapply(lientuc,func),row.names = </small>

<small>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.</small>

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.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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>Bảng thống kê số lượng theo từng chủng loại </b>

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".

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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ư tồ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"))

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

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

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

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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

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

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

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

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

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

<b> </b>

<i><b>4. Xây dựng mơ hình hồi quy tuyến tính </b></i>

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:

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

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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.

<b>=>Loại biến Water </b>

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)

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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ả.

<b>Mơ hình M1: </b>

</div>

×