私は初心者のpymcユーザーであり、非常に遅い MCMC コードを作成しました。速度を上げるためにコードを変更したいと考えています。マルチプロセッシングを使用してpymcのパフォーマンスを高速化することは可能ですか? たとえばmake_model
、決定論的および確率論的および潜在的なクラスの束で構成される関数があり、いくつかのパラメーターの事後を見つけることに興味があるとします。私のMCMCコードの構造が次のようになる場合:
def make_model(X):
.
.
return locals()
if __name__ == '__main__':
M = pm.MCMC(make_model(X)),db='pickle',dbname='NFWTracer.pickle')
M.use_step_method(pm.AdaptiveMetropolis, M.model_pars ,verbose=1)
M.isample(40000,8000,50)
パラメータ空間で次のステップを決定するために、すべてのチェーンが関連しているときにマルチプロセッシングを使用するにはどうすればよいですか? もっともらしい場合、それはどのように行われるべきですか?