私はあなたが提供した論文を見ませんでしたが、とにかく手放してください:
あなたが持っている場合次元のパラメータ空間を、あなたは、ランダムな方向を生成することができますdはpd一様で単位球の表面に分布します
x <- rnorm(p)
d <- x/sqrt(sum(x^2))
(cf Wikiを)。
次に、これを使用して、拒否サンプリングの提案を生成します(実際にdの分布を評価できると仮定します)。dd
位置から開始してdを受け入れたと仮定すると、提案yを生成しますバツdy
lambda <- r<SOMEDISTRIBUTION>(foo, bar)
y <- x + lambda * d
そして、Metropolis-Hastings-Stepを実行してに移動するかどうかを決定します。y
もちろん、これがうまく機能するかどうかは、の分布と拒否サンプリングステップで(繰り返し)その密度を評価するのにどれだけ費用がかかるかに依存しますが、dの提案を生成するのは安価なので、それで済ませるかもしれません。dd
@csgillespieの利益のために追加:
いくつかのグーグルで収集できたものから、任意の境界を持つが必ずしも接続されていない(多変量)ターゲットがある場合、ヒットアンドランMCMCは主に高速ミキシングに役立ちますワンステップで他へのサポートで。詳細はこちらとこちら。