Regression lineaire et moindre carré [Résolu]

befa71380 5 Messages postés lundi 18 juin 2007Date d'inscription 5 juillet 2007 Dernière intervention - 27 juin 2007 à 18:33 - Dernière réponse : befa71380 5 Messages postés lundi 18 juin 2007Date d'inscription 5 juillet 2007 Dernière intervention
- 5 juil. 2007 à 19:08
Bonjour a tous.J'ai un problème.
Je dois linéariser un nuage de point avec un polynome de degre 7.
J'ai trouvé dans un bibliothèque un livre "Numerical Recipes..."ou tout est décrit, mais le problème c'est la méthode des moindres carrés, je ne vois pas comment mettre en forme mes données pour que ça marche...
En fait je fais 5 mesures de 24 points, comment placer tous mes points pour effectuer un regression linéaire ...
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_JCDjcd 1138 Messages postés mardi 10 juin 2003Date d'inscription 25 janvier 2009 Dernière intervention - 5 juil. 2007 à 17:23
3
Merci
Mon programme est 100% en C, et surtout pas en C++ et encore moins en JavaScript !!!

Pourquoi faire simple quand on peut faire compliqué ?

Merci cs_JCDjcd 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_JCDjcd
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 28 juin 2007 à 10:44
0
Merci
Salut,

Les 24 points de tes 5 mesures se ressemblent ?

Genre :
1,2,3,4,5, ...
1,1,3,5,5, ...
1,2,2,3,6, ...
1,2,3,5,5, ...
1,1,2,5,5, ...

Si oui, tu peux peut être faire une moyenne pour 24 points et linéariser ensuite...
Commenter la réponse de cs_rt15
befa71380 5 Messages postés lundi 18 juin 2007Date d'inscription 5 juillet 2007 Dernière intervention - 28 juin 2007 à 15:57
0
Merci
J'ai pensé à cette solution mais le but c'est d'utiliser la méthode des moindres carrés...(car bcp de mesures)
En fait le problème c'est que je doit trouver 16 inconnues mais pour 2 polynomes de degre 7 de variables différentes:
cad:
Ln(A/B)=sum(a[i]A^i)+sum(b[i]B^i) avec i  de 0 a 7.
C'est surtout ça la difficulté.
J'ai pensé a un moyen en 4étapes
étape1:
     On fait une pseudo évaluation des a[i]:
          on pose: Ln(A/B)-(A-B)=sum(a[i]A^i);
       Ainsi je trouve des a[i] non definitifs
étape 2:
    on cherche les b[i]:
    on pose: Ln(A/B)-sum(a[i]A^i)=sum(b[i]B^i);
    Ainsi je trouve des b[i] non définitifs
étape 3:
    on cherche les nouveaux a[i]:

    on pose: Ln(A/B)-sum(b[i]B^i)=sum(a[i]A^i);

    Ainsi je trouve des a[i] non définitifs mais plus précis
étapes 4:
    on test la validité des a[i] et des b[i] trouvés en faisant
        Ln(A/B)-sum(b[i]B^i)-sum(a[i]A^i)
    si >seuil a définir on retourne en étape 2 on recherche de nouveaux b[i] puis a[i] ...etc...
    si <seuil les coefficients sont satisfaisants et notre linéarisation avec moindres carrés est finie

J'ai pas fini de coder cette solution.
---Je cherche un moyen pour optimiser la premiere étape en changeant
                            Ln(A/B)-(A-B)=sum(a[i]A^i) en Ln(A/B)-F(A,B)=sum(a[i]A^i); avec F(A,B) qui va bien.
--Je ne sais pas non plus si cet algo va converger et quel seuil définir (j'avais pensé a la différence entre une moyenne des mesures et le polynome trouvé...)

Si vous avez une idée...Merci
Commenter la réponse de befa71380
cs_JCDjcd 1138 Messages postés mardi 10 juin 2003Date d'inscription 25 janvier 2009 Dernière intervention - 30 juin 2007 à 08:19
0
Merci
Pourquoi faire simple quand on peut faire compliqué ?
Commenter la réponse de cs_JCDjcd
cs_JCDjcd 1138 Messages postés mardi 10 juin 2003Date d'inscription 25 janvier 2009 Dernière intervention - 30 juin 2007 à 08:20
0
Merci
bon il y a eu un petit probleme :
http://www.cppfrance.com/codes/REGRESSIONS-LINEAIRES-EXPONENTIELLES-CUBIQUES_36079.aspx

Pourquoi faire simple quand on peut faire compliqué ?
Commenter la réponse de cs_JCDjcd
befa71380 5 Messages postés lundi 18 juin 2007Date d'inscription 5 juillet 2007 Dernière intervention - 1 juil. 2007 à 20:25
0
Merci
ouai, mais moi je voulais du C en fait pas du C++Javascript:Insert_Emoticon('/imgs2/smile_sad.gif');.J'avais vu le topic et j'avais téléchargé la source. Merci quand même...
Commenter la réponse de befa71380
befa71380 5 Messages postés lundi 18 juin 2007Date d'inscription 5 juillet 2007 Dernière intervention - 5 juil. 2007 à 19:08
0
Merci
desolé, j'ai confondu avec un autre truc que j'avais trouvé...
En fait j'ai fait un code avec la définition que j'ai trouvé sur wiki. Ca marche trop bien et pour mon problème de plusieurs variables c'est réglé aussi.
En fait j'ai fait comme si je cherchais 15 paramètres et et j'ai arrangé la matrice J (cf la dèf sur wiki http://fr.wikipedia.org/wiki/Méthode_des_moindres_carrés ) pour que les 8 premiers paramètres ne fasse référence que a la premiere variable et les suivant a l'autre. Voili voilou merci a tous pour vos idée, ca ma bien inspiré
Commenter la réponse de befa71380

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.