回归和相关性R2R2

机器算法验证 回归 相关性 多重回归 r平方
2022-04-12 06:41:04

的平方根但这只是一个简单的(即单变量)回归R2Y=β0+β1X+ε

多元回归怎么样,例如和回归之间是否存在任何关系Y=β0+β1X1+β2X2+εcorr(Y,X1)corr(Y,X2)R2

3个回答

对于两个预测变量,很容易以代数形式写出方程:

R2=rx1,y2+rx2,y22rx1,yrx2,yrx1,x21rx1,x22

正如@gung 所指出的,您还需要知道之间的相关性。x1x2

编辑:只是一个简单的例子(在 R 中)来说明这个等式:

set.seed(12873)

x1 <- rnorm(20)
x2 <- .1*x1 + rnorm(20)
y  <- .8*x1 + .2*x2 + rnorm(20)

summary(lm(y ~ x1 + x2))$r.square
(cor(x1,y)^2 + cor(x2,y)^2 - 2*cor(x1,y)*cor(x2,y)*cor(x1,x2))/(1-cor(x1,x2)^2)

给出完全相同的答案0.2928677

我确定有,但我不知道。此外,它会相当复杂,因为您还必须考虑协变量之间的相关性。也就是说,您也需要生成的公式需要用矩阵表示法表示,以使其适合一行并能够解释任意数量的协变量,但这也可能使其对大多数人来说更加不透明,除非他们非常熟悉矩阵表示法. corr(X1,X2)

我可以说的一件简单的事情是,您的回归模型将产生一个预测值向量假设您的模型具有截距,这些值与观察值之间的相关性的平方根,无论您有多少协变量。 y^corr(y^,y)R2

如果您计算一组变量的相关矩阵的逆矩阵,然后用一个减去对角线元素的倒数 ( ),则结果与值作为响应变量,所有其他值作为预测变量。11riiR2

> summary(lm( Sepal.Length ~ .-Species, data=iris ))$r.squared
    [1] 0.8586117
    > summary(lm( Sepal.Width ~ .-Species, data=iris ))$r.squared
[1] 0.5240071
> summary(lm( Petal.Length ~ .-Species, data=iris ))$r.squared
    [1] 0.9680118
    > summary(lm( Petal.Width ~ .-Species, data=iris ))$r.squared
[1] 0.9378503
> 1-1/diag(solve(cor(iris[,-5])))
Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
   0.8586117    0.5240071    0.9680118    0.9378503