当前位置: 首页 > 知识库问答 >
问题:

带numpy.convolve的加权移动平均

顾俊茂
2023-03-14

我正在写一个移动平均函数,它使用numpy中的卷积函数,它应该相当于一个(加权移动平均)。当我的权重都相等时(就像在一个简单的算术平均值中一样),它工作得很好:

data = numpy.arange(1,11)
numdays = 5
w = [1.0/numdays]*numdays
numpy.convolve(data,w,'valid')

给予

array([ 3.,  4.,  5.,  6.,  7.,  8.])
w = numpy.cumsum(numpy.ones(numdays,dtype=float),axis=0); w = w/numpy.sum(w)
array([ 2.33333333,  3.33333333,  4.33333333,  5.33333333,  6.33333333,
        7.33333333])

对这种行为有什么看法吗?

共有1个答案

於彬
2023-03-14

您想要的是np.correlate在卷积中,第二个参数基本上是颠倒的,这样您预期的结果将是np.convolve(data,w[::-1],'valid')

 类似资料:
  • 问题内容: 我正在写一个使用numpy中的卷积函数的移动平均函数,它应该等效于(加权移动平均)。当我的权重全部相等时(如简单的算术平均值),它可以正常工作: 给 但是,当我尝试使用加权平均值时 而不是(对于相同的数据)3.667,4.667,5.667,6.667,…我希望,我得到 如果删除“有效”标志,则什至看不到正确的值。我真的很想对WMA和MA使用convolve,因为它可以使代码更整洁(相

  • 问题内容: 我正在为Pyspark中的时间序列编写异常检测算法。我想计算(-3,3)或(-4,4)窗口的加权移动平均值。现在,我正在使用滞后和超前窗口功能,并将它们乘以一组权重。我的窗口当前是(-2,2)。 我想知道是否有另一种方法可以计算Pyspark中的加权移动平均值。 我正在使用的当前代码是: 问题答案: 您可以概括当前的代码: 它可以用作: 注意事项 : 您可能会考虑将滞后缺失的帧的结果标

  • 问题内容: 像下面的熊猫一样,如何在NumPy中获得指数加权移动平均值? 我用NumPy尝试了以下 但是结果却与大熊猫不同。 是否有更好的方法直接在NumPy中计算指数加权移动平均值并获得与完全相同的结果? 在对熊猫解决方案提出60,000个请求时,我得到了大约230秒。我敢肯定,使用纯NumPy可以大大减少这种情况。 问题答案: 更新于08/06/2019 大型输入的纯,快速和保护的解决方案 用

  • 我试着在处理过程中创建平滑的运动,但它现在不起作用,我不知道为什么它不起作用。我是一名编程初学者,所以在解释时不要让我觉得太复杂:)。这个角色现在移动非常缓慢,我不能同时按下多个按钮,如果有人能帮助我,那就太好了。提前谢谢你。 这是主代码页

  • 我正在尝试优化一个程序,该程序需要在数据流的每个位置(字节)为数据流中的恒定大小窗口计算哈希。在比可用RAM大得多的磁盘文件中查找重复时需要它。目前我为每个窗口计算单独的md5哈希,但它花费了很多时间(窗口大小为几千字节,因此每个数据字节被处理几千次)。我想知道是否有一种方法可以在恒定(与窗口大小无关)时间内计算每个后续哈希(例如移动平均中1个元素的加减)?哈希函数可以是任何东西,只要它不提供长哈