考虑到X1的方差,X2的方差和X1和X2之间的协方差,是否有办法使用R(非手动)计算U = 2X1-X2和V = X1 + 2X2的相关性?
答案 0 :(得分:3)
两个随机变量的协方差矩阵是2x2对称矩阵,其对角线是两个分量的方差,其非对角线元素是协方差。也就是说,如果X1和X2的方差是v1和v2以及协方差v12,那么X的协方差矩阵将是matrix(c(v1, v12, v12, v2), 2)
。我们可以通过cov(d)
容易地形成协方差矩阵,其中d
是两列数据矩阵。具体来说,让我们形成内置两列数据框BOD
的协方差矩阵。然后我们可以使用下面的公式来获得变换的协方差矩阵,并使用cov2cor
来获得相关矩阵。相关矩阵的上部(并且还通过对称性,下部)对角线元素将是期望的相关性。没有包使用。
# inputs: covariance matrix V and transformation matrix M
V <- cov(BOD)
M <- matrix(c(2, 1, -1, 2), 2)
cov2cor(M %*% V %*% t(M))[1, 2]
## [1] -0.3023
使用BOD
仔细检查转化M
,然后计算其相关性。我们看到结果是一样的。
cor(as.matrix(BOD) %*% t(M))[1, 2]
## [1] -0.3023