使用Apache Maths(Java)

时间:2015-07-08 12:44:40

标签: java apache regression curve-fitting

我正在尝试使用Java中的PolynomialCurveFitter和Apache Maths来拟合具有2度多项式回归的曲线。这是我的代码:

final WeightedObservedPoints obs = new WeightedObservedPoints();
obs.add(1, 3400);
obs.add(3, 6000);
obs.add(8, 9600);
obs.add(10, 30000);

// Instantiate a third-degree polynomial fitter.
final PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);


// Retrieve fitted parameters (coefficients of the polynomial function).
final double[] coeff = fitter.fit(obs.toList());
//System.out.println(coeff);
System.out.println("coef="+Arrays.toString(coeff));

并且它工作正常,但我想拦截(0,0),即我在等式中的常数项为零:y = ax + bx ^ 2.

非常感谢你的帮助, 佛瑞德

1 个答案:

答案 0 :(得分:1)

您可以使用巨大的权重添加点(0,0),例如obs.add(10000,0,0)。 如果使用obs.add(0,0),则默认权重为1.