Đề bài: Ta có 1 đồng xu không rõ là 2 mặt này có cân đối hay không (vì nếu là đồng xu hoàn hảo thì xác suất mặt ngửa hay mặt sấp sẽ là 1/2). Tung 100 lần, đếm số lượt mặt ngửa và kiểm định tỷ lệ mặt ngửa có phải là 1/2 hay không (kiểm định xem đồng xu có cân đối hoàn hảo không)?
Giả sử đồng xu có xác suất ra mặt ngửa là \(P(X = \text{ngửa})\), do đó xác suất ra mặt sấp là \(P(X = \text{sấp}) = 1 - P(X = \text{ngửa})\).
Frequentist
Thực hiện 1 lần thử nghiệm [rút từ không gian mẫu ra 1 đồng xu để tung 100 lần]:
Ta tung đồng xu 100 lần, thu được 57 lần ngửa.
Do vậy xác suất ra mặt ngửa là p = 57/100 = 0.57, được tính từ mẫu (sample). Ta ước lượng ra quần thể (population) cũng là \(\hat{p} = 0.57\) với khoảng tin cậy 95% là [0.467 ; 0.667]
Kiểm định giả thuyết về tỷ lệ tổng thể (population proportion)
prop.test(x =57, # số lần thu được mặt ngửa (success)n =100, # tổng lần tung đồng xu (trial)p =0.5, # so sánh với xác suất 50%conf.level =0.95,alternative ="two.sided")
1-sample proportions test with continuity correction
data: 57 out of 100, null probability 0.5
X-squared = 1.69, df = 1, p-value = 0.1936
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.4672127 0.6673464
sample estimates:
p
0.57
\(\text{H0: đồng xu cân bằng, xác suất ngửa bằng 50%.}\)
\(\text{H1: đồng xu không cân bằng, xác suất ngửa khác 50%.}\)
Với dữ liệu 57/100 và kiểm định hai phía, p-value xấp xỉ 0.1936, nên chưa đủ bằng chứng để chống lại giả thuyết H0, do đó ta fail to reject H0, nghĩa là đồng xu cân bằng.
Khoảng tin cậy theo trường phái Frequentist: Nếu thực hiện rất nhiều lần thử nghiệm (mỗi lần thử nghiệm tung 100 đồng xu và ghi nhận số mặt ngửa) thì 95% số khoảng tin cậy đó sẽ chứa giá trị thực của \(P\) (true population proportion) là 0.5.
Vì đây là khoảng tin cậy Frequentist [0.467 ; 0.667] nên ta không thể nói là khoảng tin cậy này có xác suất 95% chứa giá trị true proportion ==> Do đó để phát biểu khoảng tin cậy [lower, upper] có xác suất 95% chứa giá trị true proportion thì cần tính Bayesian Credible Interval.
Mô phỏng 95% Frequentist Confident Interval
1 lần thử nghiệm
set.seed(4)dongxu <-sample(x =c("NGỬA", "SẤP"),size =100,prob =c(0.5, 0.5),replace = T )table(dongxu)
dongxu
NGỬA SẤP
57 43
prop.test(x =57, # số lần thu được mặt ngửa (success)n =100, # tổng lần tung đồng xu (trial)p =0.5, # so sánh với xác suất 50%conf.level =0.95,alternative ="two.sided",correct = T) # hiệu chỉnh khoảng tin cậy theo Wilson score
1-sample proportions test with continuity correction
data: 57 out of 100, null probability 0.5
X-squared = 1.69, df = 1, p-value = 0.1936
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.4672127 0.6673464
sample estimates:
p
0.57
Sampling distribution (phân phối lấy mẫu) là phân phối xác suất của 1 chỉ số thống kê (parameter), trong trường hợp này là “tần suất ra mặt ngửa” được tính từ rất nhiều lần lấy mẫu ngẫu nhiên từ quần thể (ta dùng kỹ thuật mô phỏng để tạo ra nhiều lần lấy mẫu ngẫu nhiên).
In statistics, a sampling distribution or finite-sample distribution is the probability distribution of a given random-sample-based statistic.
par(mfrow =c(1,2))hist(sim_coin_master$p_sample,breaks =10,main ="Histogram của giá trị các xác suất mặt ngửa",xlab ="Giá trị xác suất của mặt ngửa\ntrong các lần thử nghiệm (mỗi lẫn tung 100 đồng xu)")abline(v =0.5, lwd =4, col ="red", lty =2)library(rcompanion)rcompanion:::plotNormalDensity(sim_coin_master$p_sample)abline(v =0.5, lwd =4, col ="red", lty =2)
Bayesian
Câu hỏi: Ta nhìn đồng xu có vẻ không cân bằng lắm, nên ta có giả thuyết là A1 là xác suất mặt ngửa là 0,4 và cũng có thểxác suất mặt ngửa là A2 là 0.6. Tiến hành thí nghiệm tung 100 lần thì thấy có 57 lần mặt ngửa. Như vậy xác suất đồng xu mặt ngửa sau khi quan sát thấy kết quả thực tế này thì ta nghĩ là bao nhiêu? Hay là, xác suất mặt ngửa ở lần tung tiếp theo ta nghĩ là bao nhiêu.
Tiếp cận xác suất theo dữ liệu rời rạc (biến phân loại)
Cách tiếp cận: Áp dụng định lý Bayes cho trường hợp tung đồng xu, tính theo công thức xác suất đầy đủ, ta có các giả thuyết prior ban đầu cho mặt ngửa là 0.4 và 0.6.
\(P(A1) = 0.4\)
\(P(A2) = 0.6\)
Mục tiêu là dùng định lý Bayes để cập nhật xác suất của hai giả thuyết sau khi quan sát dữ liệu.
Xác định \(P(D|A1)\)
Gọi \(D\) là sự kiện quan sát được 57 lần ngửa trong 100 lần tung đồng xu.
Theo phân phối nhị thức, ta có [xác suất] [để xảy ra kết quả có 57 lần ngửa trong 100 lần tung đồng xu], với xác suất ngửa (cho trước) p = P(A1) = 0.4 là:
\[P(X = k \text{ | ra mặt ngửa với giả định prior P(A1) = 0.4}) = \binom{n}{k} p^k (1-p)^{n-k}\]
\[P(X = 57 \text{ | ra mặt ngửa}) = \binom{100}{57} \left(0.4\right)^{57} \left(1-0.4\right)^{100-57} = 0.0002285 = 0.022\%\]
choose(n =100, k =57) * (0.4)^(57) * (1-0.4)^(100-57)
[1] 0.0002285792
Do vậy xác suất quan sát dữ liệu \(D\) nếu (theo điều kiện) xác suất mặt ngửa \(A1\) cho trước là 0.4 sẽ là
\[P(D|A1) = 0.022\%\]
con số này cho thấy có rất ít khả năng [nếu tung 100 lần lên mà thu được 57 lần mặt ngửa], bởi vì dễ nhận thấy xác suất mặt ngửa (cho trước) chỉ khoảng 0.4 thì làm sao có đến 57 lần ngửa được.
Xác định \(P(D|A2)\)
Tương tự, nếu xác suất mặt ngửa theo giả thuyết A2 là 0.6, thì ta có
\[P(X = k \text{ | ra mặt ngửa với giả định prior P(A2) = 0.6}) = \binom{n}{k} p^k (1-p)^{n-k}\]
\[P(X = 57 \text{ | ra mặt ngửa}) = \binom{100}{57} \left(0.6\right)^{57} \left(1-0.6\right)^{100-57} = 0.06672895 = 6.67\%\]
choose(n =100, k =57) * (0.6)^(57) * (1-0.6)^(100-57)
[1] 0.06672895
Do vậy xác suất quan sát dữ liệu \(D\) nếu (theo điều kiện) xác suất mặt ngửa \(A2\) cho trước là 0.6 sẽ là
\[P(D|A2) = 6.67\%\]
con số này cho thấy có NHIỀU khả năng [nếu tung 100 lần lên mà thu được 57 lần mặt ngửa], bởi vì dễ nhận thấy xác suất mặt ngửa (cho trước) chỉ khoảng A2 = 0.6 thì DỄ THU ĐƯỢC KẾT QUẢ 57 lần ngửa hơn là xác suất mặt ngửa (cho trước) chỉ khoảng A1 = 0.4.
Áp dụng công thức xác suất đầy đủ
Ta có xác suất xuất hiện sự kiện 57 lần ngửa trong 100 lần tung sẽ là tổng của các sự kiện xác suất đơn lẻ, theo công thức sau:
\[P(D) = P(D | A1) \cdot P(A1) + P(D | A2) \cdot P(A2)\] Thế các giá trị prior \(P(A1)\) và \(P(A2)\) vào
Như vậy với 100 lần tung bất kỳ thì xác suất để thu được 57 lần ngửa là 4% với hai giả định ban đầu là xác suất mặt ngửa \(P(A1)=0.4\) và \(P(A2)=0.6\).
Đây chính là xác suất biên của dữ liệu \(D\) xét trên cả hai giả thuyết prior ban đầu về khả năng ra mặt ngửa của đồng xu, xác suất này còn gọi là phần chuẩn hóa cho công thức định lý Bayes.
Áp dụng định lý Bayes hiệu chỉnh xác suất hậu nghiệm cho kịch bản P(A1)
Như vậy, ban đầu ta tin là xác suất mặt ngửa \(P(A1)=0.4\) (prior) tuy nhiên khi quan sát dữ liệu \(D\) (data likelihood) thấy có 57 lần ngửa trong 100 lần tung, ta đã hiệu chỉnh lại [xác suất để xảy ra sự kiện mặt ngửa] trong [kịch bản niềm tin xác suất ban đầu \(P(A1)=0.4\)] chỉ là 0.22% (posterior), nghĩa là kịch bản xác suất mặt ngửa của đồng xu 0.4 này là rất thấp.
Do vậy, posterior là xác suất xảy ra [giá trị tham số] mà ta ước lượng ban đầu (prior), chứ tự thân posterior không phải là giá trị tham số đó!
Hay nói cách khác: Xác suất mà đồng xu có đặc điểm [xác suất mặt ngửa là 0.4] chỉ là 0.22%, do đó đồng xu này không bị lệch về phía [xác suất mặt ngửa là 0.4].
Áp dụng định lý Bayes hiệu chỉnh xác suất hậu nghiệm cho kịch bản P(A2)
Giải thích tương tự, ta có Xác suất mà đồng xu có đặc điểm [xác suất mặt ngửa là 0.6] lên đến 99.7%, do đó đồng xu này bị lệch về phía [xác suất mặt ngửa là 0.6].
Tóm lại: Ban đầu ta tin rằng xác suất mặt ngửa là 40% (kịch bản A1) và cũng có thể là 60% (kịch bản A2). Sau khi quan sát 57 lần ngửa trong 100 lần tung đồng xu, dữ liệu này ủng hộ mạnh mẽ giả thuyết là xác suất mặt ngửa là 0.6 (ủng hộ kịch bản A2), bởi vì xác suất hậu nghiệm của giả thuyết A2 này tăng lên đến 99.7%, so với xác suất hậu nghiệm của giả thuyết A1 chỉ là \(1- 0.9977223 = 0.002277668\)
Lưu ý rằng kết luận trên phụ thuộc vào giả thuyết (hai kịch bản A1 và A2) về xác suất ra mặt ngửa 0.4 và 0.6 mà thôi, nó không có nghĩa là ta chứng minh xác suất trực (true prorortion) thực tế chính xác có phải là 0.6 hay không. Muốn tìm ra true proportion ta phải thực hiện thêm thí nghiệm để “update datat” từ đó mới lần tìm ra kết quả chính xác của xác suất mặt ngửa đồng xu, hay nói cách khác để kiểm định xem đồng xu có công bằng hay không.
Update dữ liệu để tăng độ chính xác
Đặc điểm của suy luận Bayesian là posterior của lần thử nghiệm trước sẽ trở thành prior của lần thử nghiệm sau, giúp update dần mô hình xác suất để tiến trình suy luận gần đúng con số chính xác của quần thể.
Giả sử ta thực hiện tiếp 1 lần tung xác suất, lần này thu được 54 mặt ngửa, thì posterior lúc này được tính như sau:
Dựa trên lần thử nghiệm trước, ta khu trú kịch bản xác suất đồng xu là \(P(A2) = 0.6\), giờ ta có thể tạo ra thêm 1 kịch bản xác suất là \(P(A3) = 0.5\). Áp dụng cách tính tương tự, ta sẽ có:
Tính \(P(A2)\) và \(P(A3)\)
\[P(X = 54 \text{ | ra mặt ngửa}) = \binom{100}{54} \left(0.6\right)^{54} \left(1-0.6\right)^{100-54} = 0.03811036 = 3.81\% = P(A2)\]
choose(n =100, k =54) * (0.6)^(54) * (1-0.6)^(100-54)
[1] 0.03811036
\[P(X = 54 \text{ | ra mặt ngửa}) = \binom{100}{54} \left(0.5\right)^{54} \left(1-0.5\right)^{100-54} = 0.0579584 = 5.57\% = P(A3)\]
choose(n =100, k =54) * (0.5)^(54) * (1-0.5)^(100-54)
[1] 0.0579584
Ta thấy với dữ liệu mới là 54 lần ngửa trong 100 lần tung đồng xu, thì khi giả thuyết đồng xu công bằng \(P(A3) = 0.5\) thì xác suất ra đúng con số 54 lần ngửa sẽ cao hơn nếu giả thuyết đồng bị lệch \(P(A2) = 0.6\).
Tính \(P(D)\)
\[P(D) = P(D | A2) \cdot P(A2) + P(D | A3) \cdot P(A3)\] Thế các giá trị prior \(P(A2)\) và \(P(A3)\) vào
Lúc này với dữ liệu 54 lần ngửa trong 100 lần tung, ta tính:
Tính xác suất để xuất kịch bản A2 khi ta biết dữ liệu D là 54 lần mặt ngửa trong 100 lần tung. Hay nói gọn hơn là: P(A2|D) là xác suất cho giả thuyết A2 = 0.6
Như vậy ở lần thử nghiệm tiếp theo ta thu được 54 lần mặt ngửa trong 100 lần tung, thì kịch bản A3 đồng xu công bằng $P(A3) = 0.5 có xác suất là 55.9% cao hơn kịch bản đồng xu bị lệch về mặt ngửa \(P(A2) = 0.6\) vì xác suất cho kịch bản A2 thấp hơn, chỉ còn 100 - 55.9 = 44.1%. Hay nói cách khác sau mỗi lần thử nghiệm ta có thể đề xuất ra kịch bản xác suất phù hợp hơn, nhuyễn hơn để kiểm chứng và chọn lựa kịch bản xác suất cao nhất cho lần hiệu chỉnh tiếp theo cho đến khi thu được true proportion.
Lưu ý: mũi tên này không phải “bê nguyên xi” giá trị posterior vào prior, mà posterior giúp chọn prior (kịch bản niềm tin xác suất ban đầu) phù hợp cho lần hiệu chỉnh xác suất tiếp theo.
Tiếp cận xác suất theo dữ liệu liên tục (biến numeric)
Cách tiếp cận xác suất Bayesian trong trường hợp này được tính chính xác hơn khi ta có một dãy prior (numeric) với xác suất từ 0.4 đến 0.6 (vì ta tin rằng xác suất đồng xu ra mặt ngửa có thể dao động trong khoảng này), khi đó ta sẽ dùng phân phối Beta và áp dụng package R để tính ra kết quả.
Minh họa trực quan về phân phối xác suất posterior khi update dữ liệu, từ đó đề xuất ra xác suất “true proportion” chính xác hơn khi có thêm evidence/data dữ liệu mới.