Bonjour à tous,
quelqu'un pourrait il me donner l'algorithme (et non le code!) des moindres carrés non linéaires?
Merci!
Bonjour à tous,
quelqu'un pourrait il me donner l'algorithme (et non le code!) des moindres carrés non linéaires?
Merci!
inconnu au bataillon...
Les moindres carres est une methode d'approximation. Que ce soit d'un probleme lineaire ou non lineaire, c'est a toi de le savoir.
Si tu as une fonction non-lineaire dont tu connais les membres, tu peux faire un moindre carres sur les coefficients.
Cette methode signifie simplement qu'elle symetrise les erreurs (en gros elle prend la moyenne) sur les coefficients, c'est tout...
Il y a plusieur méthodes. La plus simple c'est de faire des itérations pour se rapprocher de la solution en partant du principe que le système est localement linéaire.
Cas Linéaire:
-------------
Ei = Yi-A.Xi
Solution A = Argmin{ somme(Ei²) }
Cas Non Linéaire:
-----------------
Ei = Yi-F(A,Xi)
Solution A = Argmin{ somme(Ei²) }
on calcule:
d(somme(Ei²))/dA = -2.somme(Ei).dF(A,Xi)/dA
on considere que si A est solution alors dEi²/dA = 0
=> -2.somme(Ei).dF(A,Xi)/dA = 0
=> somme(Ei).dF(A,Xi)/dA = 0
que l'on considere comme un système linéraire par rapport a dA.
On peut resumer l'algo comme cela:
1. On utilise les moindes carrés linéaires pour résoudre:
F'i = somme(Ei).dF(A,Xi)/dA
dA = Argmin{ somme(Fi²) }
avec Ei = Yi-F(A,Xi)
2. On ajoute dA à A
A=A+dA
3. On recalcule Ei et F'i, puis retour à l'étape 1 jusqu'a convergence.
La solution obtenue par la méthode des moindres carrés, qu'elle s'applique à un modèle linéaire ou non-linéaire, peut-être obtenue en prenant un modèle probabiliste sur les données et en maximisant la vraisemblance (ML : Maximum Likelihood). Un algorithme performant pour la ML est l'algorithme EM (http://fr.wikipedia.org/wiki/Algorit...e-maximisation)
Il y a des infos dans les "numerical recipes" mais attention, il y a du code;-)
http://www.nr.com/oldverswitcher.html
Salut !
Quel est le problème que tu voudras résoudre quand tu connaitras la méthode?
Jean-Marc Blanc
Bonjour à tous,
en fait, je me suis rendu compte que je ne maitrisais pas vraiment le sujet....
Lors d'une réunion, on m'a tout simplement demandé pourquoi j'utilisais la méthode des moindres carrés pour résoudre mon système linéaire, et pourquoi je considérais que j'avais un sytème linéaire... J'ai donc "naturellement" pensé à utiliser la méthode des moindres carrés non linéaires, dans le cas d'un système non linéaire... Cependant, je ne connais a priori pas la forme de mes équations. Je pense donc abandonner cette piste, puisque d'après vos réponses, que le système soit linéaire ou pas, la méthode des moindres carrés s'appliquent de la même façon.
Merci à tous.
Peut-être pourra tu alors regarder cette discussion
http://www.developpez.net/forums/sho...d.php?t=415634
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager