如何从scipy库中卷积两个发行版

时间:2014-06-24 12:41:36

标签: python statistics scipy

我已经看到(通过研究)卷积是通过numpy完成的,但是如果我想卷积两个标准分布(特别是一个带有统一的法线),这些分布在scipy库中很容易获得,是否有直接的方法来实现它而不是通过numpy和convolve创建两个数组?

1 个答案:

答案 0 :(得分:1)

通常,计算分布的卷积需要求解积分。我将这个问题作为我论文工作的一部分[1],并编写了一些Java(相当特殊)来执行操作。基本上我的方法是制作已知结果的分布目录,如果没有已知结果,则依靠数值方法(通过离散化和FFT进行卷积)。

对于高斯和均匀的组合,结果就像高斯凹凸分裂成两个并粘贴到均匀分布的每一端,当均匀足够宽时,否则它看起来像凹凸。如果你有兴趣,我可以尝试找到相应的公式。

您可以尝试通过符号计算系统(如Maxima)计算积分。 [2]例如,Maxima说单位高斯与单位均匀的卷积是:

-(erf((sqrt(2)*s-sqrt(2))/2)-erf(s/sqrt(2)))/2

[1] http://riso.sourceforge.net/docs/dodier-dissertation.pdf(特别是第C.3.17节)

[2] http://sourceforge.net/p/maxima