หวยล็อก รถนายก ความน่าจะเป็น และ Bayesian Inference

สรุป

มีเพื่อนใน Facebook แชร์ลิงค์จาก ThaiPublica ว่าเลขทะเบียนรถนายกตรงกับหวย 8 งวดจาก 63 งวด  (ทั้งหมดเป็นเลขท้ายสองและสามตัว หรือเลขท้ายรางวัลที่ 1) แปลว่าน่าจะมีการล็อคหรือไม่

ผมก็ไม่แน่ใจว่ามีการล็อคหรือไม่ แต่คิดว่าอาจจะเป็นความบังเอิญเพราะมีรถที่เกี่ยวข้องหลายคันก็ได้ ยกตัวอย่างเช่น ถ้ามีรถเป็นร้อยคัน ก็น่าจะมีเลขทะเบียนสักอันตรงกับหวยเกือบทุกงวด จึงทดลองคำนวณดูว่าความน่าจะเป็นต่างๆที่เกี่ยวข้องว่ามากน้อยอย่างไร และพบว่าถ้าไม่มีการล็อคเลขหวย เราสามารถใช้ Bayesian Inference ประมาณจำนวนรถที่นายกใช้ว่ามีประมาณ 6 ± 2 คัน

คำนวณเบื้องต้น

สมมุติว่ารถที่นายกใช้มี nCars คัน

ให้ probMatchedPerCar = ความน่าจะเป็นที่ทะเบียนรถแต่ละคันตรงกับสลากที่ออก = prob(เลขท้ายสองตัว) + prob(เลขท้ายสามตัว) + prob(เลขสองตัวสุดท้ายของรางวัลที่ 1) + prob(เลขสามตัวสุดท้ายของรางวัลที่ 1)
= 1/100 + 4/1000 + 1/100 + 1/1000 = 1/40

ให้ q(nCars) = โอกาสที่ทะเบียนรถทุกคัน (ทั้งหมดจำนวน nCars คัน) ไม่ตรงกับรางวัลใดๆเลย = (1-probMatchedPerCar)^nCars

ดังนั้น p(nCars) = โอกาสที่จะมีรถอย่างน้อยหนึ่งคันจากทั้งหมด nCars คัน มีทะเบียนตรงกับสลาก = 1-q(nCars) = 1- (1-probMatchedPerCar)^nCars

ถ้ามีการออกสลาก N ครั้ง และเรียกจำนวนครั้งที่มีสลากออกตรงกับทะเบียนรถว่า k เราจะได้ความน่าจะเป็นทีี่รถนายกมีเลขทะเบียนตรงกับสลาก k ครั้ง = pn(nCars, N, k) = Binomial(N,k) p(nCars)^k q(nCars)^(N-k) ซึ่งก็คือ Binomial Distribution[N, k, p = p(nCars)]

ก่อนอื่นลองคำนวณความน่าจะเป็นที่ทะเบียนรถแต่ละคันตรงกับเลขหวยก่อน พบว่าความน่าจะเป็น = 1/40:

PooLottery_1.gif

PooLottery_2.gif

ต่อไปลองวาดกราฟความน่าจะเป็นที่จะมีรถอย่างน้อยหนึ่งค้นมีทะเบียนตรงกับหวย ถ้ามีรถทั้งหมด nCars คัน (ซึ่งเท่ากับ p(nCars) ข้างบน):

PooLottery_3.gif

Graphics:p(nCars)

จะพบว่ายิ่งจำนวนรถมีมาก โอกาสที่อย่างน้อยหนึ่งคันจะมีทะเบียนตรงกับหวยก็มากตาม เช่นถ้ามีรถ 20 คัน โอกาสที่อย่างน้อยหนึ่งคันจะตรงกับหวยจะเท่ากับประมาณ 40%

ถ้ามี 100 คัน โอกาสก็จะเยอะประมาณ 92%

ถ้าเราลองหาเปลี่ยนจำนวนรถดู แล้วลองเปรียบเทียบความน่าจะเป็นที่จะมีตรงกับหวย 8 งวดจาก 63 งวด ดูว่าจำนวนรถเท่าไรจะให้ความน่าจะเป็นสูงๆ เราก็วาดกราฟ pn(จำนวนรถ, จำนวนงวด, จำนวนงวดที่ถูก) ดู:

PooLottery_5.gif

PooLottery_6.gif

PooLottery_7.gif

เราจะเห็นว่าถ้ารถมี 4, 5, 6, 7 คัน ความน่าจะเป็นที่จะถูก 8 งวดจาก 63 งวดจะสูงกว่ารถจำนวนอื่นๆเช่นที่รถ 20 คัน เป็นต้น

นอกจากนี้เราสามารถใช้เทคนิค Bayesian Inference มาประมาณจำนวนรถได้ด้วย

Bayesian Inference

Bayesian Inference เป็นวิธีหาความน่าจะเป็นของสมมุติฐานต่างๆ เมื่อเราได้ข้อมูลเพิ่มเติม

หลักการของมันก็เกิดจากกฎความน่าจะเป็นร่วม P(A,B) = P(A|B) P(B) ซึ่งอ่านได้ว่า “ความน่าจะเป็นที่ A และ B เกิดขึ้น เท่ากับ (ความน่าจะเป็นที่ A จะเกิดเมื่อ B เกิดขึ้นแล้ว) คูณกับ (ความน่าจะเป็นของ B)”

เนื่องจาก P(A,B) = P(B,A) เราจะเขียนต่อได้ว่า:

P(A,B) = P(A|B) P(B) = P(B,A) = P(B|A) P(A)

หรือ
P(A|B) P(B) = P(B|A) P(A)

หรือในที่สุด
P(A|B) = P(B|A) P(A) / P(B)

สมการนี้จะมีความหมายขึ้นมาเมื่อเราตีความว่า A คือสมมุติฐานแต่ละอันของเรา และตีความ B ว่าคือข้อมูลที่เราเก็บมาได้

ตอนแรกเราก็มี P(A) = ความน่าจะเป็นที่สมมุติฐาน A เป็นจริง
พอเรารวบรวมข้อมูล B มาได้ เราก็จะสามารถปรับปรุงความน่าจะเป็นที่สมมุติฐาน A เป็นจริงหลังจากเราเห็นข้อมูล B แล้ว ในความเป็นจริงข้อมูล B อาจจะเข้ามาเรื่อยๆ เราก็สามารถปรับความน่าจะเป็นของสมมุติฐาน A ไปเรื่อยๆตามข้อมูลที่เข้ามาได้

เราสามารถอ่าน P(A|B) = P(B|A) P(A) / P(B) ว่า:
P(A|B) คือความน่าจะเป็นที่สมมุติฐาน A เป็นจริงหลังจากเห็นข้อมูล B จะมีค่าเท่ากับผลคูณของ P(B|A) กับ P(A) ซึ่งก็คือ (ความน่าจะเป็นที่จะเห็นข้อมูล B ถ้าสมมุติฐาน A เป็นจริง)x(ความน่าจะเป็นที่สมมุติฐาน A เป็นจริงก่อนจะเห็นข้อมูล) แล้วหารผลคูณนั้นด้วย P(B) ซึ่งก์คือความน่าจะเป็นที่จะเห็นข้อมูล B ไม่ว่าสมมุติฐาน A จะจริงหรือไม่จริงอย่างไรก็ตาม

ในกรณีรถของนายก เราคิดว่าจำนวนรถน่าจะไม่เกิน 100 คัน เราจึงมีสมมุติฐาน 101 อัน โดยที่แต่ละอันคือสมมุติฐานที่ว่ามีรถ nCars คัน โดยที่ nCars มีค่า 0, 1, 2, ..., 98, 99, 100

ก่อนที่จะเห็นข้อมูลว่าถูกหวยกี่งวด เราก็ประมาณความน่าจะเป็นของสมมุติฐานของเรา
เราประมาณหยาบๆว่าความน่าจะเป็นของแต่ละสมมุติฐานเท่ากันทุกอัน = 1/101

นี่คือ P(A) ของเรา เพราะเราแปลความสมมุติฐาน A ว่ามีรถ nCars คัน
P(A) = 1.0/101:

PooLottery_8.gif

ต่อไปเรามีข้อมูล B เข้ามาว่า มีหวยออก 63 งวด และมี 8 งวดที่ตรงกับทะเบียนรถคันใดคันหนึ่งในจำนวน nCars

เราจึงเขียน P(B|A) คือความน่าจะเป็นที่ทะเบียนตรงกับหวย 8 งวดจาก 63 งวด ถ้ามีรถ nCars คัน (จากสมมุติฐาน A ที่ว่ามีรถ nCars คน)

ค่าของ P(B|A) จะเท่ากับ pn(nCars, N=63, k=8) จากข้างบน

ดังนั้น P(A|B ) = P(B|A) P(A) / P(B)
    = pn(nCars, N=63, k=8) prior(nCars) / (ผลรวม pn(nCars, N=63, k=8) prior(nCars) โดยที่ nCars = 0, 1, 2,...,99, 100)
    
เราคำนวณ “ ผลรวม pn(nCars, N=63, k=8) prior(nCars) โดยที่ nCars = 0, 1, 2,...,99, 100” ก่อน แล้วเรียกมันว่า normalize จะได้ค่ามันเท่ากับประมาณ 0.007:

PooLottery_9.gif

PooLottery_10.gif

จากนั้นเราคำนวณ P(A|B) คือความน่าจะเป็นที่จะมีรถ nCars เมื่อเราเห็นข้อมูลการถูกหวยแล้ว:

PooLottery_11.gif

แล้วเราก็วาดกราฟความน่าจะเป็นของจำนวนรถต่างๆ

PooLottery_12.gif

PooLottery_13.gif

จะเห็นได้ว่าความน่าจะเป็นจะมีมากแถวๆรถ 5-6 คัน และความน่าจะเป็นจะใกล้ๆศูนย์สำหรับรถมากกว่า 15 คันขึ้นไป

ถ้าเราจะหาค่าเฉลี่ยว่ารถน่าจะมีกี่คันและความเบี่ยงเบนมาตรฐานเราก็คำนวณแบบนี้:

PooLottery_14.gif

PooLottery_15.gif

PooLottery_16.gif

แปลว่า Bayesian Inference ประมาณจำนวนรถที่นายกใช้เท่ากับ 6 ± 2 คัน

Spikey Created with Wolfram Mathematica 9.0