【问题标题】:How to calculate R-square value for the exponential and power trendline types如何计算指数和幂趋势线类型的 R 平方值
【发布时间】:2021-10-03 12:06:03
【问题描述】:

尝试使用以下公式计算指数和幂趋势线类型的 R 平方值。

   R² = ∑(ȳ - ŷ)² / ∑(y - ȳ)²

这里 ȳ 是 y 的平均值,ŷ 是回归方程,这里 ŷ 为 指数是y = ae^xb,功率是y = ax^b 这里 a = 截距,b = 斜率。

我已经实现了以下代码sn-p逻辑来实现R平方值

  List<int> xValue = <int>[1,2,3,4,5];
List<int> yValue = <int>[2,4,5,4,5];
int sumOfX = 0,sumOfY = 0,sumOfXY = 0, sumOfXSquare = 0, sumOfYSquare = 0;
double slope = 0.5204, intercept = 2.3133;
for(int i = 0; i < xValue.length; i++){
    sumOfX += xValue[i];
    sumOfY += yValue[i];
    sumOfXY += xValue[i] * yValue[i];
    sumOfXSquare += math.pow(xValue[i], 2).toInt();
    sumOfYSquare += math.pow(yValue[i], 2).toInt();
 }
double yMean = sumOfY/yValue.length;
// value of ∑(y - ȳ)²
double ssTol = 0;
for(int j = 0; j < yValue.length; j++){
  ssTol += math.pow((yValue[j] - yMean),2);
 }
// value of ∑(ȳ - ŷ)²
double ssReg = 0;
for(int k = 0; k < yValue.length; k++){
  ssReg += math.pow(((intercept * math.pow(xValue[k], slope)) -yMean), 2).toDouble();
 }
print(ssReg/ssTol);
          

我想要如下所示的 R 平方值。

谁能帮帮我?

【问题讨论】:

  • 如果您为您使用的 code-sn-p 语言添加标签,您可能会获得更多帮助。

标签: excel regression linear-regression spreadsheet trendline


【解决方案1】:

您可以按照Bas Verlaat建议的方法从图表中提取R2

如果你想自己计算,你可以使用以下公式之一(但与图表中提供的有区别)

=CORREL(A2:A6,C2:C6)^2
=RSQ(A2:A6,C2:C6)

【讨论】:

  • 嗨@idfurw 这很好,但我需要数学步骤来实现 R 平方计算。
【解决方案2】:

Rsq 的正确公式是 此外,在最新版本的 Excel 中,数据集的 Rsquared 是 .7704 而不是 .6782。

此外,Rsquared 仅对线性回归模型有效。见Cross Validated Explanation

但是,功率方程可以转换为线性方程。幂回归模型的形式为 ...

y=axB

取双方的日志

ln(y) = ln(a) + b*ln(x)

这个模型现在可以用线性回归拟合。您可能认为 ln(x) 部分会使线性回归不合适,但是,线性回归意味着它在参数上是线性的。 See this link for more information

使用这种形式,现在可以用线性回归拟合回归线,并使用 R 平方的方程。

首先记录 x 和 y 的对数。

将线性模型拟合到新数据集。注意 Rsq 和上面一样是 .7704。

回想一下,我们的功率模型采用 y=axB

的形式

B = .5204(线性模型中 X 的系数)

原因:我们记录了 xB 的日志,结果为 B*ln(X)。

a = e.8387 = 2.3133

原因:我们获取了 a 的日志,结果为 ln(a)。 ln(a) = .8387。为了得到“a”,我们计算 eln(a) = a.

最后,按照上面的公式,计算 Rsq。以下是一些用于检查您的代码的中间结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2011-02-15
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多