Regression polynomiale par les moindres carrés VB express 2008

dantore Messages postés 4 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 16 février 2009 - 13 févr. 2009 à 16:30
dantore Messages postés 4 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 16 février 2009 - 16 févr. 2009 à 11:08
Bonjour,

Je cherche une fonction qui puisse m'effectuer une regression polynomial par les moindres carré en VB 2008 ...
J'en ai trouvé pour VB6 ( )mais http://www.vbfrance.com/codes/REGRESSION-NON-LINEAIRE-POLYNOMIALE-METHODE-MOINDRES-CARRES_44215.aspx )mais j'ai l'impression que le langage diffère vraiment et je n'arrive pas a le reutiliser sous VB 2008....

Donc voilà...Si quelqu'un à une solution je suis preneur !!!

Merci à toute la communauté en tous cas, j'utilise souvent vos sources de grande qualité

2 réponses

marinmarais Messages postés 106 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 1
16 févr. 2009 à 10:07
Salut dantore,

Est-ce que tu es familier de la methode des moindres carres et notamment des calculs matriciels qu'elle induit ?
Si oui, tu verras que ce n'est pas si dur a programmer, si ce n'est l'inversion de la matrice normale (mais des codes d'inversion de matrices efficaces, ce n'est pas ce qui manque).

Par contre, si tu n'es jamais rentre dans les equations, ca va etre chaud de trouver un code tout cuit je pense.

Le code que tu as trouve (je n'arrive d'ailleurs pas a ouvrir le lien) est un code de regression non-lineaire polynomial du genre (j'imagine d'apres son nom) :
Je cherche a determiner, connaissant y, une valeur ajustee de x telle que y = sin(x).
Cette equation n'est pas linaire. On peut neanmoins en faire un developpement limite : y ~ x quand x est proche de 0. Mais, il faudra faire plusieurs iterations pour obtenir une valeur ajustee satisfaisante de l'angle x. Bref on fait un ajustement d'une equation non lineaire grace a une approximation polynomiale.

Quand tu cherches a faire un ajustement polynomial linaire, c'est le cas suivant :
y = a0 + a1*x + a2*x^2 + ...
Tu connais y et x, tu cherches les ai. C'est un polynome de degre i, mais ce systeme est lineaire (car les parametres ai a ajuster sont au degre 1). Tu n'as pas besoin d'iteration.

Bref, pour qu'on puisse t'aider, il faudrait, selon moi, que tu precises ton niveau de maitrise de la methode des moindres carres, le type precis d'ajustement que tu souhaites effectuer et apres, on devrait pouvoir trouver en code existant proche de ce que tu recherches.

A+,
Tom.

Marin Marais
0
dantore Messages postés 4 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 16 février 2009
16 févr. 2009 à 11:08
Bonjour,

Avant tout merci pour ta réponse !
Alors normalement, je maitrise le coté maths et c'est vrai que le coté plus délicat réside dans l'inversion de matrice...

Lorsque j'ai posté ce message je cherchais une source déjà toute faite...mais après avoir chercher à peu près partout j'ai rien trouvé en VB2008...
Donc je me suis résigné à le programmer, chose que j'ai fait en polynôme de degré 2 maxi ( car la formule toute faite d'inversion de matrice était présente sur wiki !!!!) mais pour inverser des matrices de taille quelconque.... je me souviens plus de mes cours dsl!

Pourquoi il y a t-il autant de différence entre VB6 et VB2008... : une source VB6 ne passe pas en 2008 --> c'est idiot nan?

++
Rom
0