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

Algorithmes et structures de données Discussion :

algorithme de détermination de "sous-séries"


Sujet :

Algorithmes et structures de données

  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 algorithme de détermination de "sous-séries"
    Bonjour à tous,

    Je travaille actuellement sur un projet ou il s'agit de déterminer des sous-séries de points suivant certaines conditions particulières. Je vais y venir tout de suite : mais j'aimerais avant préciser que je ne suis ni statisticien, ni mathématicien, donc je vais peut être dire certaines choses qui vont vous sembler triviales ou vous hérisser les cheveux sur la tête... mais ne vous en faites pas c'est norrrrrmal :-P

    Je cherche en fait à modéliser les sous tendances d'une série de points, et donc pour cela j'ai besoin de déterminer de manière automatique (ou suivant certaines contraintes imposées par l'algorithme (sensibilité ou autre...) ou sont ces sous-séries.
    Comme un exemple est souvent plus parlant qu'un long discours, voici ce que j'aimerais obtenir en images.


    J'aimerais donc pouvoir déterminer les points faisant parties d'une même sous tendance....

    J'ai pas mal bossé dessus, et en ce qui concerne le modèle mathématique pour le fittage, j'utilise la fonction :
    f(x) = a.exp(bx) + H (qui revient à la regression linéaire logarithmique).

    Ce modèle convient très bien, et il est caractéristique de certaines spécificitées que j'aimerais étudier. Donc c'est déjà un bon point de gagner!

    Concernant la détermination automatique des sous séries, j'ai développé deux algorithmes :
    Méthode 1
    Voici donc le premier algorithme développé. c'est assez simple :
    -Je trace une droite ayant pour coefficient directeur les points extremes de la série de données.
    -Je projète tout ces points sur cette doite.
    -J'observe la distance (euclidienne (donc absolue) sur l'axe Y) entre les points réels et leur projection.
    -Par la sélection des minimums locaux, on obtient les indices des sous séries.

    Voici ce que ca donne en image sur une de mes séries :


    et les distances euclidiennes associées :


    (les minimums locaux correspondant aux points -> première sous série : point 1 à point 3, etc.)

    Cette méthode fonctionne bien pour certaines séries, mais c'est une catastrophe pour d'autres. Il a l'avantage d'être libre de contraintes (entièrement automatique).

    Méthode 2
    Cette fois-ci j'utilise un algorithme itératif ou je commence à essayer de fitter une série avec un nombre minimum de points, et à chaque fois que j'ajoute un point, je calcule une erreur, et si celle-ci est trop grande, ca veut dire que j'entre dans une nouvelle sous série. et je recommence.
    Je ne rentre pas trop dans les détails pour cette méthode, car elle marche moins bien que la méthode 1, et son rendement est essentiellement soumis à l'estimation de l'erreur.

    Voilà, donc je suis limité par ma méconnaissance des algorithmes pouvant m'aider (études des données dans d'autres espaces ou je ne sais pas), et j'aimerais que vous me fassiez part de vos reflexions concernant mon problème.

    j'ai également une autre question (autrement plus simple) : comment estimer l'erreur a chaque fittage? j'ai vu sur des logiciels de stats que celle-ci est exprimée suivant deux variables R et p. j'ai cherché à droite et à gauche, mais je n'ai rien trouvé, peut-être savez vous comment les calculer ?

    Je précise que je travaille sous Octave qui est un clone de Matlab.

    merci pour votre aide.
    PS : je posterais de plus amples informations demain (si mon accès à Internet est réparé), surtout en ce qui concerne les résultats. Vous pourrez vous rendre compte des problèmes qui peuvent subvenir dans la détermination de certaines sous séries.

  2. #2
    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
    Tiens c'est marrant.

    La Méthode 1 c'est une variante de Douglas-Peucker dont je viens de parler dans un post precedent. Sauf que D-P fait une approximation par des lignes et que l'approximation finale est continue.

    Perso, a vue de nez, a 22h, je ferais cette premiere modif (qui ressemble etrangement a l'algo de D-P):

    - Lorsque tu trouves la fin de la premiere serie (le premier minimum local dans ta courbe de distance) tu t'arretes la.

    - Tu recommence ta methode avec les points restants, en ignorant les points de la 1ere serie.

    - Tu boucles tant qu'il reste des points a traiter
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    la forme de la courbe me rappelle ce que je devais détermniner en thèse de 3ième cycle il y a ... pfff 25 ans... Bon je vais essayer de m'en souvenir...

    C'était pour de l'astronomie, pour la variation de magnitude d'une galaxie en distance par rapport à son centre... La courbe théorique était la superposition d'une exponentielle décroissante et d'une droite....

    Si ça vous intéresse je pourrais tenter de retrouver l'algo, mais en gros il me semble qu'il y avait du moindre carrés sur le développement de la fonction par rapport au centre...

    f(x) = (a * (x - xc) + b) * exp(fact/(x - xc))

    Mais il est tard, donc c tout pour aujourdhui ....
    "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

  4. #4
    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
    Merci pour ces réponses rapides!

    PseudoCode :
    Je ne connais effectivement pas la méthode de Douglas-Peucker, et je suis en train de suivre ton conseil qui m'a l'air très judicieux, c-a-d si je ne me trompe pas :
    -même algorithme qu'avant en itératif : dès qu'on trouve le premier minimum local, ca correspond à l'indice d'une sous série, on arrête et on recommence en partant de ce dernier indice.
    Je ne me trompe pas ?
    Du coup on projete morceau par morceau en fait...
    je vais aller jeter un coup d'oeil sur cette méthode de Douglas-Peucker.

    souviron34 :
    Je suis bien sur intéressé par tous les algos me permettant de fitter les sous tendances présentes dans la série...
    L'algorithme dont tu parles avait-il un nom ? je vais pousser une recherche sur internet pour voir.
    ... effectivement, il était tard lol!!

  5. #5
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par pseudocode
    - Lorsque tu trouves la fin de la premiere serie (le premier minimum local dans ta courbe de distance) tu t'arretes la.

    - Tu recommence ta methode avec les points restants, en ignorant les points de la 1ere serie.

    - Tu boucles tant qu'il reste des points a traiter
    +1. En fait, tu te bases sur ta méthode pour produire des "clusters": une fois qu'un cluster est déterminé, tu l'oublies.

    J'ajouterais cependant que tu dois ajouter à la sélection intrinsèque des mimimum locaux une valeur d'approximation (pouvant être une fonction du max de la courbe des distances...): si partant de 0, les 2 minimums suivants sont proches - avec le max entre les 2 proche aussi- (i.e. pout tout x dans [m1,m2], |f(x)-f(m1)|<epsilon, ta valeur d'approximation), alors ton cluster pourrait être [0,m2], pas [0,m1].

    Par exemple, dans ta série 3 (en jaune), tu as décomposé en 3 clusters, mais les 2 premiers pourraient être réunis ==> c'est à toi de définir ce que tu veux
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  6. #6
    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
    Citation Envoyé par Nemerle
    J'ajouterais cependant que tu dois ajouter à la sélection intrinsèque des mimimum locaux une valeur d'approximation (pouvant être une fonction du max de la courbe des distances...): si partant de 0, les 2 minimums suivants sont proches - avec le max entre les 2 proche aussi- (i.e. pout tout x dans [m1,m2], |f(x)-f(m1)|<epsilon, ta valeur d'approximation), alors ton cluster pourrait être [0,m2], pas [0,m1].

    Par exemple, dans ta série 3 (en jaune), tu as décomposé en 3 clusters, mais les 2 premiers pourraient être réunis ==> c'est à toi de définir ce que tu veux
    +1 aussi

    D'ailleur dans l'algo D-P on ne cherche pas le premier minimum local. Au contraire on cherche le maximum absolue (qu'on considere comme un point aberrant) et on procede par dichotomie.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par pseudocode
    +1 aussi
    Copieur
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  8. #8
    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
    Merci pou vos réponses,
    j'ai implémenté l'algorithme itératif et voici quelques résultats :

    donc, pour comparer avec le premier résultat (voir post 1) avec cette méthode on obtient une légère différence au niveau de la 4ème série, mais ce n'est pas très grave (je comptais de toute facon introduire une condition (comme une sensibilité au niveau de la sélection des minimuns locaux) pour merger ces sous séries car elles ne sont pas réellement représentatives, je cherche avant tout à modéliser les grandes sous tendances) :


    et maintenant un exemple de résultat ou le modèle se plante méchamment :


    Je ne sais plus trop quelle direction prendre... changer de méthodes? Ajouter plus de contraintes ? je suis ouvert à tout vos conseils! merci!

    souviron34 si tu passes par la, je suis aussi ouvert à ta solution :-) j'ai regardé mais je n'ai rien trouvé, j'aimerais pouvoir jeter un coup d'oeil à ton viel algorithme...

  9. #9
    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
    Et avec l'algo dichotomique de D-P ?

    - Au lieu de chercher le 1er minimum local, cherche le maximum absolu. (*)
    - si ce maximum est inferieur a ton seuil d'erreur, arrete.
    - sinon reapplique cet algo sur les deux series de points (a gauche et a droite).


    (*) ou le premier maximum qui depasse ton erreur acceptable
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  10. #10
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Bon je dis pas que j'ai la solution, parce que je l'ai pas

    Mais j'ai un peu réfléchi et testé un peu...

    Voilà mon "pansement" :

    1) d'abord pour le cas où il y a plusieurs branches (cas1)

    faire un moindre-carrés pour déterminer la meilleure droite
    marquer et séparer tous les points > 1.5 ou 2 sigma.

    2) faire un spline global sur les points restants (ou le total si pas plusieurs branches)

    3) faire l'interpolation de spline tous les unités en X.

    C'est là que je me suis arrêté. Mais pour le "split", voici ce que je pense :

    4) comme avec le spline ET la dérivée première ET la dérivée seconde sont continues, une fois les années interpolées en continu, simplement vérifier quand la courbure (dérivée seconde) s'inverse ..

    Non ? c'est idiot ce que je dis là ??

    J'ai eu la flemme d'essayer, parce que j'avais rien pour tracer et faire une jolie courbe... Et comme j'ai pas chargé gnuplot...
    "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

  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
    Oula, j'ai pas tout suivit dans ta méthode, ca m'a l'air assez compliqué étant donné mon niveau dans ce domaine. Pour obtenir les sous séries : tu fais deux séparations ? une par les moindres carrés et l'autre par l'étude des points d'inflexions de la dérivée seconde du spline des X ?

    Concernant l'algorithme de Douglas-Peucker, je vais l'implémenter ce matin, et je vous donnerais les résultats quand je les aurais. C'est pas mal documenté sur google, mais si quelqu'un à un lien assez complet concernant l'algo je suis preneur (notamment ce qui concerne le paramètre "tolérance" de l'algo)...

    Au final ce qui m'interesse, c'est d'étudier le comportement du coefficients b dans la solution de fit : f(x) = Aexp(bx) +h.
    Car b est un dicateur de 'periodicité' ou de pente de la fonction exp (log ici) et me donne des informations sur les "évolutions" au fil des années des différents cycles (sous séries). Mais si un autre modèle mathématique permet de modéliser ca je suis preneur aussi hein!

  12. #12
    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
    Citation Envoyé par Giansolo
    Concernant l'algorithme de Douglas-Peucker, je vais l'implémenter ce matin, et je vous donnerais les résultats quand je les aurais.
    Le gros probleme avec D-P c'est que ca marche pour trouver une approximation "continue". Hors, toi, tu cherches une approximation "continue par morceaux"... Le probleme c'est pas tant l'approximation que de trouver ou sont les morceaux !

    Bref c'est de la segmentation. Ca implique donc de trouver une heuristique pour le decoupage.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  13. #13
    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
    Tout à fait d'accord avec toi...
    Je peux toujours tenter de regarder les maxs avec l'algorithme de Douglas peucker voir ce que ca donne... non ?

  14. #14
    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
    Citation Envoyé par Giansolo
    Tout à fait d'accord avec toi...
    Je peux toujours tenter de regarder les maxs avec l'algorithme de Douglas peucker voir ce que ca donne... non ?
    Ca va pose un probleme. Le point "max" peut etre au milieu d'un morceau.
    Or avec la dichotomie, ce morceau sera forcément coupé en 2.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  15. #15
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Giansolo
    Oula, j'ai pas tout suivit dans ta méthode, ca m'a l'air assez compliqué étant donné mon niveau dans ce domaine. Pour obtenir les sous séries : tu fais deux séparations ? une par les moindres carrés et l'autre par l'étude des points d'inflexions de la dérivée seconde du spline des X ?
    OUI je fais 2 séparations (au moins) car trouver automatiquement 1 fonction f(x) avec 2 lignes d'y différentes pour le même x, ça me semble nettement compliqué...

    Donc la première séparation consiste à séparer les "branches isolées" (les points jaunes d'en bas à droite) de ton premier cas...

    Ensuite, c'est très simple :

    Tous les points restants dessinent une courbe. Tu la modélise en faisant un "spline bi-cubique", ce qui est autrement appelé "approximation du dessinateur", car le résultat est ce que tuferais à la main si tu voulais tracer une ligne qui passe par les points.
    Comme c'est une modèlisation, elle te permet de trouver la valeur en tout point. Donc là tu re-construis un tableau continu de 1900 à 2006.

    [La particularité de l'interpolation de spline est que par construction elle garanti la continuité de la dérive première (tangente) et de la dérivée seconde (courbure) en passant par les points de mesure (c'est une approximation polynomiale du second degré "par morceaux", c'est à dire qu'elle fitte une cubique entre 2 points de mesure)
    http://www.scilab.org/doc/Scilabpratique/node89.html
    http://fr.wikipedia.org/wiki/Interpo...num%C3%A9rique
    http://en.wikipedia.org/wiki/Spline_interpolation
    ]
    (j'ai des codes, que je peux fournir, mais il y en a dans Numerical Recipes, et aussi sur les liens mentionnés ci-dessus)

    Donc puisque c'est continu, d'après l'exposé de ton problème et des graphiques, tes "séries" sont déterminées par les points d'inflexion du spline, et quand on regarde, ça a l'air d'être des points d'inversion de courbure...

    Citation Envoyé par Giansolo
    Au final ce qui m'interesse, c'est d'étudier le comportement du coefficients b dans la solution de fit : f(x) = Aexp(bx) +h.
    Car b est un dicateur de 'periodicité' ou de pente de la fonction exp (log ici) et me donne des informations sur les "évolutions" au fil des années des différents cycles (sous séries). Mais si un autre modèle mathématique permet de modéliser ca je suis preneur aussi hein!
    En ce qui concerne cet aspect, ça serait à faire après la détermination précédente (isolement des séries) .

    Et pour ça alors je prendrais une approche d'approximations successives dichotomique :

    Avec les splines, tu auras un point de départ et un point d'arrivée de chaque sous-série, plus tes points de mesure (on oublie les autres points du spline, tous les ans).
    Et là tu prends les points extrêmes pour faire une première approximation des coeffs, et tu itères sur les différences avec les points dans l'intervalle, ou bien alors un moindre carrés général sur les points de mesure + les points extrêmes...

    Est-ce trop compliqué ? ça me semble en tous cas des maths simples..
    "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

  16. #16
    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
    Citation Envoyé par souviron34
    OUI je fais 2 séparations (au moins) car trouver automatiquement 1 fonction f(x) avec 2 lignes d'y différentes pour le même x, ça me semble nettement compliqué...
    Euh... je suis pas tout la... mais tu dois avoir raison!

    Citation Envoyé par souviron34
    Donc la première séparation consiste à séparer les "branches isolées" (les points jaunes d'en bas à droite) de ton premier cas...
    Tu parles du tout premier exemple "idéal" au premier post ? Pour l'instant j'essaye déjà de fitter des choses plus simples comme l'exemple qui foire (dernière figure postée).

    je vais essayer d'implémenter ta méthode (surtout le truc des splines, ca à l'air d'être bien sympa!)...

    En attendant je regarde les liens que tu as fournit en détail.
    Merci!

  17. #17
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Giansolo
    Tu parles du tout premier exemple "idéal" au premier post ?
    oui

    Si tu veux le code, je l'ai en C...
    "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

  18. #18
    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
    merci pour ta proposition, mais j'aimerais pouvoir le tester par moi-même auparavant :-P comme ca je sais ce que je fais! (enfin, plus ou moins!)

    Bon ca commence déjà mal , puisque dans l'étape #1 tu proposes de faire une droite de régression (c'est ca?) avec les données puis d'estimer sigma (sigma(i) = y(i) - ax(i) - b si je ne m'abuse ?).

    Comment tracer cette droite de regression ? une regression linéaire y=ax+b sur ce problème est insuffisante... (je calcule a et b avec les solutions de la régression linéaire proposée ici...

    Dois-je rajouter un coefficient comme pour ma régression linéaire avec f(x) = A.exp(bX)+H (ou H s'occupe de la translation en Y, car A.exp(bX) est insuffisant) ?
    le résultat est identique en utilisant la fonction de regression linéaire implanté dans matlab, à savoir 'regress()'. voici ce que ca donne :


    yop :-(

  19. #19
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    ça a pas l'air d'être la même courbe.... Celles des autres figures étaient grossièrement linéaires, non ??

    [EDIT]
    je pense que l'échelle en X n'est pas la même ....

    [/EDIT]
    "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

  20. #20
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 601
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    là d'après la figure ce serait plutôt la somme de 2 fonctions linéaires, à vue de nez...
    "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

Discussions similaires

  1. Problème de quotes sous PostGre
    Par Philhz dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/07/2004, 14h03

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