問題タブ [pymc]
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.
pymc - Python の N 混合モデル
私は Python を初めて使用し、R で記述したモデルを Python 言語に変換するのに問題があります。リソースやコード例に関する提案があれば、それを大いに感謝します。ヘルプ ファイルなどでコードやテキストのスニペットをいくつか見たことがありますが、Python の初心者にとって十分な注釈や具体的なものはありません。次のモデルは、Royle (2004) に基づいてモデル化された N 混合存在量モデルです。空間的に複製された数から人口サイズを推定するための N 混合モデル。基本的に、それはポアソン/二項混合モデルを記述します。ここで、Z_i は湿地レベルの存在量であり、ポアソン分布を持つ確率変数として扱われます。サイト i と訪問 j で観察された繁殖数 (yij) は、インデックス パラメーター Z_i と成功パラメーター p_ij の二項分布に従います。
ヘルプ/提案をお寄せいただきありがとうございます
python - PyMC3 の正弦回帰
回帰の例を通して PyMC3 を調査しています。私は線から始めて、二次に移行しましたが、うまくいきました。ランダム変数を含む正弦関数に移動しようとすると、事態は悪化しました。
ここに私のPyMC3コードがあります:
次のエラーが表示されます。
前もって感謝します!
python - pyMC3で収束しないガウス分布の混合
私は3つのガウス分布を混合していますが、どれだけ事前分布を微調整しても、事前の値から移動するための事後手段を取得できません..
出力:
ご覧のとおり、収束はなく、平均は初期値から移動しません。
python - PyMC3 の単純な動的モデル
2 つのパラメーターを推測するために、PyMC3 で動的システムのモデルをまとめようとしています。モデルは、疫学で一般的に使用される基本的な SIR です。
dS/dt = - r0 * g * S * I
dI/dt = g * I ( r * S - 1 )
ここで、r0 と g は推論されるパラメーターです。これまでのところ、私はまったく遠くに行くことができません。このようなマルコフ連鎖をまとめた唯一の例では、再帰が深すぎるというエラーが発生します。これが私のコード例です。
どんな助けでも大歓迎です。ありがとう !
python - 離散変数が関係している場合の pymc3 と pymc2 の問題点
pymc2 を pymc3 に使用したいくつかの計算を更新しています。モデルに離散確率変数がある場合、サンプラーの動作に問題があります。例として、pymc2 を使用した次のモデルを考えてみましょう。
これは何かを代表するものではなく、観測されていない変数の 1 つが離散しているモデルにすぎません。このモデルを pymc2 でサンプリングすると、次の結果が得られます。
しかし、PYMC3 で同じことを試すと、次のようになります。
変数 A がまったくサンプリングされていないようです。pymc3で使用されているサンプリング方法についてはあまり読んでいませんでしたが、特に連続モデルを対象としているように見えました。これは、モデルで観測されていない離散変数を除外することを意味しますか、それとも私がやろうとしていることを行う方法はありますか?
covariance - PyMC - 共分散推定のためのウィシャート分布
資産クラスのリターンから分散共分散行列をモデル化して推定する必要があるため、https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-forの第 6 章にある株式リターンの例を見ていました。 -ハッカー
これは、既知の平均と分散共分散行列を持つ多変量法線を使用したサンプルから始める簡単な実装です。次に、非情報プリロールを使用してそれを推定しようとします。
見積もりは既知の以前のものとは異なるため、実装が正しいかどうかはわかりません。誰かが私が間違っていることを指摘していただければ幸いです。
pymc - モデル平均化のための PyMC
PyMC をモデル平均化に適用することに興味があります。私の目標は、多くの線形モデルを推定し、事後モデルの確率で重み付けして、それら全体の推定値を平均することです。現在、ベイジアン情報量基準 (BIC) を使用してデータの可能性を概算しています (したがって、私の分析は完全にベイジアンではありません)。独自のスクリプトの 1 つを使用して、モデルのマルコフ連鎖を正常にシミュレートしましたが、PyMC は優れたツールのように思われるため、使用したいと考えています。
これまでの試みでは、マルコフ連鎖を正しく形成できていませんでした。事後重みが他のモデルよりも高い頻度でモデルを訪問しているわけではありません。以下にサンプルコードを含めます。こちらの IPython ノートブックも参照してください。数学マークアップとコードをまとめた github で。
python - PYMC - 95% 信頼区間
(注。これをGoogleグループに投稿したばかりですが、現在は非推奨であると書かれています)
一連のデータセットに約 12 個のモデル パラメーターを適合させるコードがあります。pymc コードの結果はうまく表示され、lmfit パッケージを使用するコードと同じバージョン、つまり非線形最小二乗法と一致しています。私が懸念していることの 1 つは、95% の信頼区間が私の考えでは小さく、どこかにエラーがあることを示唆していることです。他の当てはめスクリプトからの標準誤差のサイズは妥当であり、関数はそのような固有の最小値がありそうにないことを示唆するほど複雑です。これは、データのサンプリング方法の結果でしょうか? 私は 100,000 回の繰り返しを実行し、50,000 回を書き込み、10 分の 1 に薄くしています。
私のコードは次のとおりです。
https://github.com/mdekauwe/FitFarquharModel/blob/master/fit_farquhar_model/fit_dummy_pymc.py
サンプルのドライビング ファイルをアップロードしてみることもできますが、明らかにばかげたことをしたのではないでしょうか?
私が小さいと言うとき、ここに例があります:
[lmfit] Vcmax25_1 = 16.55232485 +/- 1.22831709 (標準誤差)
[pymc] Vcmax25_1 = 19.5718912 [19.57150052, 19.57232205] (95% HPD)
どうもありがとう、
マーティン
ps。誰かがテストしたい場合に備えて、サンプルファイルを追加しました。そのスクリプトの下部には必要なリンクがあります...(もちろん、例のディレクトリからファイルをダウンロードする必要があります)
私の推測では、サンプラーが動かなくなったに違いないので、トレースを詳しく見てみます。