从手动改变 beta 系数的线性回归估计 R2

Estimating R2 from a linear regression manually changing beta coefficient

我想知道是否有办法建立线性回归模型并手动更改 beta 系数并估计此更改后的 R2。

简单示例:

a <- c(2000 ,   2001  ,  2002  ,  2003 ,   2004)
b <- c(9.34 ,   8.50  ,  7.62  ,  6.93  ,  6.60)
c <- c(10.5 ,   12.8  ,  13.1  ,  14.4  ,  15.9)

fit=lm(a~b+c)
fit$coefficients
(Intercept)            b            c 
2005.1537642   -0.8948095    0.2866537 
summary(fit)$r.squared
[1] 0.9862912

我想知道如果我对我的变量 "b" 和 "c".

使用不同的 beta,这个模型的 R2 是多少

您可以通过计算结果与其预测值之间的样本相关系数的平方来计算确定系数:

cor(a, -0.8948095 * b + 0.2866537 * c) ** 2
## [1] 0.9862912

只需将线性模型中的系数替换为您要测试的系数即可。