How to generate samples of Poisson-Lognormal distribution












6












$begingroup$


I would like to compute samples of the number of product purchased in a supermarket. I want to model it with a mixed Poisson lognormal distribution.




  1. Items purchased $x$ of a given consumer follow a Poisson distribution with the mean rate of purchasing $lambda$


$f(x)_{poisson}=e^{-lambda}lambda^{x}/x!$




  1. The mean rate of purchasing $lambda$ of different consumers differ, and are distributed lognormally.


By combining 1 and 2, the probability density function of $x$ items purchased results the following distribution:



$f(x)=frac{1}{x!sigmasqrt{2pi}}int_{0}^{infty}lambda^{x-1} e^{-lambda} e^{frac{(log(lambda-mu)^2}{2sigma^2} }text{d}lambda $



I am simulating purchases in a supermarket, and I would like to sample this distribution to know the items purchased by each consumer by computing samples of this random variable, for example, with mean 2.32 and standard deviation 1.29 of products.



My simulator can generate easily samples of a Poisson and a Gaussian random variable. Is there any form to compute samples of the above mixed distribution using random samples of Poisson and Gaussian random variables?.
I have seen in this post that lognormal and Gaussian distribution are related, but I do not know how to apply this to compute Poisson-lognormal random variable of items purchased.










share|cite|improve this question











$endgroup$

















    6












    $begingroup$


    I would like to compute samples of the number of product purchased in a supermarket. I want to model it with a mixed Poisson lognormal distribution.




    1. Items purchased $x$ of a given consumer follow a Poisson distribution with the mean rate of purchasing $lambda$


    $f(x)_{poisson}=e^{-lambda}lambda^{x}/x!$




    1. The mean rate of purchasing $lambda$ of different consumers differ, and are distributed lognormally.


    By combining 1 and 2, the probability density function of $x$ items purchased results the following distribution:



    $f(x)=frac{1}{x!sigmasqrt{2pi}}int_{0}^{infty}lambda^{x-1} e^{-lambda} e^{frac{(log(lambda-mu)^2}{2sigma^2} }text{d}lambda $



    I am simulating purchases in a supermarket, and I would like to sample this distribution to know the items purchased by each consumer by computing samples of this random variable, for example, with mean 2.32 and standard deviation 1.29 of products.



    My simulator can generate easily samples of a Poisson and a Gaussian random variable. Is there any form to compute samples of the above mixed distribution using random samples of Poisson and Gaussian random variables?.
    I have seen in this post that lognormal and Gaussian distribution are related, but I do not know how to apply this to compute Poisson-lognormal random variable of items purchased.










    share|cite|improve this question











    $endgroup$















      6












      6








      6





      $begingroup$


      I would like to compute samples of the number of product purchased in a supermarket. I want to model it with a mixed Poisson lognormal distribution.




      1. Items purchased $x$ of a given consumer follow a Poisson distribution with the mean rate of purchasing $lambda$


      $f(x)_{poisson}=e^{-lambda}lambda^{x}/x!$




      1. The mean rate of purchasing $lambda$ of different consumers differ, and are distributed lognormally.


      By combining 1 and 2, the probability density function of $x$ items purchased results the following distribution:



      $f(x)=frac{1}{x!sigmasqrt{2pi}}int_{0}^{infty}lambda^{x-1} e^{-lambda} e^{frac{(log(lambda-mu)^2}{2sigma^2} }text{d}lambda $



      I am simulating purchases in a supermarket, and I would like to sample this distribution to know the items purchased by each consumer by computing samples of this random variable, for example, with mean 2.32 and standard deviation 1.29 of products.



      My simulator can generate easily samples of a Poisson and a Gaussian random variable. Is there any form to compute samples of the above mixed distribution using random samples of Poisson and Gaussian random variables?.
      I have seen in this post that lognormal and Gaussian distribution are related, but I do not know how to apply this to compute Poisson-lognormal random variable of items purchased.










      share|cite|improve this question











      $endgroup$




      I would like to compute samples of the number of product purchased in a supermarket. I want to model it with a mixed Poisson lognormal distribution.




      1. Items purchased $x$ of a given consumer follow a Poisson distribution with the mean rate of purchasing $lambda$


      $f(x)_{poisson}=e^{-lambda}lambda^{x}/x!$




      1. The mean rate of purchasing $lambda$ of different consumers differ, and are distributed lognormally.


      By combining 1 and 2, the probability density function of $x$ items purchased results the following distribution:



      $f(x)=frac{1}{x!sigmasqrt{2pi}}int_{0}^{infty}lambda^{x-1} e^{-lambda} e^{frac{(log(lambda-mu)^2}{2sigma^2} }text{d}lambda $



      I am simulating purchases in a supermarket, and I would like to sample this distribution to know the items purchased by each consumer by computing samples of this random variable, for example, with mean 2.32 and standard deviation 1.29 of products.



      My simulator can generate easily samples of a Poisson and a Gaussian random variable. Is there any form to compute samples of the above mixed distribution using random samples of Poisson and Gaussian random variables?.
      I have seen in this post that lognormal and Gaussian distribution are related, but I do not know how to apply this to compute Poisson-lognormal random variable of items purchased.







      normal-distribution sampling random-variable random-generation lognormal






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited Jan 16 at 12:02







      user1993416

















      asked Jan 14 at 12:20









      user1993416user1993416

      1334




      1334






















          1 Answer
          1






          active

          oldest

          votes


















          11












          $begingroup$

          You can generate a sample by first generating a normally distributed value, then take the exponent of that, then use that as the parameter in a Poisson distribution and take a sample from that distribution. The resulting samples of this three-step process will be Poisson-Lognormally distributed.






          share|cite|improve this answer









          $endgroup$









          • 1




            $begingroup$
            thank you very much, I have to try this, seems simple process.
            $endgroup$
            – user1993416
            Jan 14 at 12:29











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "65"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f387104%2fhow-to-generate-samples-of-poisson-lognormal-distribution%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          11












          $begingroup$

          You can generate a sample by first generating a normally distributed value, then take the exponent of that, then use that as the parameter in a Poisson distribution and take a sample from that distribution. The resulting samples of this three-step process will be Poisson-Lognormally distributed.






          share|cite|improve this answer









          $endgroup$









          • 1




            $begingroup$
            thank you very much, I have to try this, seems simple process.
            $endgroup$
            – user1993416
            Jan 14 at 12:29
















          11












          $begingroup$

          You can generate a sample by first generating a normally distributed value, then take the exponent of that, then use that as the parameter in a Poisson distribution and take a sample from that distribution. The resulting samples of this three-step process will be Poisson-Lognormally distributed.






          share|cite|improve this answer









          $endgroup$









          • 1




            $begingroup$
            thank you very much, I have to try this, seems simple process.
            $endgroup$
            – user1993416
            Jan 14 at 12:29














          11












          11








          11





          $begingroup$

          You can generate a sample by first generating a normally distributed value, then take the exponent of that, then use that as the parameter in a Poisson distribution and take a sample from that distribution. The resulting samples of this three-step process will be Poisson-Lognormally distributed.






          share|cite|improve this answer









          $endgroup$



          You can generate a sample by first generating a normally distributed value, then take the exponent of that, then use that as the parameter in a Poisson distribution and take a sample from that distribution. The resulting samples of this three-step process will be Poisson-Lognormally distributed.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered Jan 14 at 12:26









          GijsGijs

          1,739714




          1,739714








          • 1




            $begingroup$
            thank you very much, I have to try this, seems simple process.
            $endgroup$
            – user1993416
            Jan 14 at 12:29














          • 1




            $begingroup$
            thank you very much, I have to try this, seems simple process.
            $endgroup$
            – user1993416
            Jan 14 at 12:29








          1




          1




          $begingroup$
          thank you very much, I have to try this, seems simple process.
          $endgroup$
          – user1993416
          Jan 14 at 12:29




          $begingroup$
          thank you very much, I have to try this, seems simple process.
          $endgroup$
          – user1993416
          Jan 14 at 12:29


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Cross Validated!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstats.stackexchange.com%2fquestions%2f387104%2fhow-to-generate-samples-of-poisson-lognormal-distribution%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith