Régression d'ordre 2 avec Apache Commons Math
Bonjour,
Je cherche à faire une régression polynomiale d'ordre 2 avec la bibliothèque Apache.Commons.Math.
A titre d'exemple, le code suivant (adapté de http://commons.apache.org/proper/com...e/fitting.html) devrait logiquement aboutir à cette équation:
y = 39.79 x2 - 497.66 x + 997.45
Code:
1 2 3 4 5 6 7 8
| 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);// 1.0 = le poids de chaque donnee. La doc precise de mettre 1.0 si on ne dispose pas de l'info
}
final PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);
final double[] coeff = fitter.fit(obs.toList());
System.out.println("coef="+Arrays.toString(coeff)); |
Or, il n'en est rien puisqu'il me donne les coefficients suivants:
Code:
coef=[-53.73522460839947, -52.22329678670934, -52.22329678670934]
J'apprécierais toute aide me permettant d'utiliser correctement cette belle bibliothèque ...
Merci d'avance
Dominique