Java 简单回归-截距&;坡度计算误差

Java 简单回归-截距&;坡度计算误差,java,math,regression,apache-commons,linear-regression,Java,Math,Regression,Apache Commons,Linear Regression,我想实现ApacheCommons数学库中的模型 我已实施: //estimate alpha and beta parameters regression = new SimpleRegression(); for (int l = 0; l < xList.size(); l++) { regression.addData(Double.parseDouble(xList.get(l).replace(',', '.')), yList.get(l)); } //add al

我想实现ApacheCommons数学库中的模型

我已实施:

//estimate alpha and beta parameters
regression = new SimpleRegression();
for (int l = 0; l < xList.size(); l++) {
    regression.addData(Double.parseDouble(xList.get(l).replace(',', '.')), yList.get(l));
}

//add alpha
regression.getIntercept();

//add beta
regression.getSlope();

//add R^2
regression.getRSquare();

我欣赏每一个想法

相关系数很小:0.85%为0.0085。你不能真正相信从任何地方得到的斜率和截距,因为X和Y之间实际上没有相关性。

如其他问题所述,
R^2
的值并不决定
alfa
beta
系数的准确性。它只包含变量之间线性关系的信息。如果通过回归方程系数获得的有关此关系的信息对您仍然有意义,则取决于您的特殊需要
R^2
只能为0.5%,您可能仍然希望使用您的模型,因为例如,您声称这是一种长期关系。您得到的不正确结果只是计算的结果。Excel将点视为千分隔符(尽管可以更改)

谢谢你的回答!没错。但是,我的问题是
SimpleRegression类的输出。当与excel比较时,我得到了错误的值!知道我为什么要买吗?也请看我的更新!你说得对,这些斜率和截距定义的直线甚至没有穿过点云。我来看看源代码…@user2051347,我得到的斜率和截距接近0(9.930E-4和9.759E-4),所以计算的结果是正确的。看起来您忘记了包含小数点和10^-4因子。我从
SimpleRegression
得到的截距约为9.759E-4,或0.0009759,或0.09759%。如何获得结果?Excel必须将点视为千位分隔符,而不是十进制分隔符。
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
    <version>3.0</version>
</dependency>