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

MATLAB Discussion :

distribution log normale inverse


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut distribution log normale inverse
    salut tous,

    je suis pas très à l'aise avec les distributions et je ne sais pas trop comment en obtenir une avec matlab donc j'espere que vous pourrait m'aider

    => en fait je voudrais à partir de deux données obtenir deux distribution log normal inversées mais tout en respectant un certain critere.

    je m'explique :
    -j'ai Yi echantillons différents qui ont chacun Xi dimensions différentes.
    (je veux determiner ces Yi et Xi)

    je voudrais fixer une dimension moyenne sum(Yi*Xi)/sum(Xi) et un volume moyen sum(Yi*Xi^3) et à partir de ceci obtenir deux distributions différentes:
    1°) une étalée
    2°) une étroite
    mais elles suivraient toutes les deux une loi lognormal inversée

    savez vous comment je peux faire ceci ?

    perso je ne vois pas du tout

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    au pire des cas, j'aimerai juste savoir comment générer une distribution log normale inversée à partir d'une données moyenne et d'un ecart type...

  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
    Bonjour,

    quelque chose comme logninv?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci beaucoup magellan, j'ai regardé mais je n'ai pas compris quelque chose...

    voila ce que je cherche à faire:

    j'aimerai avoir plusieurs dimensions d'echantillons dont le nombre total de ces echantillons serait 1e22. Tous ces échantillons seraient réparti dans les diverses dimension tel que la dimension moyenne soit 3e-9

    je n'ai pas compris comment faire ceci avec cette fonction logninv

  5. #5
    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
    Pourrais-tu nous donner le contexte general de ton problème? Qu'appelles-tu une "dimension d'échantillon"?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Ok, désolé si je n'ai pas été précis...

    contexte:
    j'ai environ 1e22 échantillons qui ont une taille moyenne de 3e-9. Je pourrais me contenter de cette information pour caractériser cette population mais ce n'est pas suffisant. En effet, la taille de 3e-9 n'est qu'une taille moyenne en réalité il y a des échantillons qui ont une taille de 4e-8 et d'autres 1e-12.

    Solution:
    je sais que la distribution de taille de mes échantillons suit une loi log normal inversée. Je peux donc, sachant la valeur moyenne, le nombre d'échantillon et l'écart type dire à un logiciel comme MATLAB de me générer une distribution de taille qui respect ces critères.

    Problème:
    je n'arrive pas à comprendre comment je peux faire ceci avec un logiciel.
    - j'ai essayé sous Excel de faire un truc dans ce genre mais il me donne des NaN (je me suis surement planté quelque part).
    - j'ai donc décidé de passer sous MATLAB car c'est un logiciel très puissant qui doit pouvoir faire ceci en une ligne.

    Le soucis c'est que je m'attendais à faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [dimension, nombre]=logninv(1e22,3e-9,0.05)
    et avoir directement dans les variables dimension et nombre la distribution souhaité. et en traçant nombre en fonction de dimension obtenir un truc dans ce genre (image PJ):

  7. #7
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    C'est un problème d'a&justement de loi.
    Si tu as la stat toolbox, voici comment procéder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    clc 
     
    % tirer des points dans une loi log normale
    m = 2 ;
    s = 1 ;
    X = logninv(rand(10000,1), m, s) ;
     
    % estimer les paramètres de la loi d'origine à partir des tirages
    [parmhat,parmci] = lognfit(X) ;
    fprintf('Moyenne %g, à 95%% dans [%g, %g]\n', parmhat(1), parmci(1, 1), parmci(2, 1))
    fprintf('sigma %g, à 95%% dans [%g, %g]\n', parmhat(2), parmci(1, 2), parmci(2, 2))
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci beaucoup olivier pour cettte reponse qui à l'air vraiment de ce rapprocher de ce que je cherche. et oui j'ai la toolbox que tu dis.

    Néanmoins, je n'ai pas tout compris

    Peux tu me detailler les deux lignes que tu as utilisé (je suis pas très à l'aise avec ces choses ...)


    Citation Envoyé par ol9245 Voir le message
    [code]
    % tirer des points dans une loi log normale
    m = 2 ;
    s = 1 ;
    X = logninv(rand(10000,1), m, s) ;
    - alors "m" représente la moyenne de la distribution dans mon cas "3e-9"
    "s" l'ecart type que je fixe par exemple à "0.5".
    - rand me renvoi 1000 valeurs entre 0 et 1 (il s'agit donc de probabilité)
    - par contre je ne comprends pas trop ce que représente X...
    c'est les différentes valeurs de ma distribution pour les probabilités que j'ai donné ci dessus avec "rand" ?

    Citation Envoyé par ol9245 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [parmhat,parmci] = lognfit(X) ;
    par contre ce passage je ne le comprends pas...

    - à aucun moment le nombres totales d'echantillons que j'ai à disposition "1e22" intervient
    - tu utilises "lognfit" mais le probleme est que moi j'utilise une distribution lognormale inversée et pas une log noramle classique
    - les variables de sorties ne contiennent pas de distribution, je m'attendais à avoir en sortie deux grands vecteur qui contiendrait toute la distribution

    merci en tout cas de tout aide precieuse

    peux tu m'expliquer ?

  9. #9
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    Je sais pas ce que c'est qu'une log normale inversée.
    Je me demande si c'est pas toi qui fait une confusion.

    Le code que j'ai écrit pour toi est une démo pour te permettre de comprendre ce qui se passe avec les fonctions. Il te faut étudier l'aide de chaque fonction que j'ai utilisées pour approfondir tes connaissances.

    Pour résoudre effectivement ton problème, tu n'as besoin que de la seule ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [parmhat,parmci] = lognfit(X) ;
    avec X = tes tirages expérimentaux.
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

Discussions similaires

  1. [Excel 2007] LOI.NORMALE.INVERSE
    Par macErmite dans le forum Excel
    Réponses: 1
    Dernier message: 06/10/2014, 09h52
  2. Fonction loi normale inverse
    Par jacqtiti dans le forum VBA Access
    Réponses: 10
    Dernier message: 14/06/2010, 18h06
  3. Réponses: 0
    Dernier message: 06/05/2009, 14h38
  4. Percentiles et Normal inverse
    Par bb888 dans le forum SAS STAT
    Réponses: 7
    Dernier message: 09/01/2009, 08h11
  5. Réponses: 0
    Dernier message: 30/07/2008, 14h33

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