Sampling

有界參數空間上的 MCMC?

  • October 27, 2013

我正在嘗試將 MCMC 應用於一個問題,但我的先驗(在我的情況下是)) 僅限於某個區域?我可以使用普通的 MCMC 並忽略落在限制區域之外的樣本(在我的情況下是 [0,1]^2),即當新的過渡超出限制(受限)區域時重用過渡函數?

你有幾個不錯的,或多或少簡單的選項。您的統一先驗有助於使它們更簡單。

選項 1:獨立採樣器。您可以將您的提案分佈設置為等於單位正方形上的均勻分佈,以確保樣本不會落在您所說的限制區域之外。潛在的缺點:如果後驗集中在單位正方形的一個很小的區域,你的接受率可能會很低。OTOH,很難比從 U(0,1) 分佈更快地生成隨機數。潛在的好處:為您減少工作量。

選項 2:將您的參數轉換為無界的參數,為轉換後的參數提出建議,然後將參數轉換回用於似然函數。請注意,在這種情況下,先驗將位於轉換後的參數上,因為這就是您要提出的建議,因此您必須弄亂轉換的雅可比矩陣才能獲得新的先驗。當然,為了您的分析,您會將 MCMC 生成的參數隨機數轉換回原始參數。潛在的缺點:為您做更多的初始工作。潛在的好處:您的提案的接受率更高。

選項 3:構建一個提案分佈,而不是在單位平方上的獨立採樣器。這使您可以保持統一的先驗,但在計算提案概率時會以更大的複雜性為代價。這方面的一個例子,讓 $ x $ 是您的參數之一的當前值,將是帶有參數的 Beta 分佈 $ (nx, n(1-x)) $ . 較大的 $ n $ 也就是說,您的提案將越集中於當前值。潛在的缺點:為您做更多的初始工作。潛在的好處:您的提案的接受率更高 - 但如果您提出 $ n $ 太大,移動到​​角落附近,你可能會在離開之前在角落裡做很多小動作。

選項4:拒絕任何不屬於單位平方的提案(Xian 的三心二意的建議)。請注意,這與僅生成另一個提案不同;在這種情況下,您拒絕提案,這意味著您的參數的下一個值與參數的當前值相同。這是有效的,因為如果您對參數空間的某些區域具有零先驗概率並生成落在該區域的隨機數,就會發生這種情況。潛在的缺點:如果你靠近一個角落,你可能接受的概率很低,並且會被卡住一段時間。潛在的好處:為您減少工作量。

選項5:在平面上創建一個擴展問題,在單位平方上,與你面臨的實際問題相同,把所有的事情都做對,然後在對MCMC採樣結果進行後處理時,把所有樣本都扔到外面的單位平方。潛在的好處:如果很容易創建擴展問題,那麼它對你的工作可能會更少。潛在的缺點:如果馬爾可夫鏈在單位平方之外的某個地方徘徊了一段時間,實際上你可能會有可怕的接受概率,因為你會丟棄大部分樣本。

毫無疑問還有其他選擇,我很想看看其他人的建議!

2 和 3 之間的區別在某種程度上是概念性的,儘管對你實際所做的事情有真正的影響。我可能會選擇 3,因為我只是讓 R 告訴我提案概率是多少(如果我在 R 中編程)以及額外的工作量,除了對提案分佈參數進行一些調整 $ n $ ,在我看來很小。當然,如果我使用的是 JAGS 或 BUGS,那將是完全不同的事情,因為這些工具會處理它們自己的提案。

引用自:https://stats.stackexchange.com/questions/73885

comments powered by Disqus