問題タブ [mcmc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Rcpp で rmultinom を使用する
C++ コードでR 関数rmultinomを使用して、Rcpp で使用したいと考えています。引数が足りないというエラーが表示されます - R の関数で使用される引数に対応していないため、これらの引数がどうあるべきかよくわかりません。 Rcpp コードから R 関数にアクセスするための構文。
以下は私のコードの簡略化されたバージョンです (はい、ギブスサンプラーを書いています)。
私はC ++を初めて使用するので、このコードの多くはおそらく初心者で非効率的であることを認識しています。私の C++ コードを改善する方法についての提案は受け付けていますが、私の優先事項は rmultinom ビジネスについて聞くことです。ありがとう!
ところで、このスレッドと似ていて申し訳ありませんが、
- 答えは私の目的にはうまくいきませんでした
- その違いは、別の質問を正当化するのに十分かもしれません (あなたはそう思いますか?)
- 質問は1年前に投稿され、回答されました。
statistics - pymc の「ステップ メソッドのチューニング」とは
pymc の MCMC.sample の引数にさまざまな値を試してみようとしています。
MCMC.sample のヘルプ ページを見たところ、次のことがわかりました。
tune_interval : int
ステップ メソッドは、この反復回数の間隔で調整されます。デフォルトは 1000 です。
これは「ステップメソッドのチューニング」とはどういう意味ですか? したがって、この数値を高く維持するか低く維持するかによって、より良い結果が得られるかどうかはわかりません。
python - pymc で事前確率を定義し、事前確率を過小評価する
私は、 pymcライブラリを使用したモンテカルロ マルコフ連鎖プロセスに関するチュートリアルを進めています。私はpymcを使用する初心者でもあり、独自のMCMCプロセスを確立しようとしています. 私は、pymc チュートリアルで適切な答えを見つけることができなかったいくつかの質問に直面しました: 最初: どうすれば pymc で事前確率を定義し、チェーン プロセスで事前確率を過小評価できますか?
2 番目の質問はDirichlet
ディストリビューションについてです。このディストリビューションは MCMC の以前の情報とどのように関連しており、どのように定義する必要がありますか?
python - パラメーター空間で桁違いの指数を使用して指数事前分布を定義する
次のようにパラメータの指数事前分布を定義したい
したがって、私はpymcでそれを定義しました
という制約も満たしてほしい
しかし、MCMC コードの変更を非常にゆっくりと実行すると、とMASS
の間でこの 3 桁の速度で変更したいと思います。パラメータ空間で大幅に変更するために、どのように前もって定義できますか?1e+13
1e16
python - MCMC コードのマルチプロセッシングの使用
私は初心者のpymcユーザーであり、非常に遅い MCMC コードを作成しました。速度を上げるためにコードを変更したいと考えています。マルチプロセッシングを使用してpymcのパフォーマンスを高速化することは可能ですか? たとえばmake_model
、決定論的および確率論的および潜在的なクラスの束で構成される関数があり、いくつかのパラメーターの事後を見つけることに興味があるとします。私のMCMCコードの構造が次のようになる場合:
パラメータ空間で次のステップを決定するために、すべてのチェーンが関連しているときにマルチプロセッシングを使用するにはどうすればよいですか? もっともらしい場合、それはどのように行われるべきですか?
bayesian - PyMC コードが異常な結果をもたらす
PyMC を使用してロジスティック回帰モデルを解こうとしました。ただし、診断プロットは非常に高い自己相関を示し、事後分布から繰り返しサンプリングした後、非常に異なる結果が得られることがあるため、PyMC を適切に使用していない可能性があります。
モデルは次のとおりです。
実装は次のとおりです。
サンプリングしm.sample(500000, 200000, 50)
て結果の事後分布をプロットすると、次のようになります。
より良い結果を得るための 2 回目の試みでは、@pm.observed を使用しました。
しかし、それは高い自己相関も生み出します。
サンプルサイズを増やしましたが、あまり成功しませんでした。私は何が欠けていますか?
r - adaptMCMC パッケージの MCMC 関数の出力メッセージの制御
パッケージMCMC()
内の関数の実行中に出力される出力メッセージを無効にする方法があるかどうか知りたいです。adaptMCMC
この関数を何度も実行していますが、これらの印刷ステートメントがディスクをいっぱいにしています。
これがどのように見えるかです(マニュアルから直接):
出力メッセージは次のとおりです。
私のギブスサンプラーは、重い標準出力をもたらすものよりもはるかに精巧です。
r - MCMCpackを使用して差の事後を取得するには?
この PyMC チュートリアルのA と B を一緒にするセクションにMCMCpack
似た、2 つのコンバージョン率の差を使用して事後分布を取得しようとしています。
サンプリングされた 2 つのレートの事後分布は問題なく取得できますが、サンプリングされたデルタを実装する方法に苦労しています。何かアイデアはありますか?
編集真のデルタ (データを作成していなければ不明であり、MCMC を使用して推定したいもの) は、2 つのレートの差でtrue_p_a
あり、true_p_b
つまり0.01です。