Discussion: processus de Poisson

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2006
    Messages : 93
    Points : 55
    Points
    55

    Par défaut processus de Poisson

    Bonjour,

    J'ai un petit souci pour coder un processus de Poisson sur Matlab...

    En première étape, j'ai essayé de générer une variable aléatoire d'un processus de Poisson ( J) de paramètre (lamda*T).

    En deuxième étape, j'ai essayé de simuler les amplitudes des sauts à partir d'une distribution lognormal de paramètre mu et de variance sigma^2.

    Mon code sur Matlab était le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    % Simulation loi de poisson d'intensite  lambda*T  
    J=poissrnd(lambda*T);
    % simulation du vecteur Ksi (lognormal) 
    for i=1:J
     n = mu + sigma*randn(1);
     Ksi(i) = exp(n);
    end
    En fait, ce code ne me donne pas des bons résultats ! Pourriez-vous m'aider s'il vous plait ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 9 458
    Points : 14 691
    Points
    14 691

    Par défaut

    Je n'y connnais pas grand-chose en Poisson mais d'un point de vue uniquement programmation il me semble qu'il y a un souci là :
    En effet l'aide dit que J est un vecteur de même taille que lambda*T de nombres aléatoires choisis dans la distribution de Poisson de paramètre lambda*T.

    Donc tu fais une boucle qui commence à 1 et s'arrête à ???? (dans ton cas à la partie entière du premier élément de J)

    Pour le reste :
    • Peux-tu donner tes variables d'entrée (lambda, T, mu et sigma) que l'on puisse tester pour t'aider ?
    • Peux-tu développer en quoi les résultats ne sont pas "bons" ? (risque : s'il s'agit d'un problème de maths ce n'est peut-être pas le bon endroit pour poster)
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2006
    Messages : 93
    Points : 55
    Points
    55

    Par défaut

    Merci "caro95470" pour ta réponse.

    Mes variables sont les suivantes : lambda = 0.11, T=5, mu= -0.12, sigma= 0.2

    Avec ces données J prend un de ces valeurs entiers 0, 1, 2.

    Pour définir la loi de poisson il faut avoir l’intensité des sauts (lambda), le nombre des sauts et l’amplitude des sauts. Dans notre cas, J est le nombre des sauts qui interviennent sur la période [0,T], Ksi (i) est l’amplitude du ième saut. Ces amplitudes suivent une distribution lognormale de paramètres mu et sigma^2.

    A partir de mes résultats en finance, je pourrai vérifier si le code sur Matlab marche très bien ou non. Dans un cadre de simulations Monte Carlo on pourra limiter les résultats dans un intervalle de confiance malgré les variables aléatoires générées par la commande « poissrnd » ou « randn ».
    Ce n’est pas un problème de mathématique ou de finance. J’ai toutes les données et il me reste à programmer sur Matlab (ce qui me bloque )

    Merci pour toute intervention d’aide afin de résoudre ce problème.

  4. #4
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    décembre 2006
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : décembre 2006
    Messages : 790
    Points : 1 202
    Points
    1 202

    Par défaut

    Citation Envoyé par Eric06
    En fait, ce code ne me donne pas des bons résultats ! Pourriez-vous m'aider s'il vous plait ?
    Comme a dit Caro:
    Citation Envoyé par caro95470
    Peux-tu développer en quoi les résultats ne sont pas "bons" ?
    Après avoir lu ton deuxième message, il me semble que le code que t'as fais est correcte.
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2006
    Messages : 93
    Points : 55
    Points
    55

    Par défaut

    Si le produit lambda*T est trop petit (exp. lambda = 0.11 et T = 1), j'aurais parfois une valeur de J=0.

    Avec cette valeur nulle de J, mon code sur Matlab ne marche plus !!

    Que dois-je faire ?!

    Merci d'avance

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Consultant R&D - Mécatronique - MATLAB/Scilab
    Inscrit en
    novembre 2006
    Messages
    18 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant R&D - Mécatronique - MATLAB/Scilab
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 618
    Points : 52 191
    Points
    52 191

    Par défaut

    C'est logique... si J=0 alors la boucle FOR-END sur i ne s'incrémente jamais (i=1 jusqu'à 0)
    Sur mon blog : Afficher une photo avec la bonne orientation dans MATLAB

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

    « And the drip and the drip and the drip of the Mississippi cryin' - And Saint Huck hears his own Mississippi just rollin' by him » (Saint Huck)

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2006
    Messages : 93
    Points : 55
    Points
    55

    Par défaut

    Ce que j'ai remarqué ! de plus je ne pourrai pas mettre mon compteur i=0:J

    y a t-il une solution ?

    Merci

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Consultant R&D - Mécatronique - MATLAB/Scilab
    Inscrit en
    novembre 2006
    Messages
    18 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant R&D - Mécatronique - MATLAB/Scilab
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 618
    Points : 52 191
    Points
    52 191

    Par défaut

    Pourquoi ne pas faire quelquechose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    % Simulation loi de poisson d'intensite  lambda*T  
    J=poissrnd(lambda*T);
    % simulation du vecteur Ksi (lognormal) 
    if J~=0
       for i=1:J
        n = mu + sigma*randn(1);
        Ksi(i) = exp(n);
       end
    else
       <autre chose>
    end
    Sur mon blog : Afficher une photo avec la bonne orientation dans MATLAB

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

    « And the drip and the drip and the drip of the Mississippi cryin' - And Saint Huck hears his own Mississippi just rollin' by him » (Saint Huck)

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2006
    Messages : 93
    Points : 55
    Points
    55

    Par défaut

    Merci "Dutmatlab", c'est parfait

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

Discussions similaires

  1. Processus de poisson avec un intervalle
    Par pitchu dans le forum R
    Réponses: 4
    Dernier message: 12/10/2014, 13h34
  2. Processus de Poisson spatio-temporel
    Par Naneba dans le forum R
    Réponses: 0
    Dernier message: 06/05/2014, 01h21
  3. Processus de Poisson
    Par kbiche dans le forum Mathématiques
    Réponses: 2
    Dernier message: 04/02/2011, 18h36
  4. Processus de Poisson
    Par scarabee10 dans le forum MATLAB
    Réponses: 5
    Dernier message: 28/05/2009, 06h45
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

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