如何解决关于python离散卷积的问题
我很难理解为什么 np.convolve 方法会返回 N+M-1 集。感谢您的帮助。
假设我有两个离散概率分布,其值为 [1,2] 和 [10,12],概率为 [.5,0.2] 和 [.5,0.4] 分别。
使用 numpy 的卷积函数我得到:
>>In[]: np.convolve([.5,0.2],[.5,0.4])
>>Out[]: array([[0.25,0.3,0.08])
但是我不明白为什么生成的概率分布只有 3 个数据点。据我了解,我的输入变量的总和可以具有以下值:[11,12,13,14] 所以我希望有 4 个数据点来反映这些事件中的每一个的概率。
我错过了什么?
解决方法
在更好地理解卷积之后,我设法找到了我自己问题的答案。把它张贴在这里让任何想知道的人:
实际上,我上面例子中的两个“信号”或概率函数的卷积没有正确完成,因为它没有反映出第一个分布的事件 [1,2] 和第二个分布的事件 [10,12]不要重合。
简单地取 np.convolve([.5,0.2],[.5,0.4])
假设对应于相同事件的概率(例如 [1,2] [1,2])。
正确的方法是将两个系列在公共 X 轴下对齐,如下所示:
>>In[]: vector1 = [.5,0.2,0]
>>In[]: vector2 = [0,.5,0.4]
>>In[]: np.convolve(vector1,vector2)
>>Out[]: array([0.,0.,0.25,0.1,0.08,0. ])
给出 11,12,13,14 的正确值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。