IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Recherche fonction exponentielle amortie


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 182
    Points : 52
    Points
    52
    Par défaut Recherche fonction exponentielle amortie
    Bonjour à toutes et à tous,

    J'ajuste actuellement le modèle exponentielle suivant à des séries de données (régression non linéaire, LMA):
    >y = a.exp(bt) + c
    Ce modèle s'ajuste très bien, mais je souhaiterais pouvoir inclure un degré supplémantire d''amortissement' tendant vers une asymptote finie. C'est à dire une exponentielle composée d'une fonction sinus ou cosinus permettant de décrire l'amortissement de certaines données parfois observé.

    J'ai donc essayé diverses fonctions, en m'inspirant des équations trouvées sur le net:
    >y = a.exp(bt) * cos(ct+d)
    >y = a.exp(bt) * sin(ct)

    Mais ces équations s'ajustent toutes très mal aux données (quand l'algorithme converge).

    Avez vous des suggestions à m'apporter pour la modification de l'équation (et eventuellement l'initialisation des paramètres c et d) ?

    Merci,
    Gian

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    Tu peux nous donner un exemple des données que tu ajustes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 182
    Points : 52
    Points
    52
    Par défaut
    Bien sur, en voici quelques exemples:






    Dans mon interprétation, j'aurais besoin de modéliser plus finement ces 'fluctuations' (bien que très légères). J'ajouterai de plus qu'effectuant des prédictions "nécessitant" une valeur finie, j'utilise l'exponentielle qui convient très bien à ce genre de données.

    Merci,

    Gian

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    Tu es sûr que l'interprétation exp est la meilleure ?
    Pourquoi ne pas prendre l'interpolation par splines cubiques (interp1 en Matlab) ou mieux l'interpolation dans le domaine fréquentiel (interpft en Matlab) ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 182
    Points : 52
    Points
    52
    Par défaut
    Autant le préciser tout de suite, je ne connais pas bien ces méthodes, mais il me semble que comme pour toutes les méthodes d'interpolations, le spline comme le fit polynomial, la qualité de la prédiction se dégrage très rapidement en dehors des données?

    Je vais regarder en détails ces deux méthodes, surtout la fréquentielle.

    Sinon un fit expo sur ce type de données j'obtient des r² ajustés relativement corrects (>0.8 je crois, à confirmer), et la fonction permet d'estimer une valeur asymptotique finie.

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!

    L'examen de tes graphiques appelle deux remarques/questions:
    1. Chacun semble représenter une fonction plus ou moins régulière à laquelle se superpose un "bruit" assez important. Est-ce que tu cherches à faire, c'est d'éliminer le bruit et trouver une expression analytique de ta fonction, ou est-ce que le "bruit" lui-même représente quelque-chose d'intéressant pour toi?
    2. L'allure générale des graphiques varie beaucoup de l'un à l'autre; en conséquence, je ne pense pas que la fonction débruitée ait la même forme dans chaque cas.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    J'ai donc essayé diverses fonctions, en m'inspirant des équations trouvées sur le net:
    >y = a.exp(bt) * cos(ct+d)
    >y = a.exp(bt) * sin(ct)
    Hum... aux vues de tes images je verrais plus quelque chose comme:

    y = exp(bt) * (a + cos(ct+d))
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 28
    Points
    28
    Par défaut tout a fait
    moi je partirai plutot comme pseudocode je suis d'accord avec lui +1

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 77
    Points
    77
    Par défaut bizarre
    Moi , je vois un nuage de point par lequel du desires faire passer une courbe ?

    Il y a pas un truc qui s'appelle le methode des moindre carrés ?
    Tu es sur une longueur finie.
    La methode des moindre carre c'est faire passer une courbe polynomiale , pas forcement une droite. On minimise la distance entre notre courbe et l'ordonnee de chaque point ...
    On obtient un systeme lineaire, c un truc classique.
    Pour tes tortillons, un polynome de degre 4 ou 5 doit faire la blague.

    Je ne vois pas pourquoi un phenomene naturel ,
    mesures doit entrer dans un modele de courbes.
    C'est l'inverse qu'on cherche.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 77
    Points
    77
    Par défaut j'ai peut etre rien compris
    Disons , le pb c'est que tu vas devoir monter le degre des polynomes si ta courbe visuelle tortille. D'ou 7 ou 8 parametres peut etre qd tes mesures tortillent.
    Tu devrais essayer , en montant le degre du polynome jusqu'a ce que ca te plaise.


    Sinon, pourquoi tu ferais pas ca par des portions qui se raboutent, en mettant des morceaux de droites ou de paraboles. ( Je dis une betise , car si tu calcule tes morceaux suivant les moindre carres par portiion, y'a pas de raison que les portions se touchent)
    Ou encrore tu fais des nu-spline, qui peuvent te fabriquer des fonctions de classe C1 ou C2 mais la c assez compliqué (tu auras le m pb qu'avec les portions de droite)
    J'ai fait ce genre de truc il y a 15 ans , pour des echantillonage de prix.

    En fait , ce pb est pas facile, mais c'est normal. Une courbe qui monte ou descend 6 fois ne va pas se caracteriser forcement pas 4 reels (sauf ds des cas particuliers)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 182
    Points : 52
    Points
    52
    Par défaut
    rebonjour, et merci pour tout ces détails.

    Ton post va me permettre de rebondir sur ce que je disais un peu plus haut: en fait il s'agit de faire de l'extrapolation, de la prédiction. Ce qui est impossible (il me semble) avec les polynomiales et autres splines.

    Je pense donc qu'il faille un modèle asymptotique comme le propose pseudocode. Le modèle proposé (exp(bt) * (a + cos(ct+d))) oscille cependant beaucoup trop; je vais donc essayer de réduire les oscillations dans un domaine raisonnable.

    Pour répondre à FR119492, je répondrais oui dans les deux cas: je cherche la forme analytique sous jacente, et le bruit est significativement 'important'. C'est pour cette raison que je l'étudie dans un second temps.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    je ne vois pas trop de cosinus là-dedans.


    Je verrais bien la superposition d'une expo décroissante e-kx et d'une variable circulaire x-d (le d correspondant au pix vers la droite).

    Une fois ça enlevé, on devrait avoir le bruit avec sa forme éventuelle.
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 77
    Points
    77
    Par défaut ... pas d'accord
    Extrapolation, cela consiste a dire .. je cerne le phenomene.
    donc je connais l'avenir.
    Cette notion est valide si le phenomene se rapporte a des equations dependante du temps , ou de l'espace (1 variable ici)..
    cela signifie qu'on connait la forme de la solution .
    qu'on calcule ses parametres suivant echantillon .
    cela signifie que le monsieur connait la forme de la solution et donc qu'il veut trouver juste des parametres.
    je n'ai pas regarde longtemps ces courbes.
    elle ne me semblent pas correspondre a des lois simples.
    Si vous n'avez pas la loi, comment esperez vous la faire entrer dans des fonctions
    standard ?
    La mesure ne consiste pas à dire je regarde
    et je trouve la correlation avec des fonctions simples car une courbe n'est pas forcement exprimable avec 10 fonctions simples.
    La theorie dit , le phenomene s'exprime de telle facon trouvons les paremetres concernes
    et verifions que cela s'applique "toujours".
    Je suis un peu flou... Mais y'a un lezard..
    C'est comme trouver un cailloux qui a la forme de votre pied

Discussions similaires

  1. recherche fonction equivalente a goto ligne 12 en php
    Par carmen256 dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2006, 22h34
  2. recherche fonction java
    Par amel2006 dans le forum Langage
    Réponses: 3
    Dernier message: 01/03/2006, 16h02
  3. [PL/SQL - PAIR/IMPAIR] Recherche fonction
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 3
    Dernier message: 06/02/2006, 14h47
  4. [GD] recherche fonction de création d'images miniatures
    Par digger dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/11/2005, 21h12
  5. Recherche fonctions rendant la valeur
    Par Bertrand_Collet dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/11/2002, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo