将双峰分布拟合为一组值

时间:2009-10-01 14:43:09

标签: python algorithm

给定1D数组值,最简单的方法是找出最合适的双峰分布是什么,每个'模式'是正态分布?或者换句话说,如何找到两个正态分布的组合,以再现一维数组?

具体来说,我有兴趣在python中实现它,但答案不一定是语言特定的。

谢谢!

3 个答案:

答案 0 :(得分:4)

您要做的是高斯混合模型。解决这个问题的标准方法是使用期望最大化,scipy svn包含一个关于机器学习和em的部分,称为scikits。我用得太多了。

答案 1 :(得分:0)

我建议使用真棒scipy包。 它提供了一些优化方法。

有一个很重要的警告,只需应用预定义的最小方形拟合或沿着这些线条的东西。

以下是您将遇到的一些问题:

  1. 噪音大于秒/两个峰值。
  2. 部分峰值 - 您的数据在其中一个边界处被剪切。
  3. 采样 - 峰的宽度小于采样数据。
  4. 这不正常 - 你会得到一些结果......
  5. 重叠 - 如果峰值重叠,您会发现通常一个峰值正确拟合,但第二个峰值将为零...

答案 2 :(得分:0)

我只是想了解为什么需要为一维数组拟合双峰分布?这样做有什么好处?

相关问题