python correlate_关于numpy互相关函数np.correlate的一点疑问

本文探讨了numpy.correlate函数在计算互相关时可能存在的问题,包括未提供'unbiased'和'normalize'选项以及'maxlags'参数。作者通过举例说明了无偏化和归一化的必要性,并引用了MATLAB的xcorr函数和statsmodels.tsa.stattools.ccf作为对比。此外,还提出了maxlags参数的需求,以便限制互相关函数的时滞长度。最后,指出matplotlib.pyplot的plt.xcorr函数在功能上更能满足作者的需求。
摘要由CSDN通过智能技术生成

最近再做一个小作业,是关于寻找太平洋Nino3.4区和热带印度洋(TI)海温(SST)的最大超前滞后关系,不可避免需要求解互相关函数。其中numpy,scipy,statsmodels均有求解互相关的函数,最后选择numpy.correlate。但是我发现其中关于互相关的定义好像有点问题(或者函数其实并不完善),其中问题如下:

先来看一下numpy.correlate计算定义:c_{av}[k] = sum_n a[n+k] * conj(v[n]) (其中conj为求解共轭,对于实数时间序列,不必考虑),简单来说numpy.correlate做的事情就是计算出两个序列之间的"错位点积"

a=[1,2,3]

b=[2,4,5]

那么当时滞为1(即a落后b一位)时,"错位点积"为2×2+3×4=16,当时滞为-1(即a超前b一位),“错位点积”为1×4+2×5=14,其他情况也是以此类推。

那么问题就来了,函数中并没提供'unbiased'和'normalize'的选项,仅仅是求解了"错位点积",这样就可以代表互相关函数吗?

在我查阅资料过程中,我翻到了知乎上的这篇文章:明天:卷积、互相关与自相关​zhuanlan.zhihu.com

似乎在信号处理中,定义的确是这样。但是类似功能的MATLAB函数xcorr提供了'unbiased'和'normalize'的选项,同时还有'maxlags'规定最大时滞的参数。statsmode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值