Simulation of beta-binomial distribution

fchopin
Messages
10
Reaction score
0
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.
 

Attachments

Physics news on Phys.org
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.
 
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!
 
fchopin said:
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!

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.

http://en.wikipedia.org/wiki/Probability-generating_function
 
fchopin said:
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!

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:
Hi all, I've been a roulette player for more than 10 years (although I took time off here and there) and it's only now that I'm trying to understand the physics of the game. Basically my strategy in roulette is to divide the wheel roughly into two halves (let's call them A and B). My theory is that in roulette there will invariably be variance. In other words, if A comes up 5 times in a row, B will be due to come up soon. However I have been proven wrong many times, and I have seen some...
Thread 'Detail of Diagonalization Lemma'
The following is more or less taken from page 6 of C. Smorynski's "Self-Reference and Modal Logic". (Springer, 1985) (I couldn't get raised brackets to indicate codification (Gödel numbering), so I use a box. The overline is assigning a name. The detail I would like clarification on is in the second step in the last line, where we have an m-overlined, and we substitute the expression for m. Are we saying that the name of a coded term is the same as the coded term? Thanks in advance.
Back
Top