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

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

pymc - さまざまな確率の大規模なセットにpymc categoricalを適用するにはどうすればよいですか

私は多くのオブジェクトが関係する問題を抱えています.Nはそれぞれ一定数の状態jになる可能性があります。オブジェクトがそれぞれの状態にある確率はわかっていますが、その確率はオブジェクトによって異なります。

たとえば、j=3 個の状態と N=2 個のオブジェクトがある場合、確率は次のように記述できます。

オブジェクトの数が少ない場合は、次のように記述できます。

しかし、私はたくさんのオブジェクトを持っています...

私が作成したいのは、各行が個々のオブジェクトに対応するランダムな状態に対応する整数のベクトルです。

これを行うためにコレクションを実装しようとしました:

次のステップでこれを使用しようとすると、問題が発生します。

上記の nI は整数のベクトルであり、stateValue は double のベクトルで、状態ごとに 1 つです。問題は、これがpymcオブジェクトではなくdoubleの配列を返すため、モデルを実行しようとすると失敗することです...

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

python - MCMC Metropolisでサンプリングできる確率変数の関数をPyMCで実装するには?

確率変数 $X$ と関数 $f$ がある場合、次のように、確率密度関数を使用して新しい確率変数として $y=f(X)$ を定義できます。

$p(y)=(f^{-1})'(y)p(x)$. 詳しくはこちらをご覧ください

これで、次のコードで指数分布を使用してランダム変数アルファを定義しました。モデルに log(alpha) を新しい確率変数として追加したいと考えています。モデルにどのように実装すればよいですか?

私はすでに努力しましたが、それは間違っているようで、回答で指摘されている理由は、決定論的デコレーターではなく確率的デコレーターを使用したという事実です。しかし、後でこの変数に MCMC Metropolis を適用したいので、統計が必要です! もっと明確にするために、対数(アルファ)にガウス提案を適用したいと思います。したがって、Metropolis 関数に確率的入力を渡す必要があります。

だからこれは私のモデルです:

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

python - ディリクレ分布からのサンプリングにおける PyMC からの FloatingPointError

デコレーターを使用して「指数確率変数の対数」の確率オブジェクトを定義することに失敗した後、 pymc.stochastic_from_dist. 私が実装しようとしているモデルは、ここで入手できます (最初のモデル): ここに画像の説明を入力

MCMC Metropolis を使用し、正規分布を提案として使用してログ (アルファ) をサンプリングしようとすると (次の図でサンプリング方法として示されているように)、次のエラーが発生します。

サンプリングでエラーが発生しない場合もありますが、サンプリング ヒストグラムはこのホワイト ペーパーのものと一致しています。私の階層モデルは次のとおりです。

私のテストサンプリングコードは次のとおりです。

distributions.py の 978 行で gamma distribution に渡された theta の値を確認すると、値がゼロではなく小さいことがわかります。この浮動小数点エラーを防ぐ方法がわかりませんか?

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

python - pymc 以外のサンプルでの pymc 診断と事後要約の使用

pymc を使用せずに生成したサンプルに対して、pymc の診断機能と要約機能を使用したいと考えています。一例として、pymc の mc_error ルーチンを自分のサンプル セットで使用したいと考えています。

一部の pymc 診断関数はサンプルの np.array を取得できますが、正しく理解できれば、トレース オブジェクトが必要な関数もあるようです。独自のサンプル セットを pymc が処理できるトレース オブジェクトに変換するにはどうすればよいですか? ポインタをいただければ幸いです。

私のサンプルは現在、各キーがサンプリングしている変数の名前であり、サンプルの np.array を指す辞書として保存されています。

ありがとう!

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

theano - MvNormal で使用するための一変量事前分布を行列に組み立てる

pymc 3 を使用する場合、一変量確率変数を行列に組み立てて、多変量分布の事前分布として使用することは可能ですか? もしそうなら、どうすればこれについて最善を尽くすことができますか?

これが具体的な例です。3 つの RV を使用して、三角形行列 A を作成します。

いくつかの操作の後、この行列を多変量正規分布の精度パラメーターの事前分布として使用します。

これはおそらく theano の tensor 変数を使用した操作に関連していると思われるため、theano タグも追加します。

お時間をいただきありがとうございます!

編集1:これは私がやろうとしていることの最小限の例です:

編集2:これはex_tau、pymcの外で仕事をしているように見えるテストです

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

python - pymc3 での事後サンプリング

午後 1 時 23 分 (20 分前) こんにちは。

pymc3を学習しようとしています(pymc2を学習したことがないため、新しいものに飛び込みます)。私がやろうとしていることの非常に単純な例/疑似コードがあると思います。ここ数時間、私はあまり進歩していないので、誰かが私を助けてくれるかどうか疑問に思っています...

私の問題は、かなり単純な方法で事後からサンプリングすることです。「x」をベクトル、「t(x)」をそのベクトルの関数 (R^n --> R^n マップ)、「D」を観測データとします。ベクトル x をサンプリングしたい

P( x | D ) \propto P( D | x ) P(x)

いつものベイジアン。NUTS を使用してこれを行う方法の例は素晴らしいでしょう! 私の主な問題は、関数 t(x) を適切に機能させ、モデルが事後 (事前ではなく) からサンプルを返すようにすることです。

すべてのヘルプ/ヒントをいただければ幸いです。その間、私はいろいろなことを試し続けます。

一番、

TJ