Excel给出了奇怪的R平方计算?

这真的很奇怪。 我用Excel以两种不同的方式计算R ^ 2值,结果差异很大。 为什么?

1)首先,我使用Excel通过graphics进行线性回归,并使用“添加趋势线…”的右键function来指定截距= 0.R平方值显示-3.253。 回归方程是Y = -0.1321 * X

2)然后我使用Excel通过LINEST函数进行线性回归。 我突出显示5×2行,在左上方的单元格中,input“= LINEST([Y vector]; [X vector],FALSE,TRUE)False表示截距为0,True表示Excel应打印额外的回归统计然后按CTRL + SHIFT + Enter,这会显示出更多的统计数据,例如第三个左边单元格中的R ^ 2值,结果为0.11166,回归方程为Y = -0.1321 * X

我的问题是 用图表计算R ^ 2,我做错了什么? Python和statsmodels.api确认R ^ 2是0.11166,回归方程是Y = -0.1321 * X.

Y = 0.0291970802919708 0.141801551718973 0.145668034655723 0.0691229530946433 0.0431577486597426 0.133618351873374 X = -0.35551988 -0.20577599 0.10780785 -0.25028796 -0.42762184 0.02442197 

你的计算是正确的。 当截距为0时,散点图不会返回正确的R ^ 2。这是R ^ 2的公式

R ^ 2公式

哪里

SStot公式

如果使用标准回归模型,则使用y的平均值作为y̅。 但是当你认为截距等于0时,你需要将y设置为零。 如果使用y的平均值而不是零,则得到R ^ 2 = -3.252767。

你可以在这里看到计算。 SStot错误列使用y的平均值作为y̅。 那么R ^ 2值等于-3.252767。 如果你使用0(正如我在SStot右列),那么你得到0.111。

在这里输入图像说明

这是微软在这里描述的一个老bug: https : //support.microsoft.com/en-us/help/829249/you-will-receive-an-incorrect-r-squared-value-in-the-chart- tool-in-excel-2003您需要使用LINEST函数来获得正确的R ^ 2值。