การสุ่มค่า
ในแบบฝึกหัดนี้ จะได้ลองใช้และเปรียบเทียบวิธีการสุ่มค่าแบบต่างๆ เป้าหมายคือให้คุ้นเคยกับแต่ละวิธีและเข้าใจว่าแต่ละวิธีส่งผลต่อการสร้างตัวเลขสุ่มอย่างไร เนื่องจากแต่ละวิธีเหมาะกับสถานการณ์ที่แตกต่างกัน การเข้าใจความแตกต่างนี้จึงเป็นสิ่งสำคัญ
สมมติว่ามีกระบวนการทางธุรกิจที่ใช้เวลาประมาณ 15 นาที แต่ระยะเวลาจริงอาจแตกต่างไปประมาณ 5 นาที (มากหรือน้อยกว่า) ให้ใช้เมธอดสุ่มค่าต่างๆ จากแพ็กเกจ random เพื่อสร้างค่าระยะเวลาที่แปรผันในลักษณะที่ควบคุมได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python
คำแนะนำการฝึกหัด
- สร้างระยะเวลาของกระบวนการแบบสุ่มจำนวน 1000 ค่า ในรูปแบบจำนวนเต็ม (integer) ตามข้อมูลที่กำหนด
- สร้างระยะเวลาของกระบวนการแบบสุ่มจำนวน 1000 ค่า ในรูปแบบจำนวนทศนิยม (float) ตามข้อมูลที่กำหนด
- สร้างระยะเวลาแบบสุ่มเทียมจำนวน 1000 ค่า ในรูปแบบจำนวนทศนิยมโดยใช้การแจกแจงแบบเกาส์ (Gaussian distribution) โดยมีค่าเฉลี่ยเท่ากับ 15 และส่วนเบี่ยงเบนมาตรฐานเท่ากับ 5
- สร้างระยะเวลาแบบสุ่มเทียมจำนวน 1000 ค่า ในรูปแบบจำนวนทศนิยมโดยใช้การแจกแจงแบบเอกซ์โพเนนเชียล (exponential distribution) โดยมีพารามิเตอร์ lambda เท่ากับ 1.5 (ค่าบวก) และมีจุดสูงสุดที่ 15
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Generate random integer numbers
randint_array = np.array([____ for i in range(1000)])
# Generate random float numbers
uniform_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Gaussian distribution
gauss_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Exponential distribution
expon_array = np.array([____ + 15 for i in range(1000)])
plot_all(randint_array, uniform_array, gauss_array, expon_array)