gpt4 book ai didi

java - 使用 Apache Maths (Java) 进行多项式回归

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:44:24 27 4
gpt4 key购买 nike

谁能帮我用 Apache 数学库做一个多项式回归(2 阶)。

以下数据应给出此等式:39.79 x^2 - 497.66 x + 997.45(用Excel计算,r2 = 0.9998)

// coding style from http://commons.apache.org/proper/commons-math/userguide/fitting.html    

double[] y = { 540.0, 160.0, -140.0, -360.0, -480.0, -560.0, -540.0, -440.0, -260.0, 0.0, 340.0};
final WeightedObservedPoints obs = new WeightedObservedPoints();
for (double figure:y){
obs.add(1.0, figure);
}
final PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);
final double[] coeff = fitter.fit(obs.toList());
System.out.println("coef="+Arrays.toString(coeff));

这里是前面代码提供的回归系数:

coef=[-53.73522460839947, -52.22329678670934, -52.22329678670934]

显然,我缺少一些东西......

感谢您的帮助

主场

最佳答案

您所有的数据点都在 x = 1 处。

obs.add(1.0, figure);!!!!

应该有 x 值而不是 1.0,如果它们与零间隔均匀而不是使用 for 循环和 ix 而不是 1.0。

关于java - 使用 Apache Maths (Java) 进行多项式回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563361/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com