問題タブ [pymc3]

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 に答える
620 参照

python - PyMC3 の Categorical を使用した Softmax 選択確率

次のシナリオで、softmax 選択関数の単一パラメーターのパラメーター推定を実行しようとしています。

各試行では、3 つのオプション値 (例: [1,2,3]) が与えられ、被験者はオプション (0、1、または 2) から選択を行います。softmax 関数は、温度パラメーター (ここでは 0 ~ 10 の範囲) に応じて、オプション値を選択確率 (3 つの確率のベクトル、合計すると 1) に変換します。

各試行での選択は、softmax から計算された試行選択確率を持つカテゴリ分布としてモデル化されることになっています。カテゴリカルの選択確率はオプション値に依存するため、試行ごとに異なることに注意してください。

これが私が思いついたものです:

このコードは、50 などより大きい nTrials では失敗し、非常に長い警告/エラー メッセージが表示されます。

警告:

エラー:

私は PyMC (および Theano) にかなり慣れていないので、私の実装は本当にぎこちなく、最適ではないと感じています。どんな助けやアドバイスも大歓迎です!

フェリックス

編集:コードをノートブックとしてアップロードし、警告とエラーメッセージを完全に表示しました: http://nbviewer.ipython.org/github/moltaire/softmaxPyMC/blob/master/softmax_stackoverflow.ipynb

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

pymc - このモデルで find_MAP がエラーをスローするのはなぜですか?

pymc3 で単純なモデルを試していますが、find_MAPメソッドを使用しようとすると次のエラーがスローされます。

非常によく似たコードは、ディリクレ分布と多項分布の代わりにベータ分布と二項分布を使用して機能しますが、次のコードは失敗します。

爆破しないようにモデルの推論設定を調整するにはどうすればよいですか?

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

python - PyMC決定論的関数で「if」ステートメントを使用できますか?

Cam Davidson-Pilon のProbabilistic Programming & Bayesian Methods for Hackersを読んだ後、PyMC を使用して隠れマルコフ モデル (HMM) の学習問題に挑戦することにしました。今のところ、コードは連携していませんが、トラブルシューティングを通じて、問題の原因が絞り込まれたと感じています。

コードを小さなチャンクに分割し、t=0 での初期確率と放出確率に注目すると、時間 t=0 での単一状態の放出/観測パラメータを学習できます。しかし、別の状態 (合計 2 つの状態) を追加すると、データ入力に関係なく、パラメーター学習の結果は同じ (そして正しくない) になります。そのため、コードの一部で何か間違ったことをしたに違いないと感じています。これにより、初期確率関数@pm.deterministicからのサンプリングが許可されません。Init

コードのこの部分を使用して、状態 0 と状態 1 にそれぞれ対応する初期確率 p_bern放出確率 p_0を学習することを目指しています。p_1放出は、私が自分の関数で表現しようとしている状態を条件としてい@pm.deterministicます。この決定的関数に「if」ステートメントを含めることはできますか? それが問題の根源のようです。

私はすでに次のことを無駄に試みました:

  1. @pm.potentialデコレーターを使用して共同ディストリビューションを作成する
  2. 自分の場所の配置を変更するInit(どこに配置すればよいかわからないコードのコメントを見ることができます)
  3. これ@pm.stochasticに似たものを使用してください

編集:クリスの提案に従って、ベルヌーイ ノードを決定論の外に移動しました。また、トラブルシューティングを容易にするために、コードをより単純なモデル (多項式ではなくベルヌーイ観測) に更新しました。

お時間をいただきありがとうございます。どんなフィードバックでも暖かく受け取られます。また、情報が不足している場合はお知らせください。

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

python - カテゴリ確率変数を使用してPyMC3で階層モデルを作成することは可能ですか?

PyMC3 を使用して 2 つのモデル ( Jake Vanderplas のブログのbest_theta()) を比較しようとしていますが、変更したコードを機能させることができません (関数とlogL()Jake のブログ投稿で説明されており、IPython ノートブック形式で入手できます):

この質問choiceで説明されているように、変数は (PyMC2 とは異なり) 整数ではなく RV オブジェクトであるため、例外が発生します。ただし、私のコードでは、それを機能させるために の値が重要です。choice

私の質問は、 RV の値にアクセスする方法choice、またはより一般的にはカテゴリ確率変数を使用して階層モデルを設定する方法はありますか (つまり、カテゴリ RV の値を使用して別の RV の対数尤度を計算します)?

0 投票する
0 に答える
533 参照

python - PyMC3 階層モデルのハイパープライオリティ

多くのパラメーターを使用して、PyMC3 の学術論文から階層モデルを構築しようとしています。このモデルのプレート図は次のとおりです。

ここに画像の説明を入力

PyMC3 用にこのモデルを構築しようとすると、ハイパープライオリティ p (ベータ分布であり、ベルヌーイ分布の事前分布を供給する) に形状を与えるのに問題があります。これの構文は何ですか?私の質問を説明するインラインコメント付きの私の間違ったモデルは以下の通りです:

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

pymc3 - Pymc3 のカテゴリー混合モデル

私は Pymc3 が初めてで、https://en.wikipedia.org/wiki/Mixture_model#Categorical_mixture_modelに示されているカテゴリ混合モデルを作成しようとしています。「x」変数を接続するのに苦労しています。z変数を決定論的にする必要があるためだと思いますが、「x」が割り当てられている行でエラーメッセージが表示されます:「ValueError:3つの入力が必要ですが、2を取得しました。」. p関数は2つの入力しか受け付けないように見えるので、行き詰まっています。いろいろ試してみましたが、まだこれを機能させることができませんでした。