ㄍ๏ สารบัญ ๏ㄟ
๛ การแจกแจงผลการโยนเหรียญ
๛ การแจกแจงผลการโยนลูกเต๋า
๛ รูปทั่วไปของการแจกแจงทวินาม
๛ การแจกแจงเหตุการณ์ที่มีโอกาสเกิดขึ้นเป็น p
๛ ค่าคาดหมายของการแจกแจงทวินาม
๛ ค่าความแปรปรวนของการแจกแจงทวินาม
ต่อจาก
บทที่ ๔
บทที่แล้วได้พูดถึงการแจกแจงความน่าจะเป็นของค่าแบบไม่ต่อเนื่องไปแล้ว
สำหรับในบทนี้จะพูดถึงตัวอย่างการแจกแจงความน่าจะเป็นรูปแบบหนึ่งที่พบได้บ่อยและเข้าใจได้ไม่ยาก นั่นคือ
การแจกแจงทวินาม
(二项分布, binomial distribution)
การแจกแจงผลการโยนเหรียญ介
ก่อนจะพูดถึงว่าการแจกแจงทวินามคืออะไร ขอเริ่มจากยกตัวอย่างการแจกแจงผลการโยนเหรียญ
ซึ่งเป็นตัวอย่างการแจกแจงทวินามในรูปแบบที่ง่ายที่สุด
สมมุติว่ามีเหรียญ n เหรียญซึ่งมีโอกาสโยนแล้วได้หัวหรือก้อยเป็น 1/2 เท่ากัน
ผลรวมจำนวนครั้งที่จะโยนได้หัวควรจะเป็นเท่าใด
กรณีนี้จำนวนครั้งที่โยนได้หัวคือตัวแปรสุ่ม เพราะขึ้นอยู่กับว่าโยนเหรียญ n ครั้งออกอะไรบ้าง
แต่ละค่าก็มีความน่าจะเป็นต่างกันไป
สมมุติว่า ◎ แทนหัส ◯ แทนก้อย โยนเหรียญ 1 ครั้งมีโอกาสจะได้ 2 กรณีคือเหรียญนั้นเป็น ◎ กับ ◯
ให้ P(k) เป็นความน่าจะเป็นที่จะโยนเหรียญได้หัว k ครั้ง กรณีโยนเหรียญครั้งเดียวจะได้ว่า
P(0)=1/2P(1)=1/2
ถ้าโยน 2 ครั้งก็จะแบ่งเป็น 4 กรณี คือ ◎◎, ◎◯, ◯◎, ◯◯ ดังนั้นความน่าจะเป็นจะกลายเป็น
P(0)=1/4P(1)=2/4P(2)=1/4
ถ้าโยน 3 ครั้งก็จะมี 8 กรณีคือ ◎◎◎, ◎◎◯, ◎◯◎, ◎◯◯, ◯◎◎, ◯◎◯, ◯◯◎, ◯◯◯ ดังนั้นความน่าจะเป็นจะกลายเป็น
P(0)=1/8P(1)=3/8P(2)=3/8P(3)=1/8
ถ้าโยน 4 ครั้งก็จะมี 16 กรณีคือ
◎◎◎◎, ◎◎◎◯, ◎◎◯◎, ◎◎◯◯,
◎◯◎◎, ◎◯◎◯, ◎◯◯◎, ◎◯◯◯,
◯◎◎◎, ◯◎◎◯, ◯◎◯◎, ◯◎◯◯,
◯◯◎◎, ◯◯◎◯, ◯◯◯◎, ◯◯◯◯
ดังนั้นความน่าจะเป็นจะกลายเป็น
P(0)=1/16P(1)=4/16P(2)=6/16P(3)=4/16P(4)=1/16
ไล่มาถึงตรงนี้ก็จะพอนึกภาพได้ออกว่าการแจกแจงแนวโน้มจะเป็นอย่างไรเมื่อเพิ่มจำนวนเหรียญขึ้นไป
หากโยนเหรียญ n ครั้งความน่าจะเป็นที่จะได้หัว k ครั้งเป็น
P(k)=C(n,k)2n
โดย C(n,k) คือจำนวนวิธีการในการจัดหมู่ (combination) ซึ่งคำนวณได้โดย
C(n,k)=n!k!(n−k)!
โดยเครื่องหมายตกใจในที่นี้หมายถึง
แฟกทอเรียล
ในไพธอนมีฟังก์ชัน factorial() ในมอดูล math เอาไว้คำนวณค่าแฟทอเรียลได้ ลองเอามาใช้เขียนโปรแกรมเพื่อแสดงการแจกแจงตั้งแต่
n=1 ไปจนถึง n=9 ดูได้ดังนี้
ได้
n = 1 : [0.5, 0.5]
n = 2 : [0.25, 0.5, 0.25]
n = 3 : [0.125, 0.375, 0.375, 0.125]
n = 4 : [0.0625, 0.25, 0.375, 0.25, 0.0625]
n = 5 : [0.03125, 0.15625, 0.3125, 0.3125, 0.15625, 0.03125]
n = 6 : [0.015625, 0.09375, 0.234375, 0.3125, 0.234375, 0.09375, 0.015625]
n = 7 : [0.0078125, 0.0546875, 0.1640625, 0.2734375, 0.2734375, 0.1640625, 0.0546875, 0.0078125]
n = 8 : [0.00390625, 0.03125, 0.109375, 0.21875, 0.2734375, 0.21875, 0.109375, 0.03125, 0.00390625]
n = 9 : [0.001953125, 0.017578125, 0.0703125, 0.1640625, 0.24609375, 0.24609375, 0.1640625, 0.0703125, 0.017578125, 0.001953125]
ลักษณะเหมือนเป็นพีรามิดซ้อนกันไปเรื่อยๆ
หากเอาค่าที่ได้นี้มาวาดกราฟแสดงการแจกแจงจะได้เป็นแบบนี้
กราฟที่ได้จะมีลักษณะสมมาตรซ้ายขวา โดยค่าสูงสุดของกราฟจะอยู่ตรงกลาง
กรณีแบบนี้ค่าคาดหมายก็จะอยู่ตรงกลางซึ่งเป็นจุดสูงสุดด้วย ซึ่งจะเห็นได้ว่าจุดสูงสุดอยู่ที่ n/2
ลองมาทดลองสุ่มจริงๆโดยใช้ randint ดู
ได้
ถ้าวาดเป็นแผนภูมิแท่งแสดงก็จะได้แบบนี้
จะเห็นว่าการแจกแจงเป็นไปตามความน่าจะเป็นกรณี n=9 ซึ่งได้คำนวณไว้ข้างต้น
ลองปรับค่าจำนวนเหรียญ n ก็จะได้การแจกแจงที่ต่างกันออกไปตามที่ควรจะเป็น
การแจกแจงผลการโยนลูกเต๋า介
ต่อไปจะพูดถึงที่มาของการแจกแจงแบบนี้ และขยายความไปสู่กรณีทั่วไปมากขึ้น
ที่จริงแล้วผลที่ได้นี้เป็นไปตาม
ทฤษฎีบททวินาม (binomial theorem) ซึ่งว่าด้วยการแจกแจงของ
(x+y)
n
(x+y)n=n∑k=0C(n,k)xn−kyk
ซึ่งจะได้ว่า
(x+y)2=x2+2xy+y2(x+y)3=x3+3x2y+3xy2+y3(x+y)4=x4+4x3y+6x2y2+4xy3+y4(x+y)5=x5+5x4y+10x3y2+10x2y3+5xy4+y5
ในที่นี้ x แสดงถึงเหรียญที่ออกหัว y แสดงถึงเหรียญที่ออกก้อย โดยเลขชี้กำลังของ x แสดงถึงจำนวนเหรียญที่ออกหัว
ดังนั้นสัมประสิทธิ์ของแต่ละพจน์จะแสดงความถี่ของการออกเป็นจำนวนครั้งเท่านั้น
ซึ่งสัมประสิทธิ์นี้ก็คือ C(n,k) ดังนั้นเมื่อหารด้วยจำนวนเหตุการณ์ทั้งหมด ซึ่งก็คือ 2
n
ก็จะเป็นความน่าจะเป็นที่จะออกหัวเป็นจำนวนครั้งเท่านั้น
P(k)=C(n,k)2n
การโยนเหรียญหัวก้อยนั้นเป็นตัวอย่างกรณี ๒ ทางเลือกที่มีโอกาสเท่าๆกันคือ 1/2
แต่เหตุการณ์โดยทั่วไปอาจมีความน่าจะเป็นในการเกิดขึ้นเป็นเท่าไหร่ก็ได้ตั้งแต่ 0 ถึง 1
ยกตัวอย่างเช่นทอยลูกเต๋าแล้วพิจารณาเหตุการณ์ที่จะได้ 1 กับเหตการณ์ที่จะได้แต้มอื่น แบบนี้ความน่าจะเป็นที่จะทอยได้ 1
คือ
P(ลูกเต๋าได้1)=1/6
กรณีนี้จะต่างจากกรณีโยนเหรียญตรงที่โอกาสมีแค่ 1/6 ไม่ใช่ 1/2 โอกาสไม่ได้เท่ากัน
ดังนั้นจะแจกแจงแบบกรณีโยนเหรียญไม่ได้
การโยนเหรียญนั้นเทียบได้กับ ((x+y)/2)
n แต่ถ้าโอกาสไม่เท่ากันก็จะเปลี่ยนเป็นตามสัดส่วนนั้น
เช่นกรณีลูกเต๋าก็จะเป็น
(x+5y6)n=n∑k=0C(n,k)(16)k(56)n−kxn−kyk
ลองเขียนโปรแกรมแสดงการแจกแจงเช่นเดียวกับกรณีโยนเหรียญ
ค่าที่แสดงออกมาจะมีเยอะมาก ในที่นี้ของไม่นำมาแสดงตรงนี้ แต่หากวาดกราฟก็จะได้เช่นนี้
การแจกแจงส่วนใหญ่จะอยู่ในส่วนของจำนวนน้อยๆ โดยจุดสูงสุดในกรณีที่ลูกเต๋าเป็น 6,12,18,24 คือ 1,2,3,4 ตามลำดับ
ซึ่งก็เป็นไปตามสามัญสำนึกที่ว่าถ้าโอกาส 1/6 โยน 6 ครั้งก็ควรจะได้ครั้งหนึ่ง
คราวนี้จำลองการโยนลูกเต๋าดู
ได้
ซึ่งก็สอดคล้องกับการกระจายความน่าจะเป็นที่คำนวณได้ และจะเห็นว่าตัวหลังๆเป็น 0 หมดเพราะความเป็นไปได้ต่ำมาก
นำมาวาดแผนภูมิแท่งแสดงความถี่ก็จะได้แบบนี้
รูปทั่วไปของการแจกแจงทวินาม介
จากตัวอย่างกรณีโยนเหรียญและทอยลูกเต๋า สามารถนำไปสู่กรณีที่ทั่วไปกว่านั้น
คือหากแบ่งเป็นเกิดกับไม่เกิดเหตุการณ์ที่พิจารณา โดยมีค่าความน่าจะเป็นที่จะเกิดเหตุการณ์เป็น p การแจกแจงจะได้เป็น
(px+(1−p)y)n=n∑k=0C(n,k)pk(1−p)n−kxn−kyk
นำมาลองแจกแจงจนถึง 5 จะได้เป็นลักษณะแบบนี้
(px+(1−p)y)2=p2x2+2p(1−p)xy+(1−p)2y2(px+(1−p)y)3=p3x3+3p2(1−p)x2y+3p(1−p)2xy2+(1−p)3y3(px+(1−p)y)4=p4x4+4p3(1−p)x3y+6p2(1−p)2x2y2+4p(1−p)3xy3+(1−p)4y4(px+(1−p)y)5=p5x5+5p4(1−p)x4y+10p3(1−p)2x3y2+10p2(1−p)3x2y3+5p(1−p)4xy4+(1−p)5y5
ดังนั้นความน่าจะเป็นที่จะได้ผลที่ต้องการ k ครั้งก็จะเป็นไปตามสัมประสิทธิ์ที่นำหน้า นั่นคือ
P(k)=C(n,k)pk(1−p)n−k
นี่ก็คือรูปทั่วไปของการแจกแจงความน่าจะเป็นแบบทวินาม
ตรงนี้ถ้า p=1/2 ก็จะกลับไปสู่สมการของกรณีการโยนเหรียญหัวก้อย
ถ้า n=1 จะเป็นกรณีเฉพาะที่เรียกว่าเป็น
การแจกแจงแบร์นุลลี (伯努利分布, Bernoulli distribution)
การแจกแจงเหตุการณ์ที่มีโอกาสเกิดขึ้นเป็น p介
ยกตัวอย่างสถานการณ์เช่นเวลาที่เล่นเกมที่มีการตีมอนสเตอร์ เมื่อชนะเสร็จก็จะมีโอกาสดร็อปไปเท็ม สมมุติว่าเมื่อฆ่ามังกรได้มีโอกาสได้เขียวมังกรอยู่ 5% (หรือ 1/20) ถ้าฆ่ามังกรไป n ตัวจะได้เขี้ยวมังกรสักกี่อัน
ใช้สูตรแจกแจงทวินามมาคำนวณอีกเช่นเคย คราวนี้ p=1/20 ลองดูกรณีที่ n เป็น 10,20,...,200
ผลที่ได้ถ้านำมาวาดกราฟก็จะได้แบบนี้ ในที่นี้ขอแสดงแค่ช่วงจนถึง k=20 แม้ว่าค่าจริงๆจะมีถึง 200 เพราะถัดจากตรงนี้ไปก็แทบเป็น 0 หมดแล้ว
คราวนี้ก็ทดลองเขียนโปรแกรมสุ่มดูจริงๆอีก
ได้
ถ้านำมาวาดแผนภูมิแท่งดูการแจกแจงก็จะได้
ค่าสูงสุดอยู่ที่ 10 สอดคล้องกับที่ควรจะเป็นว่าถ้าโอกาสดร็อป 1/20 จัดการไป 200 ก็จะได้มา 200/20=10
ค่าคาดหมายของการแจกแจงทวินาม介
ถ้านำการแจกแจงทวินาม n ครั้งที่ความน่าจะเป็น p มาหาค่าคาดหมายจะได้
E(k)=np
ถ้า np เป็นจำนวนเต็ม ตรงนั้นก็จะเป็นจุดยอดสูงสุดด้วย
ซึ่งตรงนี้แสดงให้เห็นว่า หากทำอะไรที่มีโอกาสทำสำเร็จได้ 1 ใน n พอทำไป n ครั้งก็ควรจะต้องทำสำเร็จ 1 ครั้ง ถ้าทำ 2n ครั้งก็จะสำเร็จ 2 ครั้ง ซึ่งก็ตรงกับสามัญสำนึก ส่วนโอกาสที่จะได้เป็นจำนวนอื่นก็ลดหลั่นลงไปจากนี้ จะเป็นเท่าใดก็ดูได้จากการแจกแจง
วิธีพิสูจน์
E(k)=n∑k=0kP(k)=n∑k=0kC(n,k)pk(1−p)n−k=n∑k=0kn!k!(n−k)!pk(1−p)n−k=npn∑k=1(n−1)!(k−1)!(n−k)!pk(1−p)n−k=npn∑k=1C(n−1,k−1)pk(1−p)n−k=npn−1∑k=0C(n−1,x)pk(1−p)n−1−k=np(p+(1−p))n−1=np
ค่าความแปรปรวนของการแจกแจงทวินาม介
ค่าความแปรปรวนของการแจกแจงทวินามคือ
V(k)=np(1−p)
พิสูจน์ได้ดังนี้
V(k)=n∑k=0(k−E(k))2P(k)
โดยค่าคาดหวัง E(k)=np
V(k)=n∑k=0(k−np)2P(k)=n∑k=0(k2−2npk+(np)2)P(k)=n∑k=0k2P(k)−2npn∑k=0kP(k)+(np)2n∑k=0P(k)=n(n−1)p2−(np)2=np(1−p)
บทถัดไป >>
บทที่ ๖