Bonjour à toutes et à tous,
Je ne sais pas si le titre du topic est suffisament significatif du sujet, mais je ne pense pas trouver mieux.
Donc voilà, j'utilise une fonction ym que j'ajuste à un ensemble de points (données 2D(x,y)) par l'algorithme de Levenberg-Marquardt. Cette équation introduit des contraintes de manière à ce que l'algorithme me fournisse une forme exponentielle bien particulière suivant la tendance évolutive globale des données (croissante / décroissante).
L'équation pourrait s'écrire de manière simplifiée par :
ym = (y(di)-y(df))/abs(y(di)-y(df)) . exp(a) . exp(bx)
ou y(di) (=f(di) :donnée initiale) et df (=f(df) : donnée finale)
(di-df)/abs(di-df) donne +-1 qui correspond au sens de mon expo (croissante, décroissante : en fait +-a.exp(bx) pour éviter une asymptote en +-Inf sur y).
J'uilisais jusqu'a présent l'équation suivante :
ym = (di-df).exp(a).exp(bx)
qui donne de meilleur résultats mais dont je suis un peu moins à l'aise pour l'expliquer : le signe reste l'indicateur de la tendance globale, mais j'imagine que (di-df) est plus proche de la solution ce qui fait que l'algorithme converge plus souvent sur l'ensemble des tirages d'ou les meilleurs résultats ?
D'ou mes questions :
-Dites moi si je me trompe mais dans ym = +-delta.exp(a).exp(bx), a est un indicateur de translation suivant x (axe abscisses) ?
-Comment "précalculer" une valeur approchée de a (pas de regression linéaire si possible) pour donner un bon point de départ a l'algo LM ?
j'espère que je vous ait pas trop embrouillés ?
merci!
Gian
Partager