当仅知道三个相关系数时,有什么方法可以计算由两个因变量 y 和 z 解释的变量 x 的总解释方差吗?
假设有以下相关性(但不是原始数据):
xy = 0.71
xz = 0.25
yz = 0.33
那么 x 的总解释方差是多少?
我通过(半)偏相关的几种方法得到的值> 1。 有谁知道这种情况的公式吗?
提前非常感谢!
2,即 x 由 y 和 z 解释的总方差。 这是一篇解释这一点的文章,从中我得到了公式:你可以计算 R2 来自多元线性回归中的相关系数?
如果您熟悉 R,我编写了一些代码来验证您的特定示例:
# Correlations
xy <- 0.71
xz <- 0.25
yz <- 0.33
# Correlation of each predictor with dependent variable
r_pred_DV <- matrix(c(xy, xz), ncol = 1)
# Correlation between predictors
r_pred_pred <- matrix(c(1, yz, yz, 1), ncol = 2)
R_sq <- t(r_pred_DV) %*% solve(r_pred_pred) %*% r_pred_DV
# Same thing with example data:
library(faux) # for data simulation
set.seed(1234)
n <- 50
y <- rnorm(n)
z <- rnorm_pre(y, r = yz, empirical = TRUE)
x <- rnorm_pre(data.frame(y, z), r = c(xy, xz), empirical = TRUE)
data <- data.frame(y, z, x)
cor(data) # correlation matrix is the same
model <- lm(x ~ y + z, data = data)
summary(model)$r.squared # same as with formula