คำแนะนำเกี่ยวกับ dbinom, pbinom, qbinom และ rbinom ใน r
บทช่วยสอนนี้จะอธิบายวิธีใช้ การแจกแจงแบบทวินาม ใน R โดยใช้ฟังก์ชัน dbinom , pbinom , qbinom และ rbinom
ดีบินอม
ฟังก์ชัน dbinom ส่งกลับค่าของฟังก์ชันความหนาแน่นของความน่าจะเป็น (pdf) ของการแจกแจงแบบทวินามโดยกำหนดตัวแปรสุ่มบางตัว x จำนวนการทดลอง (ขนาด) และความน่าจะเป็นที่จะสำเร็จในการทดลองแต่ละครั้ง (prob) ไวยากรณ์สำหรับการใช้ dbinom เป็นดังนี้:
dbinom(x, ขนาด, ปัญหา)
พูดง่ายๆ ก็คือ dbinom จะค้นหาความน่าจะเป็นที่จะได้ค่าจำนวนหนึ่ง ความสำเร็จ (x) ในการทดลองจำนวนหนึ่ง (ขนาด) โดยที่ความน่าจะเป็นของความสำเร็จในการทดลองแต่ละครั้งได้รับการแก้ไข (prob)
ตัวอย่างต่อไปนี้แสดงวิธีแก้คำถามความน่าจะเป็นโดยใช้ dbinom
ตัวอย่างที่ 1: บ๊อบทำ 60% ของความพยายามในการโยนโทษ ถ้าเขาโยนโทษ 12 ครั้ง ความน่าจะเป็นที่เขาโยนโทษได้ 10 ครั้งพอดีเป็นเท่าใด?
#find the probability of 10 successes during 12 trials where the probability of
#success on each trial is 0.6
dbinom(x=10, size=12, prob=.6)
#[1]0.06385228
ความน่าจะเป็นที่เขายิงได้ 10 นัดพอดีคือ 0.0639
ตัวอย่างที่ 2: Sasha โยนเหรียญยุติธรรม 20 ครั้ง ความน่าจะเป็นที่เหรียญจะออกหัว 7 พอดีเป็นเท่าใด?
#find the probability of 7 successes during 20 trials where the probability of
#success on each trial is 0.5
dbinom(x=7, size=20, prob=.5)
#[1]0.07392883
ความน่าจะเป็นที่เหรียญจะขึ้นหัว 7 ครั้งพอดีคือ 0.0739
พิโนม
ฟังก์ชัน pbinom ส่งกลับค่าของฟังก์ชันความหนาแน่นสะสม (cdf) ของการแจกแจงแบบทวินามโดยให้ตัวแปรสุ่มบางตัว q จำนวนการทดลอง (ขนาด) และความน่าจะเป็นที่จะสำเร็จในการทดลองแต่ละครั้ง (ความน่าจะเป็น) ไวยากรณ์สำหรับการใช้ pbinom มีดังนี้:
pbinom(q, ขนาด, ปัญหา)
กล่าวง่ายๆ ก็คือ pbinom จะคืนค่าพื้นที่ทางด้านซ้ายของค่า q ที่กำหนด ในการแจกแจงแบบทวินาม หากคุณสนใจพื้นที่ทางด้านขวาของค่า q ที่กำหนด คุณสามารถเพิ่มอาร์กิวเมนต์ lower.tail = FALSE ได้
pbinom(q, ขนาด, ปัญหา, lower.tail = FALSE)
ตัวอย่างต่อไปนี้แสดงวิธีแก้คำถามความน่าจะเป็นโดยใช้ pbinom
ตัวอย่างที่ 1: Ando โยนเหรียญยุติธรรม 5 ครั้ง ความน่าจะเป็นที่เหรียญจะขึ้นหัวมากกว่าสองเท่าเป็นเท่าใด?
#find the probability of more than 2 successes during 5 trials where the #probability of success on each trial is 0.5 pbinom(2, size=5, prob=.5, lower.tail=FALSE) # [1] 0.5
ความน่าจะเป็นที่เหรียญจะขึ้นหัวมากกว่าสองครั้งคือ 0.5
ตัวอย่างที่ 2: สมมติว่าไทเลอร์ถูกโจมตี 30% ของความพยายามเมื่อเขาเล่น ถ้าเขาเล่น 10 ครั้ง ความน่าจะเป็นที่เขาจะถูกโจมตี 4 ครั้งหรือน้อยกว่านั้นเป็นเท่าใด
#find the probability of 4 or fewer successes during 10 trials where the #probability of success on each trial is 0.3 pbinom(4, size=10, prob=.3) # [1]0.8497317
ความน่าจะเป็นที่เขายิงได้ 4 นัดหรือน้อยกว่าคือ 0.8497
คิวบินอม
ฟังก์ชัน qbinom ส่งกลับค่าของฟังก์ชันความหนาแน่นสะสมผกผัน (cdf) ของการแจกแจงแบบทวินามโดยให้ตัวแปรสุ่มบางตัว q จำนวนการทดลอง (ขนาด) และความน่าจะเป็นที่จะสำเร็จของการทดลองแต่ละครั้ง (ปัญหา) ไวยากรณ์สำหรับการใช้ qbinom เป็นดังนี้:
qbinom(q, ขนาด, ปัญหา)
กล่าวง่ายๆ คุณสามารถใช้ qbinom เพื่อค้นหาควอนไทล์ p ของการแจกแจงแบบทวินาม
รหัสต่อไปนี้สาธิตตัวอย่างการทำงานของ qbinom :
#find the 10th quantile of a binomial distribution with 10 trials and prob #of success on each trial = 0.4 qbinom(.10, size=10, prob=.4) # [1] 2 #find the 40th quantile of a binomial distribution with 30 trials and prob #of success on each trial = 0.25 qbinom(.40, size=30, prob=.25) # [1] 7
rbinom
ฟังก์ชัน rbinom สร้างเวกเตอร์ของตัวแปรสุ่มแบบกระจายแบบทวินามโดยกำหนดความยาวเวกเตอร์ n จำนวนการทดลอง (ขนาด) และความน่าจะเป็นที่จะประสบความสำเร็จในการทดลองแต่ละครั้ง (ปัญหา) ไวยากรณ์สำหรับการใช้ rbinom มีดังนี้:
rbinom(n, ขนาด, ปัญหา)
รหัสต่อไปนี้แสดงให้เห็นถึงตัวอย่างของ rnorm ในการดำเนินการ:
#generate a vector that shows the number of successes of 10 binomial experiments with #100 trials where the probability of success on each trial is 0.3. results <- rbinom(10, size=100, prob=.3) results # [1] 31 29 28 30 35 30 27 39 30 28 #find mean number of successes in the 10 experiments (compared to expected #mean of 30) mean(results) # [1] 32.8 #generate a vector that shows the number of successes of 1000 binomial experiments #with 100 trials where the probability of success on each trial is 0.3. results <- rbinom(1000, size=100, prob=.3) #find mean number of successes in the 100 experiments (compared to expected #mean of 30) mean(results) # [1] 30.105
โปรดสังเกตว่า ยิ่งเราสร้างตัวแปรสุ่มมากเท่าใด จำนวนความสำเร็จโดยเฉลี่ยก็จะใกล้เคียงกับจำนวนความสำเร็จที่คาดหวังมากขึ้นเท่านั้น
หมายเหตุ: “จำนวนความสำเร็จที่คาดหวัง” = n * p โดยที่ n คือจำนวนการทดลอง และ p คือความน่าจะเป็นของความสำเร็จสำหรับการทดลองแต่ละครั้ง