拟合R中的二元正态分布

时间:2010-06-24 06:51:12

标签: r optimization distribution

从标题开始,我有一些大致正常分布的数据,我想找到它的两个基础组件。

我拟合数据分布两个法线的总和,意思是m 1 和m 2 和标准偏差s 1 和s <子> 2 。两个高斯按权重因子缩放,使w 1 + w 2 = 1

我可以使用vglm包的VGAM函数成功执行此操作,例如:

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

这很慢,根据数据可能需要几分钟,但我可以忍受。

现在我想看看我的数据分布如何随着时间的推移而变化,所以基本上我会在几个(30-50)块中分解我的数据并重复每个数据的拟合过程。

所以,问题如下:

1)如何加快适应过程?我试图使用nlsmle看起来更快,但大多数都不能很好地适应(但成功地获得了这些功能可能给我带来的所有可能的错误)。我也不清楚如何对这些函数施加限制(w在[0; 1]和w 1 + w 2 = 1)

2)我如何自动选择一些好的起始参数(我知道这是一个100万美元的问题,但你永远不会知道,也许有人有答案)?现在我有一个小界面,允许我选择参数,直观地看到初始分布看起来很酷,但我想自动完成这项任务。

我想过依赖于对应于y的第3和第4四分位数的x作为两个均值的起始参数?你做一件合情合理的事吗?

1 个答案:

答案 0 :(得分:2)

首先要做的事情:

对混合模型进行了大量研究,因此您可以找到一些东西。