两个随机信号之间的相关性

40次浏览(最近30天)
rihab
rihab 2015年10月1日
编辑: 约翰D 'Errico 2015年10月2日
我在MATLAB中有两个信号
一个= randn (1,1 e6) + randn (1,1 e6) * exp(1 * 2 *π* 1.1);
b = randn (1,1 e6) + randn (1,1 e6) * exp(1 * 2 *π* 1.4);
我发现它们之间的相关性如下:
R = corrcoef (a, b);
r = r (2, 1);
每次运行代码,相关系数都不一样。我甚至试图增加样本的数量(从1e6到更高的值),但这没有工作。有没有其他方法来找出这些信号之间的相关系数?

接受的答案

约翰D 'Errico
约翰D 'Errico 2015年10月1日
编辑:约翰D 'Errico 2015年10月1日
当您生成随机数据时,您将永远无法知道确切的相关系数。数据是由随机数组成的。也许一个相关的例子会有帮助。
从区间[0,1]中抽样的均匀随机变量的均值是多少?我们知道这是0.5。但是试一试呢?
n = 1 e6;
x =兰德(1,n);
意思是(x)
ans =
0.50032
x =兰德(1,n);
意思是(x)
ans =
0.50006
x =兰德(1,n);
意思是(x)
ans =
0.4997
嗯。我每次都得到不同的数字,没有一个是0.5的期望值。接近,但并不完全如此。
事实上,统计学101将告诉我们,随着样本量的增加,均值实际上会接近已知的期望值,但我们永远不会期望一个确切的结果。从数据中提取的样本相关系数具有相同的性质。它将是这个参数的一个估计,但它通常不会是真正的值,人们可以用理论来计算。同样,由于样本的随机性,我们得到的值也会变化。这完全如我们所料。
2的评论
约翰D 'Errico
约翰D 'Errico 2015年10月2日
看起来您误解了从某个随机变量的样本中估计的参数与计算出的整个总体的期望值之间存在差异。
这就是为什么我举随机样本均值的例子。这个平均值的期望值是0.5。然而,这些随机样本的计算均值本质上永远不会恰好是期望值。这同样适用于相关系数。你给出的计算结果并不比我给出的平均值更准确。
重点是样本均值和总体均值是有差异的。您的问题似乎是由于对参数使用了类似的名称引起的。

登录评论。

答案(1)

1月
1月 2015年10月1日
预期两个随机信号之间的相关性具有(低)的随机值。你说"那没用"是什么意思?我找不到另找出路的理由,因为 corrcoeff 工作很好。只有你的期望与数学定义不一致。
2的评论
1月
1月 2015年10月1日
请阅读文档和源代码 corrcoeff.m 去看看到底发生了什么。因为每次都为这个函数创建随机输入,所以输出也必须不同。只有输出的大小应该是“小”的,因为输入是随机的。即使对于不相关的信号,也不能期望相关性有一个固定的值,例如0.0。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!