2015-02-24 57 views
0

我需要計算Python中Dirichlet分佈混合的PDF。但是,對於每個混合組分,都存在歸一化常數,這是具有作爲分子的超參數之和的伽馬函數的逆貝塔函數。因此,即使對於大小爲「60」的超參數總和,它也是無限的。請爲我提出解決此問題的方法。當我忽略標準化常數會發生什麼?Dirichlet分佈混合的標準化常數不受限制

首先它不是NC本身的計算問題。對於單個迪裏克萊我沒有問題。但是我在這裏有一種混合物,所以每種混合物成分都是許多二硫化物的產物,每種混合物都有自己的NCs。所以這些產品是無限的。關於我的目標,我有一個p(s,T,O)的聯合分佈,其中's'是離散的,'T'和'O'是狄利克雷變量,即一組參數向量,其和爲'1' 。現在''是離散的,有限的,我有| S |每個's的dirichlet組件產品的混合物。現在我的目標是找到p(s | T,O)。所以我直接替換一個特定的(T,O)並計算每個p('s'| T,O)的值。爲此,我需要計算NC。如果只有一個混合分量,那麼我可以忽略常量常量calc。並最終renormalise,但由於我有幾個混合組件,每個組件將有不同的縮放,所以我不能renormalise。這是我的難題。

回答

0

一些想法。 (1)爲了準確地計算歸一化因子,也許你可以通過伽瑪(a_i + 1)= a_i伽馬(a_i)來重寫伽瑪函數(a_i不必是整數,讓基本情況爲a_i < 1),然後你將在分子和分母中有sum(a_i,i,1,n)項,你可以對它們重新排序,這樣你可以將最大項除以最大項,並將這些比率相乘而不是計算一個龐大的分子和一個巨大的分母和劃分這些。 (2)如果你不需要確切,也許你可以應用斯特林的近似。 (3)也許你根本不需要pdf。出於某種目的,您只需要一個與PDF成正比的函數。我相信馬爾可夫鏈蒙特卡洛就是這樣。那麼,你想在這裏實現的更大目標是什麼?

+0

謝謝你的回覆。我編輯了這個問題來詳細解釋。請註明您是否需要任何附加信息 – user3443615 2015-02-25 04:04:49

+0

好的。從你的新評論看來,(3)被排除了。所以我的建議是首先嚐試(2),看看近似值是否足夠接近,否則(1)。也許你可以弄清楚(取決於參數的大小)如何從(2)自動切換到(1)。 – 2015-02-25 17:38:59