ให้เราคิดก่อนว่าคุณต้องการตัวอย่างภายใน
x + y + z = 1
0 ≤ x ≤ 1
0 ≤ y ≤ 1
0 ≤ z ≤ 1
สิ่งนี้ไม่ได้สร้างความแตกต่างเนื่องจากจุดตัวอย่างจะยังคงอยู่ในพื้นที่ที่คุณร้องขอซึ่งมีความน่าจะเป็นสูง
ตอนนี้คุณจะเหลือการสุ่มตัวอย่างจุดจากเริม ในตัวอย่าง 3 มิติคุณจะได้รับ 2d simplex (สามเหลี่ยม) ที่รับรู้ในแบบ 3 มิติ
วิธีการเลือกจุดที่สุ่มอย่างสม่ำเสมอได้ถูกกล่าวถึงในโพสต์บล็อกนี้(ดูความคิดเห็น)
สำหรับปัญหาของคุณหมายความว่าคุณรับตัวเลขสุ่มจากช่วงเวลา( 0 , 1 )จากนั้นคุณเพิ่ม0และ1เพื่อรับรายการหมายเลขn + 1 คุณเรียงลำดับรายการและจากนั้นคุณบันทึกความแตกต่างระหว่างองค์ประกอบสองรายการที่ต่อเนื่องกัน นี่จะแสดงรายการหมายเลขnที่จะรวมได้สูงสุด1รายการ ยิ่งไปกว่านั้นการสุ่มตัวอย่างนี้ยังเหมือนกัน ความคิดนี้สามารถพบได้ในโดนัลด์บีรูบิน, The Bayesian bootstrap Ann statist 9, 1981, 130-134n - 1( 0 , 1 )01n + 1n1
ตัวอย่างเช่น ( ) คุณมีตัวเลขสุ่มสามตัวจากนั้นคุณจะได้รับการเรียงลำดับและสิ่งนี้จะให้ความแตกต่างและจากการสร้างตัวเลขสี่ตัวเหล่านี้รวมกันเป็น 1n = 40.4 0.2 0.1
0 0.1 0.2 0.4 1
0.1 0.1 0.2 0.6
อีกวิธีคือต่อไปนี้: ตัวอย่างแรกจากไฮเปอร์คิวบ์ (นั่นคือคุณลืมx+y+z=1
) และจากนั้นทำให้ปกติจุดตัวอย่าง การทำให้เป็นมาตรฐานคือการฉายจาก -hypercube ถึงd - 1 -simplex มันควรจะชัดเจนโดยสังหรณ์ว่าจุดที่อยู่ตรงกลางของ simplex นั้นมี "pre-image-points" มากกว่าด้านนอกdd- 1. ดังนั้นหากคุณสุ่มตัวอย่างจากไฮเปอร์คิวบ์แบบนี้จะไม่ให้การสุ่มตัวอย่างแบบสม่ำเสมอในซิมเพล็กซ์ อย่างไรก็ตามหากคุณสุ่มตัวอย่างจากไฮเปอร์คิวบ์ด้วยการแจกแจงเอ็กซ์โปเนนเชียลที่เหมาะสมกว่าเอฟเฟกต์นี้จะถูกยกเลิก รูปแสดงความคิดว่าทั้งสองวิธีจะสุ่มตัวอย่างอย่างไร อย่างไรก็ตามฉันชอบวิธีการ "เรียงลำดับ" เนื่องจากรูปแบบเรียบง่าย นอกจากนี้ยังง่ายต่อการใช้งาน