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 :

Correlation de deux courbes


Sujet :

Mathématiques

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut Correlation de deux courbes
    Bonjour,

    J'ai une courbe de pluviométrie et une courbe d'énergie sismiques. Les deux sont représentées en cumulé avec un point toute les heures pour l'énergie et un point toutes les 30min pour la pluvio.

    J'aimerais calculer un coefficient de corrélation pour voir si il existe une relation entre mes deux jeux de données.

    Comment pourrais-je procéder sous Matlab?

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Une fois que tu nous auras donné ton algorithme, on pourra t'aider dans la programmation sous matlab mais ce n'est pas à nous de faire tes statistiques...

    Christophe

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    tu peux faire une recherche :
    lookfor correlation
    pour voir ce qui est déjà implémenté dans matlab.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    J'ai bien trouvé les fonction xcorr et corrcoef mais j'avoue ne pas bien comprendre leur fonctionnement. Elles me renvoient une matrice alors que j'aimerais simplement un "coefficient de similarité" entre mes deux courbes.

    Pour etre plus clair j'ai deux jeux de données (les vitesse de vent et l'enerie simique) toutes deux dépendent d'un vecteur temps différent tel que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    wind_cum = cumsum(wind_speed);
    E_sism_cum = cumsum(E_sism);
    time_sism % est le vecteur temps associé à l'énergie sismique (pas d'échantilonage de 1h)
    time_wind % tps associé aux vitesses de vent (pas d'echantillonage de 30min)
     
    plot(time_sism,E_sism_cum)
    hold on;
    plot(time_wind,wind_cum)
    set(gca,'Xlim',[time_wind(1) time_wind(end)])
    j'ai donc tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [X,Y] = xcorr(wind_cum,E_sism_cum);
    J'obtiens bien une matrice mais je ne comprends pas sa signification

    j'ai égalment tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    corrcoef(wind_cum,interp1(time_sism,E_sism_cum,time_wind);
    dans ce cas j'obtient NaN,(je suis obligé d'interpoler pour avoir le même nombre de valeur dans mes 2 vecteurs).

    J'aimerais simplement trouver un coefficient de comparaisons me permettant de montrer que le vent et résponsable de l'augmentation de l'énergie simique.


    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Tu pourrais nous montrer ces deux courbes ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    Voici les courbes.
    En fait il y en a trois AVR et AVM sont les deux courbes d'énergies de deux stations sismologique et la courbe en vert correspond aux vitesses de vent. (toutes les courbes sont normalisées)

    Après quelques tests, si j'ai bien compris, xcorr permet de tracer un coefficient de correlation en fonction du décalage (en l'occurence temporel) entre mes deux courbes.
    tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Ycorel, Xdecalage]=xcorr(wind_cum,E_sism_cum);
    ceci est donc interessant pour moi si je veux connaitre le décalage temporel entre l'action du vent et la réponse des stations mais ceci ne me donne pas vraiment d'indication sur la similarité des courbes.

    Corrigez moi si je me trompe
    Images attachées Images attachées  

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    et voici la courbe de correlation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Ycorel, Xdecalage]=xcorr(wind_cum,E_sism_cum);
    plot(Xdecalage,Ycorel)
    Images attachées Images attachées  

  8. #8
    Membre habitué Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Points : 132
    Points
    132
    Par défaut
    Bonjour

    Juste une information, le coefficient de corrélation ne tient pas compte des unités, donc c'est pas la peine d'écrire, les unités (heure et min)

    Cordialement

Discussions similaires

  1. [Débutant] coefficient de correlation entre deux courbes
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 4
    Dernier message: 11/06/2010, 16h03
  2. abcisse d'intersection de deux courbes
    Par ramrouma dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/06/2007, 13h52
  3. Intersection de deux courbes
    Par ramrouma dans le forum MATLAB
    Réponses: 2
    Dernier message: 28/01/2007, 16h20
  4. [VBA E]Colorier l'espace entre deux courbes
    Par conconbrr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2006, 09h19
  5. Intersection de deux courbes quelconques
    Par ShootDX dans le forum Algorithmes et structures de données
    Réponses: 32
    Dernier message: 31/03/2006, 10h32

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