Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Simulation of beta-binomial distribution

  1. May 4, 2012 #1
    Hi all!

    I'm trying to solve the following problem.

    The number of successes in a sequence of N yes/no experiments (i.e., N Bernoulli trials), each of which yields success with probability p, is given by the well-known binomial distribution. This is true if the success probability p is constant and the same for all the N trials.

    However, when the probability of success, p, is different for each trial, p_1, p_2, ..., p_N, then the number of successes does not follow a binomial distribution, but a Poisson's binomial distribution instead:

    wikipedia--> /Poisson_binomial_distribution

    I understand that the Poisson's binomial distribution is valid for any set of probabilities p_1, p_2, ..., p_N.

    In my problem, I know that the probabilities p_1, p_2, ..., p_N follow a beta distribution. I found out that, in such a case, the resulting PMF of the number of successes in N trials is given by the beta-binomial distribution:

    wikipedia --> /Beta-binomial_distribution

    However, I have been playing a bit with some simulation and it seems that this distribution does not fit the resulting PMF. I'm attaching a Matlab file that makes some simulation and generates the PMFs.

    What am I doing wrong? Is it possible to exploit the knowledge that the p_1, p_2, ..., p_N follow a beta distribution to simply the general Poison's binomial case? What is the PMF that I need?

    Many thanks in advance!

    Fryderyk C.

    Attached Files:

  2. jcsd
  3. May 4, 2012 #2

    Stephen Tashi

    User Avatar
    Science Advisor

    I don't know matlab. Did you draw a new value of p on each bernoulli trial? You comment says you intended to, but I don't see where this happened inside your loop on t.
  4. May 5, 2012 #3
    Thanks for quick reply.

    Basically my problem is that I have a set of N "things" I observe at different time instants t, and I know the success/failure probabilities for each "thing". What I need is the probability to observe k successes in each observation of the N "things".

    So I first generate a vector p with N beta-distributed random numbers --> p = betarnd(a,b,1,N), which remains always the same.

    Then I use the same set of probabilities p = p_1, p_2,...,p_N in every iteration of the loop on t.

    In the problem I'm studying, the N values of p are known and constant. I thought this might be the reason why the beta-binomial distribution doesn't fit. However, I tried drawing different values of p in every iteration of the loop on t and the result doesn't fit the beta-binomial distribution either. In this case, even the Poisson's binomial distribution doesn't fit!! Any ideas? Thanks!
  5. May 5, 2012 #4


    User Avatar
    Science Advisor

    If you have independent events for each 'thing' but the probabilities for each thing is different, then you can use what is called a probability generating function to generate the distribution even if each thing has a different probability.

  6. May 9, 2012 #5
    I don't think your description fits the Beta-Binomial distribution but rather the Poisson-Binomial distribution, the moment you know the probability of success of your event within a period t it is irrelevant if you know it because X follows a Beta distribution or any other, the fact is that you know it.
    Last edited: May 10, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook