首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单变量最小二乘回归中,多重R平方和调整后的R平方之间的区别是什么?

在单变量最小二乘回归中,多重R平方和调整后的R平方之间的区别是什么?
EN

Stack Overflow用户
提问于 2010-05-20 10:17:40
回答 4查看 136.8K关注 0票数 40

谁能向那些统计上幼稚的人解释一下Multiple R-squaredAdjusted R-squared之间的区别?我正在进行单变量回归分析,如下所示:

代码语言:javascript
复制
 v.lm <- lm(epm ~ n_days, data=v)
 print(summary(v.lm))

结果:

代码语言:javascript
复制
Call:
lm(formula = epm ~ n_days, data = v)

Residuals:
    Min      1Q  Median      3Q     Max 
-693.59 -325.79   53.34  302.46  964.95 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2550.39      92.15  27.677   <2e-16 ***
n_days        -13.12       5.39  -2.433   0.0216 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 410.1 on 28 degrees of freedom
Multiple R-squared: 0.1746,     Adjusted R-squared: 0.1451 
F-statistic: 5.921 on 1 and 28 DF,  p-value: 0.0216 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-20 11:09:20

调整后的R平方中的“调整”与变量的数量和观察值的数量有关。

如果你一直在你的模型中添加变量(预测因子),R平方就会改善--也就是说,预测因子似乎可以解释方差--但这种改善中的一些可能仅仅是偶然的。因此,调整后的R平方试图通过考虑比率(N-1)/(N-k-1)来纠正这一点,其中N=观察值的数量,k=变量(预测值)的数量。

在你的情况下,这可能不是一个问题,因为你只有一个变量。

一些参考资料:

  1. How high, R-squared?
  2. Goodness of fit statistics
  3. Multiple regression
  4. Re: What is "Adjusted R^2" in Multiple Regression
票数 61
EN

Stack Overflow用户

发布于 2010-05-20 11:16:22

R平方不依赖于模型中的变量数量。调整后的R平方是。

调整后的R平方增加了向模型添加变量的惩罚,这些变量与您试图解释的变量不相关。您可以使用它来测试变量是否与您试图解释的内容相关。

调整后的R平方是添加了一些分割的R平方,以使其依赖于模型中的变量数量。

票数 8
EN

Stack Overflow用户

发布于 2010-05-20 14:53:35

调整后的R平方接近于R2的值,但与之不同。它不是基于解释的平方和SSR和总平方和SSY,而是基于总体方差(我们通常不计算的量),s2T = SSY/(n - 1)和误差方差MSE (来自ANOVA表),并且计算如下:调整后的R平方= (s2T - MSE) / s2T。

这种方法为判断由于添加了解释变量而提高拟合程度提供了更好的基础,但它没有R2所具有的简单汇总解释。

如果我没有弄错,您应该验证调整后的R平方和R平方的值,如下所示:

代码语言:javascript
复制
s2T <- sum(anova(v.lm)[[2]]) / sum(anova(v.lm)[[1]])
MSE <- anova(v.lm)[[3]][2]
adj.R2 <- (s2T - MSE) / s2T

另一方面,R2是: SSR/ SSY,其中SSR =SSY- SSE

代码语言:javascript
复制
attach(v)
SSE <- deviance(v.lm) # or SSE <- sum((epm - predict(v.lm,list(n_days)))^2)
SSY <- deviance(lm(epm ~ 1)) # or SSY <- sum((epm-mean(epm))^2)
SSR <- (SSY - SSE) # or SSR <- sum((predict(v.lm,list(n_days)) - mean(epm))^2)
R2 <- SSR / SSY 
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2870631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档