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
Or, il n'en est rien puisqu'il me donne les coefficients suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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));
J'apprécierais toute aide me permettant d'utiliser correctement cette belle bibliothèque ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part coef=[-53.73522460839947, -52.22329678670934, -52.22329678670934]
Merci d'avance
Dominique
Partager