φυβλαςのβλογ
บล็อกของ phyblas



ความน่าจะเป็นเบื้องต้นสำหรับเขียนโปรแกรม บทที่ ๑๙: การคาดการณ์ค่าที่พารามิเตอร์การแจกแจงมีความไม่แน่นอน
เขียนเมื่อ 2020/09/10 22:38
แก้ไขล่าสุด 2024/10/03 19:39

ต่อจาก บทที่ ๑๘

ในบทนี้จะพูดถึงเรื่องของการแจกแจงความน่าจะเป็นของค่าที่มีพารามิเตอร์การแจกแจงที่มีความไม่แน่นอน ซึ่งการแจกแจงจะมีลักษณะที่เปลี่ยนไป และยังอาจเป็นที่มาของการแจกแจงแบบใหม่




ค่าที่พารามิเตอร์การแจกแจงมีความไม่แน่นอน

ถ้าค่าตัวแปรสุ่ม x ที่พิจารณาอยู่มีการแจกแจกแจงความน่าจะเป็น P(x) ซึ่งขึ้นกับพารามิเตอร์ p แต่ว่าค่า p นั้นเองก็มีความไม่แน่นอนอยู่ โดยมีการแจกแจงความน่าจะเป็นของค่า p เป็น P(p)

ในกรณีแบบนี้การจะหาความน่าจะเป็น P(x) ได้นั้นจะต้องหาความน่าจะเป็นของทุกกรณีที่ p จะเป็นได้ แล้วเอามารวมกันโดยถ่วงน้ำหนักความน่าจะเป็นของกรณีนั้นๆ

หาก p เป็นค่าแบบไม่ต่อเนื่องก็คือหาผลรวม

🧹(19.1)

แต่พารามิเตอร์ p ที่พิจารณานั้นส่วนใหญ่เป็นค่าแบบต่อเนื่องซึ่งกรณีนี้จะคำนวณได้โดยหาปริพันธ์ของฟังก์ชันแจกแจงความหนาแน่น

🧹(19.2)

ถ้าสามารถหาปริพันธ์ออกมาได้ก็จะสามารถหาการแจกแจงความน่าจะเป็นของ x ตามที่ต้องการออกมาได้

อย่างไรก็ตาม นอกจากนั้นแล้วหากรู้อยู่แล้วว่าการแจกแจงที่ได้นั้นควรจะมีลักษณะอย่างไรก็มีอีกวิธีซึ่งถือเป็นวิธีลัดที่ง่ายกว่านั้นอยู่ ซึ่งในบทนี้จะใช้วิธีนั้นเป็นหลัก

ในบทที่ ๑๕ ได้พูดถึงการหาพารามิเตอร์ของการแจกแจงในกรณีที่พารามิเตอร์ของการแจกแจงมีความไม่แน่นอนมีการแจกแจงความน่าจะเป็นก่อนหน้ากำหนดไว้อยู่ โดยใช้การแจกแจงเป็นความน่าจะเป็นก่อนหน้าสังยุค (共轭先验, conjugate prior) ของการแจกแจงนั้น

หากพารามิเตอร์มีการแจกแจงเป็นความน่าจะเป็นก่อนหน้าสังยุคที่เข้าคู่กับการแจกแจงของตัวแปรนั้น เราจะสามารถหาได้ว่าความน่าจะเป็นรวมของค่าที่ได้จะเป็นการแจกแจงแจงดังนี้

การแจกแจงค่าเมื่อกำหนดพารามิเตอร์
พารามิเตอร์
การแจกแจงของพารามิเตอร์
การแจกแจงโดยรวมของค่าตัวแปรที่ได้
การแจกแจงทวินามpการแจกแจงเบตาการแจกแจงเบตา-ทวินาม
การแจกแจงทวินามเชิงลบpการแจกแจงเบตาการแจกแจงเบตา-ทวินามเชิงลบ
การแจกแจงอเนกนามpการแจกแจงดีริคเลการแจกแจงดีริคเล-อเนกนาม
การแจกแจงปัวซงλการแจกแจงแกมมาการแจกแจงทวินามเชิงลบ
การแจกแจงแบบเลขชี้กำลังλการแจกแจงแกมมาการแจกแจงโลแม็กซ์
การแจกแจงแบบปกติμการแจกแจงแบบปกติการแจกแจงแบบปกติ
α (=1/σ2)การแจกแจงแกมมาการแจกแจงสติวเดนต์ที
การแจกแจงแบบปกติหลายตัวแปรμการแจกแจงแบบปกติหลายตัวแปรการแจกแจงแบบปกติหลายตัวแปร
Λ (=Σ-1)การแจกแจงวิชาร์ตการแจกแจงสติวเดนต์ทีหลายตัวแปร

ที่จริงนี่คือตารางเดิมจากบทที่ ๑๕ แต่แค่เพิ่มส่วนของการแจกแจงโดยรวมที่จะได้ในแต่ละกรณีลงไป

จะเห็นว่าบางส่วนจะได้เป็นการแจกแจงชนิดเดิม แต่ก็มีที่ได้เป็นการแจกแจงชนิดใหม่ (บางส่วนก็แค่เอาชื่อมาต่อกัน)

หากเรารู้อยู่แล้วว่าการแจกแจงที่ได้นั้นควรจะเป็นการแจกแจงแบบไหน สามารถใช้วิธีการพิจารณาสมการทฤษฎีบทของเบส์ โดยมองแค่ส่วนที่เกี่ยวข้องกับ x แล้วให้ส่วนที่ไม่เกี่ยวข้องไปรวมอยู่กับค่าคงที่

สมการทฤษฎีบทของเบส์เมื่อพิจารณาตัวแปร x และพารามิเตอร์ p คือ

🧹(19.3)

ดังนั้นการแจกแจงความน่าจะเป็นโดยรวมของ x ก็สามารถคำนวณได้จากสมการนี้

🧹(19.4)

ในที่นี้จะพิจารณาเอาส่วนที่ไม่เกี่ยวกับ x มารวมไว้เป็นค่าคงที่ ซึ่งการแจกแจงความน่าจะเป็นก่อนหน้าไม่เกี่ยวข้องกับ x จึงสามารถให้เป็นค่าคงที่ จึงได้ว่า

🧹(19.5)

ดังนั้นการแจกแจงของ x ที่หาอยู่ก็ขึ้นอยู่กับรูปแบบการแจกแจงเดิมของ x นั้นเอง และการแจกแจงของพารามิเตอร์ p นั้น

ในบทนี้ส่วนที่เหลือจะยกตัวอย่างกรณีการแจกแจงบางส่วนที่สำคัญ ได้แก่กรณีของการแจกแจงปัวซง และกรณีของการแจกแจงแบบปกติเมื่อพารามิเตอร์ที่พิจารณาเป็น μ

ส่วนการแจกแจงแบบปกติในกรณีที่พิจารณา α นั้นจะได้การแจกแจงสติวเดนต์ที ซึ่งยังไม่เคยกล่าวถึง และค่อนข้างมีความสำคัญและมีรายละเอียดมาก จึงขอยกไปกล่าวถึงเป็นบทหน้าโดยเฉพาะ




การแจกแจงแบบปกติที่ μ มีความไม่แน่นอน

ขอเริ่มยกตัวอย่างจากกรณีการแจกแจงแบบปกติที่พิจารณาค่าพารามิเตอร์ μ ซึ่งดูจะเข้าใจง่ายที่สุด เพราะทั้งการแจกแจงของ μ เองก็เป็นการแจกแจงแบบปกติ และการแจกแจงของ x ที่ได้สุดท้ายก็จะเป็นการแจกแจงแบบปกติอีกเช่นกัน

การแจกแจงความน่าจะเป็นโดยรวมของ x ในที่นี้จะคำนวณได้จาก

🧹(19.6)

การแจกแจงความน่าจะเป็นของ x (หรือก็คือฟังก์ชันควรจะเป็น) ก็คือการแจกแจงแบบปกติ ที่มีใจกลางที่ μ และความแปรปรวน σ2

🧹(19.7)

ดึงค่าที่ไม่เกี่ยวกับ x มาไว้ใน

🧹(19.8)

สำหรับการแจกแจงความน่าจะเป็นของ μ ในที่นี้ก็จะตรงกับการแจกแจงความน่าจะเป็นภายหลังนั้นซึ่งได้แสดงวิธีหาไปในบทที่ ๑๕ ในที่นี้จึงขอยกผลจากบทนั้นมาใช้เลย

🧹(19.9)

จากนั้นก็จัดรูป ดึงส่วนที่ไม่เกี่ยวข้องกับ x มาไว้ในค่าคงที่

🧹(19.10)

แทนผลจากสมการ 19.8 และ 19.10 ลงในสมการ 19.6 แล้วจัดรูปต่อ ได้

🧹(19.11)

สุดท้ายก็จะเห็นว่าการแจกแจงของ x ในที่นี้ก็สามารถเขียนในรูปของการแจกแจงแบบปกติเช่นกัน โดยจุดกึ่งกลางการแจกแจงของ x ก็คือจุดกึ่งกลางการแจกแจงของ μ นั่นเอง ซึ่งตรงนี้ก็เป็นสิ่งที่คาดการณ์ได้ไม่ยาก เพราะจุดที่มีความน่าจะเป็นของ μ มากที่สุดก็ย่อมมีความน่าจะเป็นของ x สูงสุดด้วย

ส่วนค่าความแปรปรวน σ2 จะได้เป็นผลรวมระหว่างความแปรปรวนของ x ซึ่งทราบค่าอยู่แล้ว กับความแปรปรวนของ μ จากการแจกแจงซึ่งคาดการณ์ไว้ตอนแรก

ต่อไปเป็นโค้ดตัวอย่างการจำลองให้เห็นจริง โดยจะเริ่มจากสุ่มค่า μ ก่อน แล้วใช้ค่า μ ที่สุ่มได้นั้นมาเป็นพารามิเตอร์ในการสุ่มของ x อีกที ซึ่งค่า x ที่ได้ก็ควรจะเป็นการแจกแจงแบบปกติที่มีความแปรปรวนเป็นผลรวมของความแปรปรวนของการแจกแจงทั้งสองนั้น ในที่นี้จะแสดงฮิสโทแกรมของผลการแจกแจง และวาดกราฟที่ได้จากการคำนวณลงไปด้วย
import numpy as np
import random,math

# ฟังก์ชันการแจกแจงแบบปกติ
def pakati(x,μ,σ):
    return (2*np.pi)**(-0.5)/σ*np.exp(-(x-μ)**2/(2*σ**2))

μ_μ = 8 # จุดกึ่งกลางของ μ
σ_μ = 3 # ส่วนเบี่ยงเบนมาตรฐานของ μ
σ = 4 # ส่วนเบี่ยงเบนมาตรฐานของ x

x = []
for i in range(2345):
    μ = random.gauss(μ_μ,σ_μ)
    x += [random.gauss(μ,σ)]

# วาดฮิสโทแกรมแสดงความหนาแน่น
plt.hist(x,50,fc='#b5c92f',ec='w',density=True)
# วาดเส้นแสดงค่าจริงที่ได้จากการคำนวณ
x_ = np.linspace(min(x),max(x),201)
Px_ = pakati(x_,μ_μ,(σ**2+σ_μ**2)**0.5)
plt.plot(x_,Px_,'#953a25')
plt.show()

ผลที่ได้



ในที่นี้ให้จุดกึ่งกลางการแจกแจงอยู่ที่ μμ=8 ให้ความแปรปรวนของ x เป็น σ=42 ความแปรปรวนของ μ เป็น σμ=32 ดังนั้นการแจกแจงสุดท้ายของ x ควรมีความแปรปรวนเป็น 32+42=52

เส้นกราฟคือค่าที่ได้จากการคำนวณ และฮิสโทแกรมแสดงการแจกแจงที่ได้จริงๆ ผลที่ได้จะเห็นว่ากราฟกับฮิสโทแกรมสอดคล้องกันดี




การแจกแจงปัวซงที่ λ มีความไม่แน่นอน

ต่อมาดูการแจกแจงปัวซง ซึ่งค่า λ มีความน่าจะเป็นก่อนหน้าสังยุคเป็นการแจกแจงแกมมา ซึ่งเมื่อ λ มีการแจกแจงตามนั้นแล้ว ผลการแจกแจงที่ได้ก็จะออกมาเป็นการแจกแจงทวินามเชิงลบ

ให้ตัวแปรสุ่ม k เป็นผลจากการแจกแจงปัวซงซึ่งมีพารามิเตอร์ λ ซึ่งมีความไม่แน่นอนอยู่ การแจกแจงของ k ที่จะได้ในท้ายที่สุดอาจหาได้จากทฤษฎีบทของเบส์ดังนี้

🧹(19.12)

ซึ่งการแจกแจงก่อนหน้า P(λ) ไม่ได้เกี่ยวกับค่าตัวแปร k ที่พิจารณา จึงให้เป็นค่าคงที่

🧹(19.13)

พิจารณาการแจกแจงของค่า k ซึ่งเป็นการแจกแจงปัวซงเป็น

🧹(19.14)

สำหรับการแจกแจงของพารามิเตอร์ λ ก็คือการแจกแจงความน่าจะเป็นภายหลัง ดังที่ได้แสดงไว้ในบทที่ ๑๖ จากนั้นก็จัดรูป ดึงส่วนที่ไม่เกี่ยวข้องกับ x มาไว้ในค่าคงที่

🧹(19.15)

จากนั้นแทนสมการ 19.14 และ 19.15 ลงในสมการ 19.13

🧹(19.16)

ซึ่งจะเห็นว่าได้ลักษณะที่สามารถเขียนออกมาเป็นการแจกแจงทวินามเชิงลบได้

การแจกแจงทวินามเชิงลบได้เขียนถึงไปในบทที่ ๖ ขอยกสมการจากตรงนั้นมา

🧹(19.17)

เมื่อเทียบสมการ 19.16 กับ 19.17 แล้วจะได้ว่าในที่นี้

🧹(19.18)

แล้วค่าคงที่ด้านหน้าก็คือ

🧹(19.19)

ดังนั้นสุดท้ายแล้วได้การแจกแจงของค่า k คือ

🧹(19.20)



บทถัดไป >> บทที่ ๒๐



-----------------------------------------

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- คณิตศาสตร์ >> ความน่าจะเป็น
-- คอมพิวเตอร์ >> เขียนโปรแกรม >> python >> numpy

ไม่อนุญาตให้นำเนื้อหาของบทความไปลงที่อื่นโดยไม่ได้ขออนุญาตโดยเด็ดขาด หากต้องการนำบางส่วนไปลงสามารถทำได้โดยต้องไม่ใช่การก๊อปแปะแต่ให้เปลี่ยนคำพูดเป็นของตัวเอง หรือไม่ก็เขียนในลักษณะการยกข้อความอ้างอิง และไม่ว่ากรณีไหนก็ตาม ต้องให้เครดิตพร้อมใส่ลิงก์ของทุกบทความที่มีการใช้เนื้อหาเสมอ

สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  ค้นหาบทความ

  บทความแนะนำ

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

ไทย

日本語

中文