我想用SciPy的解卷积函数来寻找给定两个高斯分布的未知分布。There is no documentation与SciPy中的这个函数相关联,所以我只是想看看如何在我的情况下使用这个函数。例如,给定两个正态分布N(100,1),N(300,2),我想了解如何找到反褶积N(200,1)的分布。在
>>> sample1 = np.round(scipy.around(scipy.stats.norm(100, 1).rvs(size=1000)))
>>> sample2 = np.round(scipy.stats.norm(300, 2).rvs(size=2000))
>>> signal.deconvolve(sample1, sample2)
上面的代码给了我负值,这似乎是错误的。如何从反褶积中恢复N(200,1)分布呢?特别是,我想我的问题是我不知道如何得到除数。在
从200个样本中,我想知道如何从这些样本中恢复
我觉得你对自己的期望有点困惑。。。因为我们都知道两个正态分布的卷积是另一个正态分布,平均值是平均值之和,方差是方差之和,所以您似乎期望两个正态随机样本的卷积也将是正态随机样本。但事实并非如此:
你可能在想一些事情:
^{pr2}$无论如何,回到
deconvolve
。。。如果使用长度为m
和n
的两个数组调用它,它将返回一个包含两个数组的元组:m - n + 1
是解卷积数组,也就是说,你应该用第二个数组卷积来得到第一个m
是用第二个数组与第一个返回的数组的卷积来替换第一个数组的错误。在相关问题 更多 >
编程相关推荐