วันเสาร์ที่ 28 กันยายน พ.ศ. 2567

การสร้างเลขสุ่มแบบ Uniform distribution ด้วยสูตร Excel : RAND

สวัสดีครับ วันนี้จะเสนอความหมายกายภาพของ การสุ่มตัวเลขด้วยฟังก์ชั่น Excel : RAND() ฟังก์ชั่น RAND() เป็นฟังก์ชั่น ที่สร้างตัวเลขสุ่ม ระหว่าง 0 - 1 ซึ่งตัวเลขทุกค่ามีโอกาสสุ่มขึ้นมาได้ด้วยความน่าจะเป็นเท่าๆกัน โดยในทางสถิติ จะเรียกการแจกแจงแบบนี้ว่า Uniform distribution นอกจากฟังก์ชั่น RAND() แล้ว หากต้องการสุ่มจำนวนเต็ม Excel ได้เตรียมฟังก์ชั่น RANDBETWEEN(bottom,top) ไว้ให้เรียบร้อยแล้ว เรามาดูตัวอย่างลักษณะการแจกแจงของเลขสุ่มดูครับ

เราทราบกันดีว่าในการทอยลูกเต๋า ความน่าจะเป็นที่ลูกเต๋าจะออกหน้า 1 , 2 , 3 ,4 ,5,6 มีเท่าๆกัน ดังนั้น เรามาจำลองการทอยลูกเต๋า ซัก 10,000 ครั้งกันดูครับ โดยใช้ คำสั่ง Data Table ช่วยในการจำลองการทอยลูกเต๋าทั้ง 10,000 ครั้งกัน มาเริ่มกันเลยครับ

ป้อนสูตร Excel ที่ 
C5 = RANDBETWEEN(C2,C3)   เป็นการสุ่มหน้าลูกเต๋า 1 - 6  
สร้างลำดับการทอยลูกเต๋า 10,000 ครั้ง ตั้งแต่ C9:C10008
กำหนดผลการทอยลูกเต๋า C8 = C5
ดังรูป



เราจะเริ่มจำลองการทอยลูกเต๋าทั้ง 10,000 ครั้ง โดยใช้คำสั่ง Data Table โดยให้ คลิก เลือกช่วง B8:C10008
ไปที่เมนู ข้อมูล เลือก การวิเคราะห์ข้อมูลแบบ What -if เลือก ตารางข้อมูล จะปรากฎหน้าต่าง ตารางข้อมูล ขึ้นมา ให้เลือก C6 หรือ เซลล์ ที่ไม่มีข้อมูลใดๆก็ได้ ดังแสดงในภาพ


กดปุ่ม ตกลง
จะได้ผลลัพธ์การทอยลูกเต๋าจำนวน 10,000 ครั้ง ดังภาพ



มาถึงขั้นตอนการวิเคราะห์ลักษณะการกระจายตัวของผลการทอยลูกเต๋าเพื่อยืนยันว่า การทอยลูกเต๋าเป็นการกระจายแบบ Unifom Distribution ซึงมีโอกาสเกิดขึ้นเท่าๆกัน เราจะใช้ฟังก์ EXCEL : FREQUENCY เพื่อนับจำนวนครั้งของการออกหน้าต่างๆของลูกเต๋า โดยมีขั้นตอนดังนี้

เรียงหน้าลูกเต๋า ตั้งแต่ 1 - 6 ใน หลัก E9 - E14 
คลิกเลือก D9:D14
พิมพ์สูตร Excel = FREQUENCY(C9:C10008,E9:E14) ดังภาพ




กดปุ่ม Shift+Ctrl +Enter และนำผลลัพธ์ไปพล็อตด้วยกราฟแท่งแสดงได้ดังภาพ


เราจะเห็นว่าการกระจายตัวของผลการทอยลูกเต๋า มีโอกาสเกิดขึ้นในแต่ละหน้าเท่าๆกัน ถ้าเราเพิ่มการทอยลูกเต๋าขึ้นไปเป็น 100,000 ครั้ง การกระจายของการทอยลูกเต๋าก็จะ Uniform มากขึ้น

มาถึงตรงนี้ เราสรุปได้ว่า ฟังก์ชั่น RAND() , RANDBETWEEN(bottom,top) ให้เลขสุ่มที่มีการกระจายแบบ Uniform มีความน่าจะเป็นที่จะได้เลขสุ่มเท่าๆกัน 

ในกรณีที่ต้องการเลขสุ่ม ระหว่างจำนวน a - b เราสามารถใช้ใช้สูตร EXCEL :  RAND() ได้ดังนี้

= (b-a๗*RAND() + a

การกระจายแบบ Uniform ในชีวิตประจำวันมีมากมาย ในการจำลองความน่าจะเป็นที่จะเกิดเหตุการณ์ต่างๆ ก็จะใช้ฟังก์ชั่น RAND หรือ RANDBETWEEN ได้ครับ เช่น

มีรายได้พิเศษประจำเดือน 1,500 - 3,500 บาท (ขึ้นอยู่กับเวลา)  สามารถจำลองรายได้พิเศษประจำเดือนได้โดยใช้สูตร
(3500-1500)* RAND() + 1500
ค่าซักผ้า ค่าผงซักฟอก ค่า น้ำยาปรับผ้านุ่ม ประจำเดือน  1,500 - 2,500 บาท (ขึ้นอยู่กับ เครื่อง ปริมาณผ้าที่ซัก เป็นต้น) สามารถจำลองค่าใช้จ่ายโดยใช้สูตร 
(2500-1500)*RAND() + 1500

นอกจากนี้แล้วเรายังสามารถสุ่มความน่าจะเป็นของการกระจายตัวทางสถิติอื่นๆ เช่น นำไปจำลองข้อมูลที่กระจายตัวแบบปกติ ตัวอย่างสูตร Excel 

NORM.INV(RAND(),mean,std) เป็นต้น

ในตอนต่อๆไปจะนำเสนอการจำลองในปัญหาต่างๆ ในชีวิตประจำวัน

หัวข้อที่เกี่ยวข้อง


















Yahoo bot last visit powered by  Ybotvisit.com