問題タブ [dirichlet]

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

theano - PyMC3 ディリクレ分布

次のコードのように、重みの未知のベクトルが確率質量関数になるように制約されているため、ディリクレ分布としてモデル化されている pymc3 で線形回帰モデルを実装しています。

実行して事後をサンプリングした後:

ディリクレ変数のトレースを分析したところ、それらの値が 1 に加算されないことがわかりました (以下は例です)。

私は theano 変数に精通しておらず、ディリクレ RV が pymc3 でどのように表現されているかを調べるのが難しいことがわかりました...何か間違ったことをしていますか、それともトレースで返された値を正規化して合計が 1 になるようにする必要がありますか?

クイック更新 関数pm.find_MAP()は一種の勾配降下最適化を採用しているようです。これは、ディリクレ分布からのドローを表すベクトルが確率質量関数であるという事実から生じる制約を考慮していません (その値は正でなければならず、それらの合計は 1 でなければなりません)。この制約は、アルゴリズムのサンプリング段階でも明らかに適用されず、尤度分布の精度がゼロに向かってドリフトするため、収束の問題が発生します。

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

java - AnyLogic: ディリクレ分布の実装?

全て:

AnyLogic で Dirichlet ディストリビューションからドローを実装する方法を知っている人はいますか?

p1 + p2 + p3 = 1 のように相互に関連する 3 つの確率があり、それぞれの値を描画したいと考えています。

現在、次のコードでこれを実装しています。

どこacは と の事前分布p1ですp2

ありがとう!

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

scikit-learn - すべての値を 1 つのクラスターにクラスター化する DPGMM

そこで、コーパスを素敵な word2vec マトリックスに変換しました。この行列は、負数と正数の浮動小数点行列です。

まとまりのある答えを得るために、無限ディリクレ過程を得ることができないようです。

[2 ステップの] 出力例は次のようになります。

観測可能なように、z、ガンマ、およびミューがすべて爆発し、最終的にシステムが 1 つのクラスターに収束するように見えますが、これは実際には正確ではありません。DPGMM のアルファをいじってみましたが、あまり変わりません。

私がやろうとしているのは、自律クラスタリング システムを使用して、意味に近い単語を自動的にクラスタリングすることです。K-Means には「K」が必要ですが、これは提供したくありません。

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

r - ドント法逆電卓

d'Hondt メソッドを使用した選挙システムの議席配分について、Carlos Gil Bellosta からこのコードを見つけました。

ここで、この機能を逆にする方法、つまり、議席から始まる n 政党の得票率を推定する方法を考えています。

明らかに、これには確率論的アプローチが必要です。私は多くの可能性のある結果をシミュレートしようとし、それらの座席が同等であることを発見し、確率表に似たものを構築しました. 解決?私が興味を持っている座席分布の最も近い n-タプルを見つけてください。これは私のコードです。

誰かがこれをよりエレガントで直接的な方法で行うことができると示唆しているかどうか疑問に思います.

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

python - ディリクレ分布の混合の正規化定数は無制限になります

Pythonでディリクレ分布の混合のPDFを計算する必要があります。しかし、混合成分ごとに正規化定数があります。これは、分子としてハイパーパラメーターの合計のガンマ関数を持つ逆ベータ関数です。したがって、サイズが「60」のハイパーパラメーターの合計であっても、無制限になります。この問題の回避策を教えてください。正規化定数を無視するとどうなりますか?

まず、問題となるのは NC 自体の計算ではありません。単一のディリクレの場合、問題はありません。しかし、私がここに持っているのは、ディリクレの積の混合物です。したがって、各混合成分は、それぞれ独自の NC を持つ多くのディリクレの積です。したがって、これらの積は無制限になります。私の目的に関して、私はp(s、T、O)の共同分布を持っています。ここで、「s」は離散的で、「T」と「O」はディリクレ変数、つまり合計が「1」になるパラメータのベクトルのセットです. 「s」は離散的で有限であるため、 |S| があります。各 's' のディリクレ成分の積の混合の集合。ここでの目的は、p(s|T,O) を見つけることです。したがって、特定の (T,O) を直接代入し、各 p('s'|T,O) の値を計算します。このためには、NC を計算する必要があります。混合成分が 1 つしかない場合は、ノルム定数 calc を無視できます。最後に再正規化しますが、いくつかの混合コンポーネントがあるため、各コンポーネントのスケーリングが異なるため、再正規化できません。これは私の難問です。

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

r - JAGS - 適切なサンプラーが見つかりません

私は、世論調査の結果に基づいて多党派の主要な投票意図を推定するために、JAGS で階層的ディリクレ多項過程隠れマルコフ モデルを開発しようとしています。また、予備選挙の推定値を使用して、オーストラリアの優先投票システムの下での 2 党の優先投票シェアを計算します。

dmulti() 多項分布が実行時エラー メッセージで失敗しました: 適切なサンプラーが見つかりません。一連の二項分布と sum-to-N 制約を使用する回避策があります。理論的には、これで同じ結果が得られるはずですが、モデル内のスペースと時間が非効率になります。

私の質問は、多項分布を機能させるために、以下のモデルの隠れた一時的な部分で何かできることがあるかどうかです。

モデル (および周囲の R コード) は次のとおりです。

6 か月にわたるモデルの入力データは次のとおりです。

出力の比較 (私が持っている他のモデルとの比較) は次のとおりです。次のチャートの赤い線は、上記から生成されたものです。

ここに画像の説明を入力

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

r - 総和と等式制約による正の重みのサンプリング

a=(a1, a2, a3, a4)と のような正の重みのベクトルがあるa2=a3としa1+a2+a3+a4=1ます。Rを使用してこの種の重みをサンプリングする方法はありますか? ディリクレ分布の使用を考えてみましたが、変量のうち 2 つを強制的に等しくするメカニズムはありません。