2010-03-22 73 views
8

假設我有一組加權樣本,其中每個樣本的相應權重在0和1之間。我想估計一個高斯混合分佈的參數,偏向於重量更高的樣品。在通常的非加權情況下,通過EM算法完成高斯混合估計。有沒有人知道允許傳遞權重的實現(任何語言都可以)?如果沒有,有誰知道如何修改算法來解釋權重?如果不是,那麼有人可以給我提示如何將權重納入問題最大對數似然公式的初始公式中嗎?從一組加權樣本估計高斯(混合)密度

謝謝!

+0

是「EM」誤差最小化,或別的東西完全?此外,還有*許多*數字和分析軟件包,涵蓋基本和一般到高度專業化。如果您提到有關您的問題域和首選環境的信息,可能會有所幫助。 Fortran語言? C++? Java的?蟒蛇?你很好學習一個像R或root這樣的主要新工具嗎? – dmckee 2010-03-22 14:40:40

+0

好的,那麼我的首選語言就是Python。但除了root之外的任何上述語言(從來沒有聽說過)也可以。 EM表示估計最大化並且是可用於從數據估計高斯混合模型的參數的一般迭代方案。 – Christian 2010-03-22 14:56:36

+0

我對這種方法並不熟悉,不能提出任何具體建議。 – dmckee 2010-03-22 19:16:04

回答

0

只是一個建議,因爲沒有其他答案發送。

你可以在GMM中使用正常的EM(OpenCV for ex。有許多語言的許多包裝器),並且在你希望擁有「更多權重」的集羣中放兩點。新興市場就這樣認爲這些點更重要。如果它確實很重要,可以稍後刪除額外的點。

否則,我認爲這是相當極端的數學,除非你有高級統計背景。

+0

當您有很多點或本質上非整數時,這不起作用權重。正如它發生在我身上一樣:具有非整數權重的數百萬點的直方圖... – ansgri 2011-11-09 21:26:19

3

您可以計算加權對數似然函數;只是把它的重量乘以每一點。請注意,您需要爲此使用對數似然函數。因此,您的問題可以通過最小化$ - \ ln L = \ sum_i w_i \ ln f(x_i | q)$(原始表單請參閱the Wikipedia article)。

4

我剛剛遇到同樣的問題。儘管這篇文章比較年長,但對其他人可能會感興趣。 honk的答案在原則上是正確的,但並不是直接瞭解它是如何影響算法的實現的。從維基百科的文章Expectation Maximization和一個非常好的Tutorial,可以很容易地導出更改。

如果$ v_i $是第i個樣本的權重,則教程中的算法(參見第6.2節末尾)會發生變化,以便$ gamma_ {ij} $乘以該權重因子。 爲了計算新的權重$ w_j $,$ n_j $必須除以權重$ \ sum_ {i = 1}^{n} v_i $的總和而不是n。就是這樣...