【发布时间】:2018-05-25 08:50:51
【问题描述】:
是否有一种通用方法可以加入 SciPy(或 NumPy)概率分布以创建可以从中采样的混合概率分布?
我有这样一个分布用于显示,使用类似的东西:
mixture_gaussian = (norm.pdf(x_axis, -3, 1) + norm.pdf(x_axis, 3, 1)) / 2
如果然后绘制如下:
但是,我无法从这个生成的模型中采样,因为它只是一个点列表,将绘制为曲线。
注意,这个特定的分布只是一个简单的例子。我希望能够生成几种分布(包括不仅仅是正态分布的“子”分布)。理想情况下,我希望有某种方式可以自动规范化该函数(即不必像上面的代码中那样明确地执行/ 2。
SciPy/NumPy 是否提供了一些轻松完成此任务的方法?
This answer 提供了一种可以从多个分布中进行这种抽样的方法,但是对于给定的混合分布,它肯定需要一些手工制作,特别是当想要以不同的方式加权不同的“子”分布时。这是可用的,但如果可能的话,我希望方法更简洁明了。谢谢!
【问题讨论】:
-
This 可能会帮助您入门。
标签: python numpy scipy probability-density