Bài báo cáo này trình bày lời giải một số bài toán về thống kê mô tả và mộ số bài toán liênquan đến các mô hình xác suất rời rạc có sử dụng R.Trong phần đầu, chúng tôi nhắc lại một số ki
Trang 1CẤU TRÚC RỜI RẠC CHO KHMT (CO1007)
Nhóm: —- Bài tập lớn
Thống kê mô tả và
Xác suất rời rạc với R
GVHD: Nguyễn An Khương
Huỳnh Tường Nguyên
SV thực hiện: Nguyễn Văn A – 22102134
Trần Văn B – 88471475
Lê Thị C – 36811334Phạm Ngọc D – 97501334Kiều Thị E – 12341334
Tp Hồ Chí Minh, Tháng /2015
Trang 2Mục lục
1.1 Tổng quan về R 2
1.2 Thống kê mô tả 2
1.2.1 Các loại dữ liệu 2
1.2.2 Tổng thể và mẫu 2
1.2.3 Các loại biểu đồ và đồ thị thông dụng 2
1.2.4 Phân tích môt tả các giá trị mẫu 2
1.3 Xác suất cơ bản 2
1.4 Biến ngẫu nhiên rời rạc 3
1.4.1 Khái niệm biến ngẫu nhiên rời rạc và ví dụ 3
1.4.2 Phân phối xác suất của biến ngãu nhiên rời rạc 3
1.4.3 Các đặc trưng số quan trọng của của biến ngẫu nhiên rời rạc 3
1.5 Một vài mô hình xác suất rời rạc quen thuộc 3
1.5.1 Mô hình 3
1.5.2 Mô hình 3
1.5.3 Mô hình 3
2 Một số bài toán minh họa 3 2.1 Bài toán 1 3
2.2 Bài toán 2 10
2.3 Bài toán 3 13
Trang 3Bài báo cáo này trình bày lời giải một số bài toán về thống kê mô tả và mộ số bài toán liênquan đến các mô hình xác suất rời rạc có sử dụng R.
Trong phần đầu, chúng tôi nhắc lại một số kiến thức và kết quả cơ bản về thống kê mô tả,
và các mô hình xác suất rời rạc thông dụng, cùng với một số hàm R thông dụng mà chúng tôi
sử dụng để tính toán kết quả trong các lời giải của các bài toán trong Phần 2
Đối với mỗi bài toán Phần 2, trước hết chúng tôi trình bày lời giải truyền thống, bằng cáchdùng các công thức và kết quả đã được trình bày trong Phần 1 Sau đó chúng tôi tính toán lạikết quả bằng các hàm R Các biểu đồ (nếu có) cũng sẽ được vẽ bằng R và nhúng vào LaTeX
1 Kiến thức và kết quả chuẩn bị
1.2.4 Phân tích môt tả các giá trị mẫu
Trong mục này, chúng tôi trình bày một số bước đầu tiên để phân tích dữ liệu thu thập đượctrong quá trình lấy mẫu Một cách để mô tả một phân phối các giá trị mẫu, đặc biệt hữu íchtrong các mẫu lớn, là xây dựng một phân phối tần số (tần suất) của các giá trị mẫu
1.3 Xác suất cơ bản
Trong phần này chúng tôi nhắc lại một số khái niệm cơ bản về xác suất rời rạc
Trang 4
1.4 Biến ngẫu nhiên rời rạc
Trong phần này chúng tôi trình bày lại một số khái niệm và kết quả quan trọng về các biến ngẫunhiên rời rạc, cùng với các số đặc trưng của chúng như: kỳ vọng, phương sai, mode, trung vị,moment cấp cao, mức phân vị, mà sẽ được dùng để giải các bài toán trong phần sau
Đối với mỗi đặc trưng số, chúng tôi nêu ra các hàm R để tính toán liên quan đến chúng 1.4.1 Khái niệm biến ngẫu nhiên rời rạc và ví dụ
1.5 Một vài mô hình xác suất rời rạc quen thuộc
Trong phần này chúng tôi nêu ra các mô hình cụ thể mà chúng tôi sử dụng để giải các bài toántrong phần sau Đối với mỗi mô hình chúng tôi nêu ra tường mình các đặc trưng số quan trọngcủa chúng, cũng như các hàm R để tính toán các đặc trưng số này
2 Một số bài toán minh họa
Trong phần này chúng tôi sẽ trình bày lời giải tường minh của một số bài toán đã được giaotrong đề bài của nhóm Các tính toán bằng R để kiểm tra kết quả và các biểu đồ minh họa cũng
sẽ được nêu rõ
2.1 Bài toán 1
Một công ty Mỹ sản xuất các thành phần vi mạch điện tử lai (hybrid ) đã mua các tấm gốm từmột nhà cung cấp Nhật Bản Các tấm được kiểm tra bằng mắt thường trước khi đem in lưới.Tấm gốm bị lỗi sẽ ảnh hưởng đến hiệu suất điện năng của sản phẩm cuối cùng cũng như năngsuất tổng thể của nó Để phản hồi cho các nhà cung cấp, công ty đã khảo sát sự thay đổi về sốlượng lỗi X được tìm thấy trên các tấm gốm Số liệu đo sau đây trong tập dữ liệuBLEMISHESthể hiện số lỗi tìm thấy trên mỗi 30 tấm gốm
Trang 50, 2, 0, 0, 1, 3, 0, 3, 1, 1, 0, 0, 1, 2, 0, 0, 0, 1, 1, 3, 0, 1, 0, 0, 0, 5, 1, 0, 2, 0.
BiếnX nhận các giá trị 0, 1, 2, 3 và 5
Các lệnh R sau sẽ cài đặt các gói mistat, đọc tập dữ liệuBLEMISHESvề số lỗi được tìm thấytrên 30 tấm gốm và hiển thị chúng trên màn hình máy tính
> # Sau dấu này là một comment
> install.packages("mistat", # Cài đặt gói mistat
dependencies=TRUE) # và tất cả các gói có liên quan đến nó
> library(mistat) # Gọi ra các tập dữ liệu và hàm có trong gói
> data(BLEMISHES) # Gọi ra tập dữ liệu về số lỗi trong 30 tấm gốm
> # BLEMISHES là tập số liệu dạng bảng, không phải vector (1
> help(BLEMISHES) # Đọc tất cả các thông tin hỗ trợ về tập dữ liệu BLEMISHES
> BLEMISHES # Đưa ra các số liệu BLEMISHES trên màn hình máy tính
Số liệu trong tập dữ liệuBLEMISHEShiện ra trên màn hình máy tính là như sau
Trang 6Plate 30 30 0
1 Tính tần số, tần suất và tần suất tích lũy của củaX?
2 Vẽ biểu đồ tần số của số lượng lỗi trên 30 tấm gốm?
3 Vẽ biểu đồ tần suất của số lượng lỗi trên 30 tấm gốm?
4 Vẽ biểu đồ tần suất tích lũy của số lượng lỗi trên 30 tấm gốm?
5 Hãy trích xuất ra ba dòng đầu của tất cả các cộ trong tập dữ liệuBLEMISHES?
6 Hãy trích xuất ra cột thứ hai của tập dữ liệu?
7 Tính số lỗi trung bình trong dữ liệu mẫu BLEMISHES?
8 Hãy đo mức độ phân tán của số lỗi (xung quanh giá trị trung bình) của dữ liệu?
Lời giải 1 Tần suất củaX được hiển thị trong Bảng 1 sau đây
Bảng 1: Tần suất của số lỗi trên các tấm gốm
Trang 7Lưu ý rằng trong đoạn mã trên, ta có thể thay X/sum(X) bằng prop.table(X), và thaycumsum(X/sum(X))bằngcumsum(prop.table(X)).
Ta đã không quan sát được giá trị x = 4trong mẫu này, nhưng nhiều khả năng nó sẽ xảy
ra trong các mẫu tương lai nên ta bao gồm nó trong bảng tần suất, với tần sốf4= 0
2 Vẽ biểu đồ tần số của số lượng lỗi trên 30 tấm gốm: Trong R ta thực hiện
> library(mistat)
> data("BLEMISHES")
> X <- factor(BLEMISHES$count,levels=0:5)
> X <- table(X)
> barplot(X, width=1,space=4, col="green50",ylab="Tan so loi",xlab="So loi")
để thu được biểu đồ tần số như trong Hình 1 sau
Hình 1: Biểu đồ cột về số nhược điểm trên tấm gốm
3 Vẽ biểu đồ tần suất của số lượng lỗi trên 30 tấm gốm: Trong R ta thực hiện
> library(mistat)
> data("BLEMISHES")
> X <- factor(BLEMISHES$count,levels=0:5)
> X <- prop.table(X)
> barplot(X, width=1,space=4, col="green50",ylab="Tan suat loi",xlab="So loi")
để thu được biểu đồ tần suất như trong Hình 2 sau
4 Vẽ biểu đồ tần suất tích lũy của số lượng lỗi trên 30 tấm gốm: Trong R ta thực hiện
Trang 8Hình 2: Biểu đồ cột về số nhược điểm trên tấm gốm
5 Dữ liệu BLEMISHESkhông phải là một vector mà nó là một cấu trúc giống như ma trận,
mà các cột (biến) có thể là khác kiểu nhau (được gọi là một khung dữ liệu) Do đó, ta
truy xuất vào tập dữ liệu này với toán tử dấu ngoặc vuông[i, j] nhằm xác định các phần
tử cần trích xuất Dấu ngoặc vuông cũng có thể được sử dụng trên vector Gọi lệnh help
(“[”) tại dấu nhắc lệnh để biết thêm thông tin Dưới đây là cách trích xuất ra 3 dòng đầu
tiên của bộ dữ liệu BLEMISHES
> BLEMISHES[1:3, ] # Trích xuất ra các dòng từ 1 đến 3, lấy hết tất cả các cột
plateID count
> head(BLEMISHES,n=3) # Kết quả giống như trên
6 Ta có thể dùng toán tử dấu ngoặc vuông để trích xuất ra cột thứ hai của tập dữ liệu như
sau
Trang 9Hình 3: Tần suất tích lũy của số lượng lỗi trên các tấm gốm
Trang 102+ 0 × (4 − 0.9333333)2+ 1 × (5 − 0.9333333)2(15 + 8 + 3 + 3 + 0 + 1) − 1
Trang 11Trong bài toán này, Mai, Lan, và Cúc là ba thư ký trong một công ty Công việc chính của họ
là xử lý sổ sách theo khối lượng được phân công như sau
Tỉ lệ khối lượng
công việc trong ngày
Khi xử lý sổ sách, sai sót có thể xảy ra và tỉ lệ sai sót của ba thư ký sau khi được thống kêtrong một thời gian dài được cho bởi bảng sau
Tỉ lệ sai sót 0.3% 0.7% 1%
1 Vào một ngày, người quản lý phát hiện ra một hồ sơ bị xử lý sai Hỏi ai trong số ba thư
ký là người đáng nghi nhất để truy trách nhiệm đối với hồ sơ này?
2 Giả sử trong 7 ngày tiếp theo ngày trên, ngày nào người quản lý cũng phát hiện ra một hồ
sơ bị xử lý sai Hỏi ai trong số ba thư ký là người đáng nghi nhất để truy trách nhiệm đốivới loạt sai sót này?
Trang 12Lời giải 1 Đặt các biến cố như sau
• M = {Một hồ sơ được chọn do Mai xử lý}
• L= {Một hồ sơ được chọn do Lan xử lý}
• C = {Một hồ sơ được chọn do Cúc xử lý}
• A= {Một hồ sơ được chọn ngẫu nhiên bị xử lý sai}
Khi đó ta cần so sánh ba xác suấtp(M |A), p(L|A), vàp(C|A).Theo công thức Bayes, tacó
= 0.20
Vậy Lan là người có khả năng cao nhất gây ra sai sót này
Trong R ta thực hiện như sau
> ti_le_khoi_luong_cong_viec <- c(0.6, 0.3, 0.1)
> ti_le_loi <- c(0.003, 0.007, 0.01)
> xac_suat_loi_tuong_ung <- ti_le_khoi_luong_cong_viec * ti_le_loi
> xac_suat_loi_tuong_ung/sum(xac_suat_loi_tuong_ung)
Trang 13để thu được cùng kết quả
[1] 0.3673469 0.4285714 0.2040816
2 Ta đặt lại các biến cố như sau
• M = {Một hồ sơ được chọn do Mai xử lý}
• L= {Một hồ sơ được chọn do Lan xử lý}
• C = {Một hồ sơ được chọn do Cúc xử lý}
• A= {8 hồ sơ được chọn ngẫu nhiên trong 8 ngày liên tiếp đều bị xử lý sai}
• Ai = {Một hồ sơ được chọn ngẫu nhiên trong ngày thứibị xử lý sai},i = 1, , 8
Ta thấyA = ∩8i=1Ai và từngAi độc lập với nhau cho nên
= 1.72944
−18
1.173338−17
= 0.1473949,
Trang 14p(C|A) = p(A|C)p(C)
p(A|M )p(M ) + p(A|L)p(L) + p(A|C)p(C)
8(0.1)(0.003)8(0.6) + (0.007)8(0.3) + (0.010)8(0.1)
−17
1.173338−17
= 0.8522693
Vậy Cúc là người có khả năng cao nhất gây ra loạt sai sót này
Trong R ta thực hiện như sau
1 X tuân theo luật phân phối xác suất nào? Nói cách khác, X tuân theo mô hình xác suấtnào? Vì sao?
2 Hãy vẽ biểu đồ minh họa phân phối xác suất (điểm) của X?
3 Hãy vẽ đồ thị của hàm phân phối xác suất (tích lũy) củaX?
4 Tính xác suất đểX nhận giá trị 17?
5 Tính xác suất đểX nhận giá trị tối đa là 13?
6 Tính xác suất đểX nhận giá trị lớn hơn 11?
Trang 1511 Tính độ lệch chuẩnsd(X)củaX?
12 Tính kỳ vọng của biến ngẫu nhiênY = 4X + 51.324?
Lời giải 1 Biến ngẫu nhiênX nhận các giá trị trong {0, 1, 2, , 31} một cách độc lập vớinhau, với xác xuất bằng nhau và bằng0.447 Do đóX tuân theo luật phân phối nhị thứcB(n, p)với các tham sốn = 31vàp = 0.447:
Trang 16Hình 4: Biểu đồ phân phối xác suất điểm của
X ∼ binom(size = 31, prob = 0.447)bằng Excel
Trong R ta dùng
> plot(0:31,dbinom(0:31,size=31,prob=0.447)*100, xlim=c(-1,31+1),,
lwd=2,col="blue",ylab="Xac suat",xlab="Gia tri cua X",
main="Phan phoi Bernoulli voi n=31, p=0.447")
để vẽ được biểu đồ sau (Hình 5)
3 Để vẽ đồ thị của hàm phân phối xác suất (tích lũy) của X, trước hết ta có thể tính trực
Trang 17Hình 5: Biểu đồ phân phối xác suất điểm của
(0.477)i(1 − 0.477)31−i
Tức là ta cộng dồn (tích lũy) các giá trị xác suất trong Bảng 2 cho đến giá trị bkc.Trong
R ta thực hiện như sau
> pbinom(0:31,31,0.447)
hoặc như sau
> cumsum(dbinom(0:31,31,0.447))
để thu được cùng kết quả
[1] 1.057984e-08 2.756880e-07 3.490065e-06 2.860638e-05 1.707202e-04[6] 7.910356e-04 2.963822e-03 9.236332e-03 2.444689e-02 5.586736e-02[11] 1.117424e-01 1.979661e-01 3.141265e-01 4.513570e-01 5.939760e-01[16] 7.246284e-01 8.302372e-01 9.055597e-01 9.529143e-01 9.791043e-01[21] 9.918062e-01 9.971842e-01 9.991602e-01 9.997852e-01 9.999536e-01[26] 9.999917e-01 9.999988e-01 9.999999e-01 1.000000e+00 1.000000e+00[31] 1.000000e+00 1.000000e+00
Với kết quả này ta có thể phác thảo đồ thị của F (k; 31, 0.447)bằng tay hoặc bằng Excelnhư sau (Hình 6)
Trang 18Hình 6: Đồ thị của hàm phân phối xác suất tích lũy của
X ∼ binom(size = 31, prob = 0.447)bằng Excel
(0.477)k(1 − 0.477)31−k
= 0.451356973636012479588353825140359266445093760671233547481214 Trong R ta dùng
Trang 19Hình 7: Đồ thị của hàm phân phối xác suất tích lũy của
(0.477)k(1 − 0.477)31−k
= 0.802033872504239656027123864970465728136613772232035160154335 Trong R ta dùng
> pbinom(11, size = 31, prob = 0.447, lower.tail = FALSE)
để có kết quả là
[1] 0.8020339
Trang 20(0.477)k(1 − 0.477)31−k
= 0.406024003187110387197725259305841821175855219866824141685331 Trong R ta dùng
> pbinom(14, size = 31, prob = 0.447, lower.tail = FALSE)
(0.477)k(1 − 0.477)31−k
= 0.254475827691107904969571717043382770032772215525688387442289 Trong R ta dùng
> sum(dbinom(16:19, size = 31, prob = 0.447))
(0.477)k(1 − 0.477)31−k
= 13.857
Trong R ta dùng
Trang 2112 Kỳ vọng của biến ngẫu nhiênY = 4X + 51.324là
E(Y ) = E(4X + 51.324) = 4E(X) + 51.324 = 4 × 13.857 + 51.324 = 106.752.Trong R ta dùng
Trang 22Tài liệu
[Dal] Dalgaard, P Introductory Statistics with R Springer 2008
[K-Z] Kenett, R S and Zacks, S Modern Industrial Statistics: with applications in R,
MINITAB and JMP, 2nd ed., John Wiley and Sons, 2014
[Ker] Kerns, G J Introduction to Probability and Statistics Using R, 2nd ed., CRC 2015