2010-06-24 56 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