繁体   English   中英

如何从pdf(概率密度函数)中分离两个分布?

[英]how to separate two distributions from a pdf(probability density function)?

假设我的数据集的 pdf(概率密度函数)如下,数据集中有两个分布,我想用 Gamma 和高斯分布拟合它们。

在此处输入图像描述

我已阅读此内容,但这仅适用于两个高斯分布。 如何使用 python 分离两条高斯曲线?

这是我想做的步骤

  1. 手动估计高斯分布的均值和方差
  2. 基于估计的均值和方差,创建高斯分布的 pdf
  3. 从原始 pdf 中减去 Gaussian 的 pdf
  4. 将 pdf 拟合到 Gamma 分布

我可以做 1~3,但对于第 4 步,我不知道如何从 pdf 拟合 Gamma 分布(不是来自数据样本,因此 stats.gamma.fit(data) 在这里不起作用)。

上述步骤处理此类问题是否合理,Python中的步骤4如何做? 感谢任何帮助。

有趣的问题。 我可以看到的一个问题是,有时很难区分哪种模式是伽马模式,哪种模式是高斯模式。

我可能会做的是尝试一个期望最大化(EM)算法。 鉴于上述含糊不清,我会进行几次运行,select 是最合适的。

也许,为了加快速度,您可以尝试 EM 有两个可能的起点(有点类似于您的想法):

  1. 估计两个高斯的混合 model,比如g0, g1
  2. 运行一个 EM 来求解混合(Gamma, Gaussian) ,从初始点(gamma_params_approx_gauss(g0), g1)开始,其中gamma_params_approx_gauss(g0)是给定高斯参数的 Gamma 参数的最大似然估计量(参见例如此处)。
  3. 运行另一个 EM,但从(gamma_params_approx_gauss(g1), g0)开始。
  4. select 是两个 EM 结果中的最佳拟合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM