Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Besoin d'aide pour fonction polynomiale sous R



  1. #1
    florent_t

    Smile Besoin d'aide pour fonction polynomiale sous R


    ------

    Bonjour à tous,

    Je suis confronté à un problème que je n'arrive pas a résoudre. Je dois modéliser une courbe à partir d'un jeux de données issus d'expérience. Je m'explique, par exemple pour le site 2 j'ai les données suivante :

    highest_intensity_point : 67 70 74 62 109 117 115 78 114 144 126 154 160 154 132 114 146 172 107 157
    concentration: 0.0 0.0 0.0 0.0 0.0 0.2 0.2 0.2 0.2 0.2 2.0 2.0 2.0 2.0 2.0 20.0 20.0 20.0 20.0 20.0

    Ce qui me donne le graphe en pièce jointe. Seulement la fonction de régression linéaire n'est pas du tout adaptée. Je souhaiterai donc réaliser une fonction polynomiale qui épouserai les points au plus près possible tout en restant un minimum simple.

    Je tiens a préciser que je ne maitrise pas bien R ou les mathématiques. Je suis en master de biologie donc ce n'est pas forcement très évident pour moi !


    Merci par avance pour vos aides..

    -----
    Images attachées Images attachées  

  2. Publicité
  3. #2
    lyoko

    Re : Besoin d'aide pour fonction polynomiale sous R

    Bonsoir;
    j'avoue que je n'est pas tout à fait compris votre question et pour le R je ne sait pas trop ce que c'est!!!!!

    mais voilà: si vous voulez juste dessiner un graphe avec les valeurs que vous avez donné et que cela vous donne une droite ( et ce n'est pas le résultat voulu) moi j'ai ontenu un graphe différents d'une droite avec les même valeurs en utilisant gnuplot!!!!!

    par contre, si maintenant vous voulez avoir la meilleur approximation linéaire avec les résultats que vous avez obtenu, vous devrez utiliser une des méthodes d'approximation polynomiale comme les moindres carré par exemple ( il faut savoir aussi que la méthode des moindre carré s'utilise aussi pour les équation quadratique)!!!

    je vous envoie un fichier expliquant brièvement cette méthode.

    bon courage et désolée si je n'est pas tout à fait compris votre question

  4. #3
    lyoko

    Re : Besoin d'aide pour fonction polynomiale sous R

    voici le fichier!
    bonne lecture
    Images attachées Images attachées

  5. #4
    florent_t

    Re : Besoin d'aide pour fonction polynomiale sous R

    Bonjour Iyoko,

    Merci pour votre réponse rapide. En effet, je cherche à dessiner une droite polynomiale suivant le plus possible les points sur le graphe. En fait je cherche a créer un script pour automatiser l'analyse car j'ai un grand nombre de courbe à réaliser c'est pour cela que je voudrais utiliser R. J'ai parcouru votre fichier mais malheureusement c'est au dessus de mes faibles capacités mathématique. Je suis bloqué uniquement par l'utilisation de R car avec excel je fais facilement des courbes de tendance tout en ayant l'équation de la droite etc etc.

  6. A voir en vidéo sur Futura
  7. #5
    Scaeva

    Re : Besoin d'aide pour fonction polynomiale sous R

    Bonjour,
    Citation Envoyé par florent_t Voir le message
    Seulement la fonction de régression linéaire n'est pas du tout adaptée. Je souhaiterai donc réaliser une fonction polynomiale qui épouserai les points au plus près possible tout en restant un minimum simple.
    En fait si, la fonction de régression linéaire lm() le permet. Vous pouvez faire comme suit :
    x2<-x^2
    lm(y~x+x2)

  8. #6
    Dlzlogic

    Re : Besoin d'aide pour fonction polynomiale sous R

    Bonjour,
    Si on regarde vos données, il y a 3 abscisses différentes (0 ; 0.2 ; 20) et des ordonnées assez variables.
    A mon avis, une représentation graphique par ajustement ou régression n'a pas beaucoup de sens.
    Pour 0, vous avez 5 valeurs, pour 0.2, 10 valeurs, pour 20, 5 valeurs.
    La seule chose qu'il me parait raisonnable de représenter, c'est pour la valeur 0, la moyenne des 5 valeurs, idem pour les 2 autres. Vous n'avez aucune information sur ce qui se passe entre deux, donc, à mon avis, tracer un trait serait une erreur.
    Si vous voulez des cours abordables sur les régressions, faites une recherche avec comme mot clé "ajustement" ou "regression" ou "moindres carrés", il y a des choses très bien faites.

  9. Publicité
  10. #7
    Scaeva

    Re : Besoin d'aide pour fonction polynomiale sous R

    Dlzlogic a raison, vos données se prêtent mal à la régression.

  11. #8
    florent_t

    Re : Besoin d'aide pour fonction polynomiale sous R

    En fait, il y a 4 points mais les données sont mal écrite je vous l'accorde. Il y a : 0 (témoin négatif) 0.2 , 2, 20. Le but de la manoeuvre est de trouver grâce à l'équation de la courbe une CE50 (une concentration pour laquelle on a 50% d'effet. Par exemple si une régression linéaire avait fonctionnée (la plupart du temps ce sont des courbes comme les fonctions polynomiales qui marchent très bien sur excel avec des courbes d'approximation) on aurait eu y=2x + 1. On aurait fixer le Y=50 et on en aurait déduit la concentration ou l'on retrouve donc 50 % d'effet. C'est pour cette raison que la courbe est nécessaire. Je n'ai pas besoin forcement de beaucoup de valeur de X différente et 4 valeurs suffisent amplement à trouver cette CE50.
    Je pourrais très bien le faire sur excel mais j'ai un grand nombre de donnée à traiter et je voudrais qu'une fois parti de mon stage je puisse laisser le script pour que le lab s'en serve.

    Après je peux très bien sinon mettre en log() les deux axes pour obtenir une droite mais j'aurais aimé tracer cette belle courbe sur R !

  12. #9
    Dlzlogic

    Re : Besoin d'aide pour fonction polynomiale sous R

    Je crois qu'il y 2 problèmes différents
    1- trouver la courbe. Naturellement 4 points, mais en fait 20 mesures, c'est suffisant, mais il vaut mieux éviter de tracer n'importe quoi. En faisant un changement de variable x -> ln(x) et/ou y -> ln(y), et avec les méthodes d'ajustement habituel, on peut obtenir 4 formes de courbes différentes. Ca, c'est pas difficile, il faut juste noter que le 0 est interdit pour 2 d'entre-elles, il suffit de faire une translation, par exemple +10. Par contre il faut savoir si toutes les courbes ont la même forme.
    2- le report graphique. Soit des spécialistes de R vont vous répondre, soit vous lisez la doc, comme R est prévu pour ce genre de choses, ça devrait être bien expliqué.

    Pour le 1) je peux vous aider, mais pas pour le 2). Par contre, je pourrais toujours envisager de rajouter le dessin sur mon outil de calcul de régression..

  13. #10
    Scaeva

    Re : Besoin d'aide pour fonction polynomiale sous R

    Si vous cherchez une fonction du type y=a.ln(x)+b, la fonction lm() de R permet de déterminer le a et le b par minimisation des erreurs, comme sous excel (en faisant effectivement attention au 0).
    Par exemple :
    lnx<-log(x)
    reg<-lm(y~lnx)
    reg$coef vous donne les coefficients a et b et summary(reg) un peu plus de détail sur le modèle.
    Ensuite la fonction predict() vous permet de calculer des valeurs y de la fonction ajustée et donc de tracer la courbe.

  14. #11
    florent_t

    Re : Besoin d'aide pour fonction polynomiale sous R

    Merci pour vos informations Scaeva et Dlzlogic, je vais effectivement faire attention de transformer la courbe avec une fonction log()+1. Je vais chercher un précédent travail que j'avais fait sur ce principe mais je devrais m'en sortir pour la partie théorique Pour ce qui est de R je vais essayer d'appliquer votre modèle Scaeva. J'essaye de faire ça dans la journée entre deux expérimentations. Je tracerai sous excel avant pour voir le type d'équation dont il s'agit dans ces données, je verrai ainsi s'il s'agit d'un type y=a.ln(x)+b. R n'est pas une partie de plaisir pour moi !

    Merci encore, je vous tiens au courant.

Discussions similaires

  1. besoin d'aide pour l'étude de la fonction f(x)= (2E(x)+1)x - E(x) (E(x)+1)
    Par -minimoys- dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 06/09/2010, 13h54
  2. Réponses: 8
    Dernier message: 14/08/2010, 12h17
  3. Besoin d'aide pour une Fonction logique
    Par Fouin dans le forum Électronique
    Réponses: 5
    Dernier message: 02/06/2009, 23h37
  4. besoin d'aide pour fonction
    Par lissa69 dans le forum Mathématiques du collège et du lycée
    Réponses: 16
    Dernier message: 22/03/2007, 21h02
  5. besoin d'aide pour fonction électronique.
    Par eloman_75017 dans le forum Électronique
    Réponses: 21
    Dernier message: 13/07/2006, 18h39