Choix d'une fonction pour fitter une courbe.
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
Feitan
- Messages: 2
- Enregistré le: 12 Mai 2015, 09:36
-
par Feitan » 12 Mai 2015, 12:54
Bonjour,
Je cherche une fonction pour fitter des courbes. Mes courbes sont dans le genre :
J'ai donc chercher plusieurs fonctions pour approximer ses courbes. J'ai essayé l'interpolation par spline mais le résultat est beaucoup trop proche des résultats expérimentaux et donc ça n'a pas d'intérêt.
J'ai pas vraiment envie de passer par une gaussienne parcequ'il y a cette notion de symétrie qui me dérange et que j'ai parfois deux voir trois bosses sur la courbe et donc ça m'obligerait à faire un découpage de mes points à la main (c'est vraiment la solution que j'utiliserais si je ne trouve pas mieux).
J'ai aussi essayer les polynômes de degré n en faisant varier n de 1 à 10 mais sans résultat non plus.
La méthode de la moyenne glissante donne une bonne allure de courbe mais le résultat est beaucoup trop sous-estimé.
Avez vous une idée de quelle fonction je pourrais utiliser ?
PS : j'utilise Scilab principalement
-
Ben314
- Le Ben
- Messages: 21709
- Enregistré le: 11 Nov 2009, 21:53
-
par Ben314 » 12 Mai 2015, 17:16
Salut,
Je ne connais absolument pas les méthodes mathématiques sous-jacentes, mais quand tu parle d'approximer par UNE gaussienne, tu as effectivement essayé avec une seule gaussienne ou avec la somme de plusieurs (pondérées et avec des moyennes/écart-types différents) ?
Je sais qu'avec la somme de plusieurs Gaussiennes , c'est du "classique", mais je l'ai jamais pratiqué, donc je sais pas quels sont les outils à employer : vu la tête de ta courbe, ça pourrait éventuellement être une piste...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
-
Skullkid
- Habitué(e)
- Messages: 3075
- Enregistré le: 08 Aoû 2007, 19:08
-
par Skullkid » 12 Mai 2015, 20:07
Bonjour, as-tu essayé l'approximation par splines au lieu de l'interpolation ? L'interpolation force la courbe à passer par tous tes points expérimentaux, ce qui n'est pas forcément désirable s'ils sont nombreux et très rapprochés.
Sinon, si tu veux imposer une forme fixe, la somme de gaussiennes m'a en effet l'air d'être adaptée. Mais tu risques d'avoir à mettre un peu les mains dans le cambouis, ce qui peut vite devenir pénible si tu as beaucoup de courbes à fitter. Déjà il va sans doute falloir prescrire le nombre de gaussiennes que tu veux utiliser à chaque fois. Ensuite, tous les algorithmes de moindres carrés non linéaires que je connais (j'en connais pas beaucoup cela dit) ont besoin qu'on leur fournisse une approximation de départ "pas trop mauvaise", donc il va falloir estimer à la louche les amplitude, moyenne et écart-type de tes gaussiennes.
-
Feitan
- Messages: 2
- Enregistré le: 12 Mai 2015, 09:36
-
par Feitan » 13 Mai 2015, 13:07
Bonjour Skullkid et Ben314 et merci de vos réponses.
Je voudrais à tout pris éviter la gaussienne mais du coup je crois que je ne pourrais pas y couper. Je pensais en fait partir sur une seule gaussienne par grosse variation (en fait dans ma courbe il n'y en a que deux, la petite à gauche et la grande à droite composée de deux pics mais qui n'en sont en fait qu'un).
Mes données ont une erreur assez importante et du coup c'est en rien une aberration de les fitter grossièrement en y, du moment que les valeurs en x sont bien respectées.
J'ai uniquement tester l'interpolation par spline, du coup merci de l'idée je testerais probablement l'approximation par spline du coup.
J'ai pas mal de courbes à fitter du coup c'est aussi une des raisons pour laquelle je voulais éviter la gaussienne. D'un autre côté celle là est une des plus "extrême" et j'ai les deux pics quasiment que sur celle là, du coup c'est vraiment celle là que je veux fitter le plus proprement possible.
Du coup je teste l'approximation par spline puis la gaussienne on verra bien.
Merci à vous deux, si d'autres personnes ont des idées n'hésitez pas !
Encore merci
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 38 invités