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

R Discussion :

superposer la répartition empirique de l’échantillon et la densité des observations.


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut superposer la répartition empirique de l’échantillon et la densité des observations.
    Bonjour, je débute avec le langage R et je bloque un peu sur des choses qui vous paraîtront triviales

    J'aimerais, avec un échantillon de taille 100 suivant une loi du χ2 à 3 degrés de liberté, superposer sur un même graph la répartition empirique de l’échantillon et la densité des observations.

    Je fais cela mais je ne pense pas que ce soit correct:

    Soit r=pchisq(z,3) > fonction de répartition de l’échantillon créé et d = dchisq(z,3) > densité des observations de z

    Alors:
    barplot(r,col="blue");lines(d,col="red") > histogramme des valeurs de r + courbe de densité tracée

    En gros je ne sais pas tracer les représentations d'échantillon suivant une loi statistique quelconque....

    Vos conseils et avis seraient les bienvenus

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Points : 147
    Points
    147
    Par défaut
    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    x = rchisq(1000)
    hist(x,breaks=100,prob=T)
    lines(density(x),col="blue",lwd=2,lty=3)
    plot(function(x){ dchisq(x,3)  },0,15,add=T,lwd=2,lty=3,col="red")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par tomaprice Voir le message
    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    x = rchisq(1000)
    hist(x,breaks=100,prob=T)
    lines(density(x),col="blue",lwd=2,lty=3)
    plot(function(x){ dchisq(x,3)  },0,15,add=T,lwd=2,lty=3,col="red")
    Merci tomaprice, j'aurai cependant quelques questions

    D'abord j'aurai écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x=rchisq(100,3)
    Au lieu de  rchisq(1000)
    Une erreur de frappe ou c'est bien ce que tu proposes de faire ?

    Ensuite, je me demande à quoi sert cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lines(density(x),col="blue",lwd=2,lty=3)
    Elle permet d'obtenir quelles informations ?

    Enfin, en cherchant sur le net j'ai trouvé la fonction ecdf qui semble calculer une fonction de répartition empirique. Dès lors je m'étais essayer à résoudre mon soucis ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    x=rchisq(100,3)
    t=ecdf(x)
    plot(t)
    Biensur je n'obtiens pas du tout les mêmes graphes, un peu perdu...

    Bref, pour être sûr:

    la répartition empirique d'un échantillon se déduit avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hist(x,breaks=100,prob=T)
    et la densité des observations:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(function(x){ dchisq(x,3)  },0,15,add=T,lwd=2,lty=3,col="red")
    Merci d'avance

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Salut,

    Je me permet de répondre même si je suis pas l'auteur de la première réponse.

    Citation Envoyé par sagat06 Voir le message
    Ensuite, je me demande à quoi sert cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lines(density(x),col="blue",lwd=2,lty=3)
    Elle permet d'obtenir quelles informations ?
    density donne la densité empirique de tes observations, cad sans faire d'hypothèse sur leur distribution.
    Différement, dchisq(x,3) donne la densité d'une loi du chi2 aux points d'abscisses correspondant à tes observations.


    Enfin, en cherchant sur le net j'ai trouvé la fonction ecdf qui semble calculer une fonction de répartition empirique.

    ecdf est bien l'equivalent de density mais pour la fonction de repartition empirique.

    la répartition empirique d'un échantillon se déduit avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hist(x,breaks=100,prob=T)
    L'histogramme n'est pas la fonction de repartition.
    (Cette dernière peut toutefois se déduire des valeurs cumulées de l'histogramme.)

    En fait que veux tu tracer? (car c'est vrai que dans ton message original on comprend pas trop si tu veux histogramme et densité ou fct de repartition et densité).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci Sengar pour ta contribution

    density donne la densité empirique de tes observations, cad sans faire d'hypothèse sur leur distribution.
    Différement, dchisq(x,3) donne la densité d'une loi du chi2 aux points d'abscisses correspondant à tes observations.
    Je comprend mieux, d'autant que les 2 courbes ont un aspect similaire, ce qui est un bon signe puisque les observations ont été générées via rchisq()

    En fait techniquement, je souhaite résoudre le pb suivant posé tel quel :

    Simuler un échantillon de taille 100, suivant une loi du χ2 à 3 degrés de liberté. Sur un
    même graphique, superposer la répartition empirique (histogramme de l’échantillon) et la
    densité des observations.
    On y parle de répartition empirique et d'histogramme, d'où la confusion

    L'histogramme n'est pas la fonction de repartition.
    (Cette dernière peut toutefois se déduire des valeurs cumulées de l'histogramme.)
    Peut être qu'il est suggéré dans l'exercice de tracer l'histogramme des valeurs cumulées ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Simuler un échantillon de taille 100, suivant une loi du χ2 à 3 degrés de liberté. Sur un même graphique, superposer la répartition empirique (histogramme de l’échantillon) et la densité des observations.
    L'énoncé est ambigue.
    Rien ne t'empeche de faire tout à la fois: densité théorique, densité empirique, histogramme, fonction de repartition théorique et fonction de repartition empirique.

    Je te propose ce code qui réutilise largement celui de tomaprice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x = rchisq(1000,3)
    plot(ecdf(x),col="blue",lwd=2,lty=1)
    lines(density(x),col="blue",lwd=2,lty=3)
    hist(x,breaks=100,prob=T,add=TRUE)
    plot(function(x){ dchisq(x,3)  },0,15,add=T,lwd=2,lty=3,col="red") 
    plot(function(x){ pchisq(x,3)  },0,15,add=T,lwd=2,lty=1,col="red")
    Tu dois pouvoir peaufiner les légendes. (en bleu l'empirique, en rouge le theorique, en noir l'histogramme).
    Trait plein : F, trait pointillé : f.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci Sengar, c'est vrai que l'énoncé de l'exercice était ambiguë

    Autant tout faire à la fois ^^

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variable de répartition des observations
    Par eruovas dans le forum SAS Base
    Réponses: 3
    Dernier message: 06/05/2014, 10h34
  2. Réponses: 1
    Dernier message: 12/09/2013, 22h10
  3. Programmer fonction répartition empirique
    Par Atacama dans le forum R
    Réponses: 2
    Dernier message: 13/11/2012, 16h54
  4. FOP: Superposer deux <fo:external-graphic>
    Par JeanLeDébutant dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 14/06/2005, 15h44
  5. [JPanel] superposer des JPanel
    Par Galima dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 10/06/2004, 18h25

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