擅长:python、mysql、java
<p><code>numpy.correlate</code>只返回两个向量的互相关。</p>
<p>如果您需要了解相互关系,那么从<a href="http://en.wikipedia.org/wiki/Cross-correlation">http://en.wikipedia.org/wiki/Cross-correlation</a>开始。</p>
<p>一个很好的例子可以通过查看自相关函数(一个与自身相关的向量):</p>
<pre><code>import numpy as np
# create a vector
vector = np.random.normal(0,1,size=1000)
# insert a signal into vector
vector[::50]+=10
# perform cross-correlation for all data points
output = np.correlate(vector,vector,mode='full')
</code></pre>
<p><img src="https://i.stack.imgur.com/PpAjv.png" alt="Code graph"/></p>
<p>当两个数据集重叠时,这将返回一个最大值为comb/shah的函数。由于这是一个自相关,两个输入信号之间不会有“滞后”。因此,相关性的最大值是vector.size-1。</p>
<p>如果只需要重叠数据的相关值,可以使用<code>mode='valid'</code>。</p>