問題タブ [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.

0 投票する
2 に答える
10455 参照

r - R : 混合分布を生成する関数

混合ディストリビューションからサンプルを生成する必要があります

  • 40% のサンプルは Gaussian (平均 = 2、標準偏差 = 8) から取得

  • 20% のサンプルは Cauchy (場所 = 25、スケール = 2) からのものです。

  • 40% のサンプルは Gaussian (平均 = 10、sd=6) から取得

これを行うために、私は次の関数を書きました:

そして、次のようにテストしました:

このようなヒストグラムを取得しています(これは間違っていることがわかっています)- 想定される分布のヒストグラム

私は何を間違っていますか?誰でもいくつかの指針を教えてもらえますか?

0 投票する
1 に答える
1317 参照

python - pymc に保存されたトレースからの図のプロット

収束を確認するには、さまざまなパラメーターで MCMC をさまざまな時間に実行する必要があります。だから私はトレースを保存することに決めたので、(比較目的で)知る必要があるときに

pymc.MCMC (iter = 10000, burn = 1000, thin = 10)

再実行する必要はありません。(多くの時間がかかります(パラメータのさまざまな値に対して同じことをしなければなりません))。

私は解決策を見つけました

したがって、トレースは10000iter1000burn.pickleという名前のデータベースに保存されます

さて、トレースをロードするには、次のようにします

実行するprint db.trace('tau')[:]と同じ出力が得られますが、図をプロットしたり、他の情報を取得したりしたい場合は失敗します

plot() は少なくとも 2 つの引数 (1 つ指定) を取ります が、plot(m) を実行すると (サンプラーを再度実行したときの最初のケース)、正常に動作します。

同様にdb.tau.summary()、エラー'Trace' object has no attribute 'summary' が表示 されます。m.tau.summary()

同じことが当てはまりますdb.logp

私はこの分野の初心者です。構文のどこかに間違いがある場合は、親切に修正してください。図を再プロットして、mcmc を再度実行せずにモデルの対数確率を取得できる他の方法があれば、喜んでお知らせします。

0 投票する
1 に答える
215 参照

python - pymc の確率変数

私はそのような用語に出くわしました

多くの場所で。

私はどこにもそれらについて見つけることができませんでした。私は彼らの使用法しか見ることができません。

それらは何を意味し、uniform, binomialそれぞれどのように異なるのですか

0 投票する
1 に答える
670 参照

pymc - Pymc のカスタム対数尤度を使用した Metropolis Hastings

カスタム対数尤度からサンプリングするために、pymc を使用して MH チェーンを使用したいと考えています。しかし、私はそれを機能させることができず、適切な例をオンラインで見つけることができません。

これは 3 次元変数であり、logp() で計算された一様事前確率と対数尤度を持ちます。アダプティブ プロポーザル ディストリビューションを使用して MH チェーンを実行したいと考えています。しかし、サンプラーを実行するたびに、均一な分布が返されます (実際には、上記のランダム関数からサンプルが返されるだけです - 0.5*np.random.rand(numDims) に変更すると、Unif( (0, 1)^3) 分布。)

しかし、logp 関数が呼び出されていることはわかっています。

他にもいくつか質問があります: - 上記のランダム関数の目的は何ですか? 最初は前作かと思ったけどそうじゃない。

0 投票する
1 に答える
50 参照

python - PyMC における変数宣言の意味

このチュートリアルhttp://pymc-devs.github.io/pymc/tutorial.html#an-example-statistical-modelでは、

disasters = Poisson('disasters', mu=rate, value=disasters_array, observed=True)

この行は、disastersがポアソン確率変数またはポアソン確率変数disastersのコレクションであることを示します。i 番目の確率変数のパラメーターは rate[i] です (つまり、各 rv は、rate[i] で指定された psrsmeter を使用して異なるランダム プロセスから抽出されます)。

この行をどのように解釈すればよいですか?

0 投票する
1 に答える
348 参照

python - PyMC のデコレーター

答えが見つからないデコレータに関する 3 つの質問があります。

Q1) PyMC (@Deterministic、@Stochastic) のデコレータへの引数は何を意味しますか?

Q2)

1)print switchpoint.logp #log-probability を期待どおりに出力します

2)print switchpoint.random #乱数を生成しません

3)print switchpoint.random() # 乱数を生成

4) switchpoint.logp() #エラーを出力します

2 が機能せず、3 が機能した場合、1 は機能せず、代わりに 4 が機能するはずです (これは、私が観察したこととは逆です)。誰かが何が起こっているのか説明できますか?

Q3)

ここでは、logp入力した場合でもswitchpoint.logp、このコードが実行されるとは指定されていません。

0 投票する
1 に答える
197 参照

octave - e のオクターブ近似

Octave で MCMC アルゴリズムを使用して、「1/e」という式を最大精度で計算したいと考えています。いくつかのチュートリアルを読んだ後、π を計算する式を見つけましたが、その仕組みがわかりません。

「e」の値を計算するためにそのようなものを使用する方法について、誰かが説明してヒントを教えてもらえますか?

前もって感謝します。