1

我们如何关联两个具有不同比例的数据集/曲线,即一条曲线的 y 轴范围为 (0,70000),另一条曲线的 y 轴范围为 (0, 150000)。如果它们的比例相同,则可以使用 cor() 函数。我想检查一条曲线是否依赖于另一条曲线/两条曲线是否相关。有任何想法吗?

4

3 回答 3

3

如果您查看Pearson 乘积相关矩的定义(这是cor默认计算的),您会发现它是一个线性运算符。也就是说,如果 a 和 b 是常数,则 cor(aX + b, Y) = cor(X, Y)。因此,X 和 Y 之间的范围差异并不重要。请记住,尽管这种相关性仅衡量线性相关性:它们可能是“相关的”,但相关性较低。如果关系是非线性的,就会发生这种情况,例如:

set.seed(100)
x <- rnorm(100)
y <- x^2
cor(x,y)
# 0.1224623
于 2012-08-24T21:24:27.443 回答
2

如果您正在寻找两组数据之间的相关性,相关性的大小并不取决于数据集范围的差异。

例如,我们可以创建一组随机y值,​​然后按比例放大它们。相关性仍为 1:

> y <- rnorm(100)
> y2 <- y*2 + 20
> cor(y, y2)
[1] 1

为了进一步表明相关量与尺度的线性变化无关,请查看不相关数据的情况:

> y3 = rnorm(100)
> cor(y, y3)
[1] -0.05293818
> y4 <- y3*2 + 20
> cor(y, y4)
[1] -0.05293818

所以,回答你的问题。我认为该功能cor应该仍然适合您。

于 2012-08-24T20:43:42.477 回答
0

我不认为相关性不应该取决于数据的绝对范围。只需将一个数据集乘以一个常数,使其具有与另一个相同的范围?

于 2012-08-24T20:44:28.403 回答