Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 15-11-2009 19:56:14
- Pauline
- Banni(e)
Méthode des moindres carrés
Bonsoir
Je cherche à écrire une procédure permettant par la méthode des moindres carrés de déterminer les paramètres (a,b,c) tels que y(x)= ax+bexp(-cx) approxime une série de valeurs de x et y. Je ne comprends pas comment je peux linéariser le problème. On nous suggère de fixer c mais je ne comprends pas bien en quoi cela linéarise le problème.
Merci d'avance de votre aide
#2 16-11-2009 09:58:49
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Méthode des moindres carrés
Bonjour,
en fait, tu n'arriveras pas à linéariser. Par contre, tu vas fixer le paramètre 'c' et trouver a et b par les "moindres carrés" en fonction de "c".
L'expression devient y=ax+bC**(-x), avec ** = opérateur puissance.
Puis tu vas faire varier le paramètre "c" pour trouver le minimum minimorum, te donnant ainsi a*, b* et c* par les moindres carrés. Comme on te demande d'écrire une procédure, a priori, ta mission est remplie.
Tu es en MASS, en IMIS, ISUP ou en quelle année de quoi ? Ta réponse me permettrait de mieux t'orienter, car j'ai un vague souvenir de cette forme d'équation à ajuster (Mackeham ???).
Bb
Hors ligne
#3 16-11-2009 19:54:54
- Pauline
- Banni(e)
Re : Méthode des moindres carrés
Bonsoir,
Merci de votre aide, pour répondre à votre question je suis en première année d'école d'ingénieur. Je vais essayer d'appliquer les moindres carrés avec l'indication sur la nouvelle expression de la fonction en espérant que le fait que ça ne soit pas un polynome ne me pose pas de pb (parce que jusqu'à présent on ne l'a appliquée que sur des polynomes de degré un ou deux, alors écrire un programme en C sur un truc qui n'est même pas un polynome c'est pas vraiment la joie)
#4 16-11-2009 20:11:57
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Méthode des moindres carrés
Re,
si tu fais une recherche sur des techniques de régressions non linéaires sur la Toile, tu vas trouver pas mal de "paper" théoriques intéressants. Les moindres carrés linéaires donnent lieux à de nbreux développement en statistques mathématiques, mais ce n'est pas ton pb ici.
En fait, j'ai bien compris que tu devais développer une proc. qui permet de déterminer les trois paramètres de l'équationd 'une courbe avecdont l'allure est donnée selon la méthodes des MCO.
C'est en fait un programme en C de minimisation d'une "forme quadratique" sans contrainte.
Si j'ai une bonne idée, je reviens la poster.
Bon courage,
Bb
Hors ligne
#5 16-11-2009 20:24:59
- Pauline
- Banni(e)
Re : Méthode des moindres carrés
Hum, la mise en forme matricielle n'est pas si évidente que ça, à cause du terme c puissance moins xi. On doit dériver par rapport aux constantes, mais est ce que je dérive aussi par rapport à c ? si oui comment suis je sensée gérer le signe de xi ?
#6 16-11-2009 23:35:13
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Méthode des moindres carrés
Salut Pauline,
pourquoi veux tu faire des dérivées alors que tu as à ta disposition une "bête" de calcul qui peut "computer" autant de fois que tu veux ? ...
Laisse tomber la matrice mais calcule la forme Q(a,b;c) tq :
[tex]Q(a,b;c) = \sum_i (y_i - y(x_i))^2[/tex]
en balayant a et b entre deux valeurs que tu peux chercher en mettant une règle de gestion simple (dichotomie ou autre ...), en ayant fixé c. Selon la puissance de calcul de ton UC, tu peux prendre un pas homogène à tes données.
Si la forme a une allure régulière par rapport à c, tes boucles do devraient te permettre de trouver le triplet idéal.
Mon seul pb pour l'heure est de trouver le moyen d'être sûr que le minimum est bien global, et pas local.
A plus, je continue à chercher un peu. Si qqu'un d'autre peut contribuer, he's welcome !
Hors ligne
#7 17-11-2009 05:26:27
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : Méthode des moindres carrés
Re,
voilà ce que j'ai trouvé sur la Toile :
http://fr.wikipedia.org/wiki/M%C3%A9tho … arr%C3%A9s
ainsi que plus particulièrement :
http://fr.wikipedia.org/wiki/Moindres_c … C3%A9aires
J'ai le sentiment que le problème auquel tu te confrontes est de taille non négligeable.
Très bon courage.
Hors ligne
#8 21-11-2009 15:30:39
- JJ
- Membre
- Inscription : 04-06-2007
- Messages : 110
Re : Méthode des moindres carrés
Bonjour Pauline,
Si j'ai bien compris, tu cherches à calculer les valeurs optimum des coefficients a, b et c de la fonction :
y=ax+b(c**(-x))
de telle sorte que la courbe représentative de cette fonction approche "au plus près" un ensemble de points donnés.
(avec la notation que tu as définie pour les puissances)
Il s'agit d'un problème difficile si on ne connait pas la valeur de c.
Par contre, si on connait c (ou si on se donne à priori une valeur probable de c ), il ne reste q'à calculer les coefficients a et b qui apparaissent linéairement dans la fonction.
Dans ce cas simple, il s'agit donc d'effectuer une régression linéaire, telle qu'on trouve la méthode dans tous les livres de statistiques.
Un résumé d'une méthode est présenté dans le paragraphe 5 de l'article suivant, accessible par le lien:
http://www.scribd.com/people/documents/ … jjacquelin
Dans la liste, sélectionner l'article: "Régressions coniques, quadriques, ..."
Dans ton cas, on peut encore faire plus simple en posant :
Y = y/x
X = (c**(-x))/x
(ne pas confondre les valeurs en majuscule avec celles en minuscule)
On remplace donc la liste donnée des (x,y) par la liste des (X,Y) que l'on calcule .
La relation linéaire s'écrit alors Y = a + b X
La régression linéaire à faire est alors classique pour calculer a et b.
(par exemple, les formules sont rappelées au paragraphe 3.1 de l'article indiqué ci-dessus.
Bien entendu, ceci suppose que l'on s'est donné une valeur de c. Si on n'est pas sûr de cette valeur, on recommence avec d'autres valeurs de c jusqu'à obtenir un résultat satisfaissant (une meilleure approche de la courbe calculée par rapport aux points donnés).
Plus compliqué : comment faire pour optimiser simultanément a, b et c lorsque l'on ne se fixe pas c à-priori ?
Il existe des méthodes de régressions non-linéaires plus ou moins compliqués (plutôt plus que moins !) décrites dans la litérature. Très généralement, elles font intervenir un processus de calcul par récurence ou par approximations successives.
Une méthode plus directe est décrite dans l'article "Régressions et équations intégrales" par le lien indiqué ci-dessus. Néanmoins, les exemples qui sont traités dans cet article pages 16 et 17 demanderaient une certaine adaptation préalable pour bien correspondre à la forme de fonction considérée dans le cas présent.
Hors ligne
#9 21-11-2009 19:05:07
- JJ
- Membre
- Inscription : 04-06-2007
- Messages : 110
Re : Méthode des moindres carrés
Je m'aperçois que je n'ai pas pris la bonne fonction (par confusion avec celle écrite dans la réponse de freddy)
La fonction est : y(x)= ax+bexp(-cx)
Tout ce qui a été écrit reste valable, mais avec bien évidemment :
Y = y/x
X = exp(-cx)/x
Hors ligne
Pages : 1







