关于互相关和相关系数的问题

8 math matlab data-analysis cross-correlation

可能重复:
Matlab互相关与相关系数问题

当我在MATLAB中交叉关联2个数据集ab(每个73点长)并绘制图形时,它看起来像一个145点的三角形.当我绘制范围为+/- 1的互相关输出时,我在相关系数和类似三角形的图之间感到困惑.

abc*_*bcd 38

我认真地认为你需要从统计书中阅读更多关于互相关函数和相关系数的内容,因为这里的混淆比MATLAB更复杂.除非你知道你正在处理什么,否则你无法理解MATLAB给你的东西,即使你得到了正确的程序.

CROSS相关:

以下是您在互相关中所做的工作.考虑数据AB如下

    A                   B

    x                   
x   |       x           x   
|   |       |       x   |   
|   |   x   |       |   |   x
|   |   |   |       |   |   |
---------------     -----------
0   1   2   3       0   1   2 
Run Code Online (Sandbox Code Playgroud)

然后B,您将其一直拉到最后,以便最后一个点B和第一个点A对齐:

                x                   
            x   |       x 
            |   |       |   
            |   |   x   |       
            |   |   |   |
----x---x------------------
   -2  -1   0   1   2   3

        x   
    x   |   
    |   |   x
    |   |   |
----------------x---x---x--
   -2  -1   0   1   2   3
Run Code Online (Sandbox Code Playgroud)

在数据不存在的地方填入零,即在这种情况下,B超过0且A在0之前.然后将它们逐点相加并添加,0 + 0 + 3 + 0 + 0 + 0 = 3作为交叉相关中的第一个点.

然后B向右滑动一步并重复

            x                   
        x   |       x 
        |   |       |   
        |   |   x   |       
        |   |   |   |
----x------------------
   -1   0   1   2   3

        x   
    x   |   
    |   |   x
    |   |   |
----------------x---x--
   -1   0   1   2   3
Run Code Online (Sandbox Code Playgroud)

0 + 9 + 4 + 0 + 0 = 13作为互相关中的第二点给出.你一直这样做,直到你一直滑到B另一端A.

得到的向量是length(A)+length(B)-1-1,因为我们从0开始重叠,所以它少了一点.所以在这里你应该得到3 + 4 - 1=6互相关的点,在你的情况下,你应该得到73 + 73 -1 = 145积分.

如您所见,任何点处的互相关矢量的值都不必在±1之内.当两个数据矢量"最相似"时,互相关具有最大值.峰值从零开始的"偏移"表示两个数据集之间的"滞后".

相关系数

相关系数(我假定Pearson的)是被定义为仅仅数

            Covariance(A,B)
r = --------------------------------
    ________________________________
  \|Covariance(A,A)*Covariance(B,B)
Run Code Online (Sandbox Code Playgroud)

哪里Covariance(A,A)更好地称为Variance(A).这是可以范围从一个量-11(至于为什么它必须是±1之间,查找柯西-施瓦茨不等式)

注意:

虽然您可以肯定地计算具有不相等数据点的两个数据向量的互相关,但您无法计算它们的相关系数.协方差的概念衡量两个变量/数据集如何一起变化,而不是为不相等的数据集定义.

  • 非常感谢Lorem,您对互相关的工作原理有很好的解释.我知道这是一个旧线程(并且就此重复),但这个答案可能是我见过的最好的答案. (6认同)
  • @ Tyler31:更好的说法是它测量两个矢量/数据集/时间序列的相似性作为滞后的函数... (2认同)