解决方法
>相关性
>互相关
卷积
>相关系数
>滑点产品
> Pearson相关
1,2,3和5非常相似
4,6是相似的
请注意,所有这些术语都有点产品饲养头
你问关于相关和卷积 – 这些在概念上是一样的,除了输出被卷起来.我怀疑你可能会问过相关系数(如Pearson)和卷积/相关性之间的差异.
先决条件
我假设你知道如何计算点积.给定两个相等大小的向量v和w,每个具有三个元素,代数点积为v [0] * w [0] v [1] * w [1] v [2] * w [2]
点数产品在代表什么等方面有很多理论….
注意点积是表示这两个向量/点v之间的映射的单个数字(标量).在几何中,几何常数计算使用点积的两个向量之间的角度的余弦值.两个向量之间的角度的余弦值在-1和1之间,可以被认为是相似度的度量.
相关系数(Pearson)
相等长度v,w之间的相关系数只是两个零平均信号的点积(从v得到zmv减去平均值v,从w得到zmw的平均值w,这里zm是零均值的缩写)除以zmv的大小和zmw.
产生-1和1之间的数字.接近零意味着很小的相关性,接近/ – 1是高相关性.它测量这两个向量之间的相似性.
请参阅http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient以获得更好的定义.
卷积和相关性
当我们想要相关/卷积v1和v2时,我们基本上是计算一系列点阵产品并把它们放在一个输出向量中.让我们说,v1是三个要素,而v2是10个元素.我们计算的点产品如下:
output[0] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2] output[1] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3] output[2] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4] output[3] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5] output[4] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6] output[5] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9] output[6] = v1[0]*v2[8]+v1[1]*v2[9]+v1[2]*v2[10] #note this is #mathematically valid but might give you a run time error in a computer implementation
output[5] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2] output[4] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3] output[3] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4] output[2] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5] output[1] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6] output[0] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9]
请注意,输出中的元素少于10个,为简单起见我仅在定义了v1和v2的情况下计算卷积
还要注意,卷积只是一些点阵产品.多年来,有相当多的工作能够加快卷积.扫描的点产物很慢,可以通过首先将向量转换为傅立叶基本空间,然后计算单个向量乘法,然后反转结果,可以加快,虽然我不会在这里进入…
你可能想看看这些资源以及谷歌搜索:Calculating Pearson correlation and significance in Python