【发布时间】: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