ฉันไม่ได้ดูกระดาษที่คุณให้มา แต่ให้ฉันไปต่อไป:
หากคุณมีพื้นที่พารามิเตอร์ -dimensional คุณสามารถสร้างทิศทางแบบสุ่มdกระจายอย่างสม่ำเสมอบนพื้นผิวของหน่วยทรงกลมด้วยpd
x <- rnorm(p)
d <- x/sqrt(sum(x^2))
(cf Wiki )
จากนั้นใช้สิ่งนี้เพื่อสร้างข้อเสนอสำหรับสำหรับการสุ่มตัวอย่างปฏิเสธ (สมมติว่าคุณสามารถประเมินการกระจายสำหรับd ) ได้dd
สมมติว่าคุณเริ่มต้นในตำแหน่งที่และยอมรับdแล้วสร้างข้อเสนอyด้วยxdy
lambda <- r<SOMEDISTRIBUTION>(foo, bar)
y <- x + lambda * d
และทำ Metropolis-Hastings-Step เพื่อตัดสินใจว่าจะย้ายไปที่หรือไม่y
แน่นอนว่าสิ่งนี้สามารถทำงานได้ดีขึ้นอยู่กับการกระจายตัวของและราคาแพง (ซ้ำ) ประเมินความหนาแน่นของมันในขั้นตอนการสุ่มตัวอย่างการปฏิเสธ แต่เนื่องจากการสร้างข้อเสนอสำหรับdนั้นราคาถูกคุณอาจหนีไปได้dd
เพิ่มเพื่อประโยชน์ของ @ csgillespie:
จากสิ่งที่ฉันสามารถรวบรวมโดย googling, MCMC ที่ทำงานแล้วมีประโยชน์สำหรับการมิกซ์เสียงอย่างรวดเร็วหากคุณมีเป้าหมาย (หลายตัวแปร) ที่มีขอบเขตตามอำเภอใจ แต่ไม่จำเป็นต้องเชื่อมต่อการสนับสนุนเพราะมันช่วยให้คุณย้ายจากจุดใดก็ได้ ในการสนับสนุนซึ่งกันและกันในขั้นตอนเดียว เพิ่มเติมที่นี่และที่นี่