2010-06-24 81 views
1

從標題,我有一些數據大致是正常分佈,我想找到它的兩個基本組件。適合在R中的正常分佈

我擬合到數據分配兩個正常的與裝置和M時和米和標準偏差和S 和s 。兩個高斯由權重因子,例如縮放使得w + W = 1

我能成功此使用的vglm功能做VGAM包如:

fitRes <- vglm(mydata ~ 1, mix2normal1(equalsd=FALSE), 
      iphi=w, imu=m1, imu2=m2, isd1=s1, isd2=s2)) 

這是痛苦的緩慢,根據數據可能需要幾分鐘,但我可以忍受。

現在我想看看我的數據分佈隨着時間的變化如何變化,所以基本上我會在幾個(30-50)塊中分解我的數據,併爲每個塊重複適合過程。

所以,這裏的問題:

1)我如何加快入處理?我試圖使用nlsmle,它看起來更快,但大部分未能很好地適應(但成功地獲得了這些功能可能導致的所有可能的錯誤)。也就是我不清楚如何施加限制與這些功能(瓦特在[0; 1]和瓦特 + W = 1)

2)我如何自動地選擇一些很好的起點參數(我知道這是一個100萬美元的問題,但你永遠不會知道,也許有人有答案)?現在我有一個小界面,可以讓我選擇參數並直觀地看到最初的分佈是什麼樣子,這非常酷,但我想自動完成此任務。

我認爲依賴於y的第三和第四四分位數對應的x作爲兩個平均值的起始參數?你做這件事是否合理?

回答

2

首先第一件事情:

對混合模型有很多研究,所以你可能會發現一些東西。

+0

嗨德克,不幸的是我知道混合模型的問題遠不是微不足道的......第二個環節似乎很有趣。你會建議一些特定的軟件包來嘗試這些嗎?謝謝尼科 – nico 2010-06-24 12:59:18

+0

我可能會從'mclust'開始 – 2014-06-18 18:02:33