問題タブ [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 に答える
1669 参照

python - PyMC3 を使用した Softmax 回帰 (多項ロジスティック)

ロジスティック多項回帰 (別名ソフトマックス回帰) を実装しようとしています。この例では、虹彩データセットを分類しようとしています

モデルの指定に問題があります。最適化エラーが発生しfind_MAP()ます。を使用find_MAP()しない場合、尤度に a を使用するとすべてゼロのベクトルの「サンプル」が得られ、 を使用するCategoricalと事前分布とまったく同じ事後分布が得られますMutinomial(n=1, p=p)

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

python - pymc2 コードを pymc3 に移植: カスタム尤度関数

Lee&Wagenmakers の本 (第 5.5 章、70 ページ) の打ち切りデータの例を実装しようとしています。pymc2 には、次のモデルがあります。

これにはデコレータが含まれ@pymc.observedます。
を使って尤度を表現する必要があると思いますがpm.DensityDist、方法がわかりませんでした。

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

python - pymc3 のベイズ因子

PyMC 3 で 2 つのモデルを比較するためにベイズ係数を計算することに興味があります。このウェブサイトによると、PyMC 2 では、手順は比較的簡単に見えます。ベルヌーイ確率変数と、最初のモデルの尤度を返すカスタム尤度関数を含めます。ベルヌーイ変数の値が 0 の場合は 2 番目のモデルの尤度、値が 1 の場合は 2 番目のモデルの尤度です。ただし、PyMC 3 では確率ノードが Theano 変数である必要があるため、事態はさらに複雑になります。

私の 2 つの尤度関数は二項式なので、このクラスを書き直す必要があると思います。

どこから始めるべきかについて何か提案はありますか?

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

python - PyMC3 ガウス混合モデル

私はここで PyMC3 のガウス混合モデルの例に従ってきました: https://github.com/pymc-devs/pymc3/blob/master/pymc3/examples/gaussian_mixture_model.ipynb 人工データセットでうまく動作するようになりました。 ここに画像の説明を入力

実際のデータセットで試してみましたが、賢明な結果を得るのに苦労しています: ここに画像の説明を入力

より適切にフィットさせるために、どのパラメーターを縮小/拡大/変更する必要があるかについてのアイデアはありますか? トレースは安定しているようです。例から調整したモデルのスニペットを次に示します。

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

python - PyMC3 は、スイッチポイント分析のためにモデル内のデータを選択します

途中で劇的に変化する時系列を生成しています。

このシリーズはx次のようになります。

ここに画像の説明を入力

目標は、PyMC3 を使用して、変更が発生した時間 (スイッチポイント) の事後分布を推定することです。これはインデックス 120 あたりで発生するはずです。私は次のコードを使用しました。

これを行うとtau、配列のスライスに使用できないエラーが発生します。PyMCでこれを解決するアプローチは何ですか? PyMC で確率的な何かによってスライスを行う必要があるようです。

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

python - 変更点のある PyMC3 回帰

pymc3で変化点分析を行う例を見ましたが、得られる結果が真の値からかけ離れているため、何かが欠けているようです。おもちゃの例です。

データ:

おもちゃデータ

脚本:

結果は次のとおりです。

セグメント化された回帰結果

ご覧のとおり、初期値とはかなり異なります。私は何を間違えましたか?