問題タブ [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 投票する
0 に答える
348 参照

r - lme(nlme-package)からHPD間隔を計算する

誰かがmcmcサンプリングを作成しlme、パッケージから作成された線形混合モデルのHPD間隔を計算する方法を知っているかどうか疑問に思いましたnlme。私はlme4パッケージでこれを行うことに精通していますが、からの一時的な自己相関プロパティが必要nlmeです。

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

winbugs - バーンインとシンニングが指定されている場合、JAGS / BUGSによって何回の反復が保存されますか?

JAGSとBUGSでモデルを実行する方法の詳細について簡単に質問します。

n.burnin=5000、、n.iter=5000およびを使用してモデルを実行するとしthin=2ます。これは、プログラムが次のことを行うことを意味しますか?

  1. 5,000回の反復を実行し、結果を破棄します。その後
  2. 1秒おきの結果のみを保持しながら、さらに10,000回の反復を実行しますか?

これらのシミュレーションをCODAオブジェクトとして保存すると、10,000個すべてが保存されますか、それとも間引きされた5,000個だけが保存されますか?ACFプロットを作成するためにどの反復セットが使用されているかを理解しようとしていますか?

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

r - 変数名を mcmc オブジェクトのリストに割り当てる

たぶん、mcmc オブジェクトの経験が豊富な人が私を助けてくれるでしょう。

問題: 20 個以上の mcmc オブジェクトが保存されているリストがあります。各 mcmc オブジェクトに変数名を割り当てる必要があります。

各 mcmc のすべての変数名が格納された別のリストがあります (データフレームの列として)。

次のように、coda パッケージの「varnames」関数を使用して、これを個別に行うことができます。

私のデータフレームリストを「投票」し、mcmcオブジェクトリストを「後方」にします..

ただ、これを一つ一つやるより、一気にやりたい。私は次のコードを試しました...

しかし、私は得るError in *tmp*[[x]] : Recursive indexing failed at level 2。その行のいくつかのバリエーションを試しましたが、これを適切にインデックス化する方法、またはやりたいことを行う方法を理解するのに苦労しています。

私はそのような特定の問題を知っていますが、ここの誰かが私にヒントか何かを与えることができるかもしれません.

助けてくれてありがとう。申し訳ありませんが、一部のデータを提供することはできませんが、これの実行可能なサンプルを取得するのはちょっと難しいです.

よろしく、 フェデリコ

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

matlab - Matlab のガウス分布以外の提案分布を使用した Metropolis-Hastings アルゴリズム

私は現在、メトロポリス-ヘイスティングス アルゴリズムの概要といくつかの数値例を示すことに基づいて、数学の学位を取得するための最終年度のプロジェクトに取り組んでいます。これまでのところ、提案分布をガウスとして使用し、他のいくつかの分布からサンプリングすることでいくつかの素晴らしい結果を得ていますが、別の提案分布を使用してさらに一歩進んでいます。

これまでのところ、私はこのコードを取得しています (私は Matlab を使用しています) が、さまざまな提案の使用に関するオンラインのリソースが限られているため、実際にはこれを試みる方法がよくわからないため、私がまったく近いかどうかを判断するのは困難です (特にこれまでのところ、有用なデータ出力が得られないためです)。

誰かが私を知っているか、簡単にアクセスできる情報に転送してくれたら、手を貸してくれると素晴らしいでしょう (私はコーディングのアドバイスだけでなく、数学についても尋ねていることを理解しています)。

したがって、ラプラスの提案分布を使用してガウスからサンプリングしたいのですが、これまでのコードは次のとおりです。

上記が完全に間違っているか、間違った方法で行っているか、またはいくつかの間違いがあるかどうかを誰かが教えてくれれば(forループの「y」の生成が完全に間違っていることに非常に警戒しています)。素晴らしいこと。

ありがとう、トム

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

r - R から WinBUGS を使用する際のエラー

コードは次のとおりです。

理由はわかりませんが、 を に置き換えるtheta[j] <- b*x[j-1]とプログラムは正しくなりますtheta[j] <- 1*x[j-1]が、 を定義しb ~ dunif(-1, 1)ました。確かに、最終モデルを設定する必要がありますが、追加しようとtheta[j] <- a - b*x[j-1]すると間違っていることがわかります。誰でも問題がどこにあるかを見つけますか?ab

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

python - 多くの回帰のPyMC回帰?

私は長い間 PyMC を使用していませんが、すぐに線形回帰を取得できたことに満足しています (このコードはIPython で変更せずに実行する必要があります)。

このモデルには、40 の被験者 (観察) と各被験者の 5 つの共変量があります。モデルはランダム データのため収束しませんが、エラーなしでサンプリングされます (実際のデータは正確な結果に収束します)。

私が問題を抱えているモデルは、これの延長です。各被験者には実際には 3 つ (または N) の観測値があるため、これらの観測値に線を当てはめ、線の切片を「データ」または最終回帰ノードの入力として使用する必要があります。これは古典的な階層モデルだと思いますが、間違った方法で考えている場合は修正してください。

私の解決策は、一連の 40 の線形回帰 (被験者ごとに 1 つ) を設定し、切片パラメーターのベクトルを最終的な回帰のデータとして使用することでした。

このモデルは、サンプリング ステップで失敗します。dtype=object の代わりに、offsetArr を dtype=float64 としてキャストしようとすると、エラーが発生するようです。これを行う正しい方法は何ですか?私のoffsetArrをfloat64にキャストするために別の決定論的ノードが必要ですか? 特別な種類の pymc.Container が必要ですか? ご協力いただきありがとうございます!

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

bayesian - Winbugsで事後パラメータの確率を見つける方法

私のwinbugsコードは次のとおりです。

このコードを実行すると、アルファとベータの事後分布が得られます。今、私は見たいですP(beta>0)。彼らは私が使用できると言いましたpbeta<- step(beta)(pbetaはダミー変数のように扱われます:0の場合beta=0と1の場合beta>0)。しかし、モデルに入れると、エラー通知が表示されました。

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

python - pymc は事前分布と尤度関数をどのように表していますか?

pymc が Metropolis-Hastings アルゴリズムを実装して、関心のあるパラメーターの事後密度からサンプルを取得する場合、マルコフ連鎖の次の状態に移動するかどうかを決定するために、事後密度に比例する何かを評価できなければなりません。指定されたすべてのパラメーター値の密度。

事後密度は、観測データに事前密度を掛けたものに基づく尤度関数に比例します。

これらのそれぞれは、pymc 内でどのように表されますか? モデルオブジェクトからこれらの各量をどのように計算するのでしょうか?

誰かが私にアプローチの高レベルの説明を与えてくれるか、それを見つけることができる場所を教えてくれるのだろうか.

0 投票する
3 に答える
589 参照

r - Rパッケージpsclのideal()が再現可能な結果を​​生成しない

私はpsclRでパッケージを使用しており、テスト可能/再現可能な結果を​​生成しようとしています。基礎となる C コードを調べたところ、適切な場所で呼び出されているように見えますが、MCMC モデルからの出力を繰り返すことは不可能のようです。GetRNGstate()PutRNGstate()

R 側で各シミュレーション R の開始状態を確認できるように、 SoDAsimulationResultパッケージから関数をパッケージ化しました。

少なくとも R 側で開始状態が同じであることを確認できます。

しかし、出力は異なります。

反復回数を増やすことはできますが、RNG 状態が伝播されている場合は問題になりません。本当に単純なものが欠けていますか?ありがとう。

編集all.equal(run1@lastState, run2@lastState):(各実行の終了状態)は同じである必要がありますが、最終的には異なることに注意してください。私の推測では、C によって呼び出される R RNG 関数以外の不測の事態の原因が、それらの RNG 関数が呼び出される回数に影響を与えているということです。奇妙。

編集2

また、OS X 10.8.4 で pscl 1.04.4 を使用して R 3.0.1 を使用していることも追加する必要があります。