Binomial Distribution: Find p, given CDF

arup
Messages
9
Reaction score
0
I have a question about binomial distribution

There is a random var X follows Binomial distribution ~B(n,p), where n is known but p is UNKNOWN.

It is also known that a for known value of x, CDF(x) = Pr(X<=x) = 0.9

Is there anyway to estimate p?

To give a concrete example, if n=8, CDF(5) = 0.9, can I find p?
 
Physics news on Phys.org
Hi arup,

The CDF for the binomial would be
P(X≤x)=\sum_{k=0}^x {n\choose k}p^k(1-p)^{n-k}
so in your example you would have
0.9=\sum_{k=0}^5 {8\choose k}p^k(1-p)^{8-k}
which is a simple equation with p as unknown variable.

So yeah, you can find p. :smile:
 
Thanks for the reply.

But from the equation

P(X≤x)=0.9 =\sum_{k=0}^x {n\choose k}p^k(1-p)^{n-k}
how do I solve for p? i.e., how do I express p as a function of (0.9,x,n)?
I am not sure how to do that using algebraic manipulation?
 
arup said:
Thanks for the reply.

But from the equation

P(X≤x)=0.9 =\sum_{k=0}^x {n\choose k}p^k(1-p)^{n-k}
how do I solve for p? i.e., how do I express p as a function of (0.9,x,n)?
I am not sure how to do that using algebraic manipulation?

You have a polynomial of degree n. For n > 4 you probably need to use numerical technique.
 
I see. Thank you.

I am not familiar with numerical techniques to solve polynomial f(x)

A quick look at wikipedia/wolfram shows that there are many different root finding algorithms.

Can anybody suggest what method should be used to solve the equation I noted earlier? and what tool should I use to solve this?
 
arup said:
I see. Thank you.

I am not familiar with numerical techniques to solve polynomial f(x)

A quick look at wikipedia/wolfram shows that there are many different root finding algorithms.

Can anybody suggest what method should be used to solve the equation I noted earlier? and what tool should I use to solve this?

Every tool has its merits, tell us a bit about your field of research, studies... this way we can advice you better.
 
My area of research is reliability of computer architecture.

The problem that I am trying to solve is the following:

There is a data array consisting of n elements. Each of n elements can fail independently with probability p. The entire data array will fail if there are more than k failures (k < n).

Now I know probability of data array failure. i.e., Prob{less than/equal to k failures} = 0.9. I also known n (typical value may be 8). How can I find out p?
 
I see, well, in this case probably you want to use some symbolic math package so that you can get simplified expressions for your particular problem, for example using Maxima for your problem with data n=8, and F(5)=0.9 the equation you need to solve is 1 = 210 p^8-480 p^7+280 p^6 and solving it with Maxima you have p = 0.46178460348232

for more information about Maxima you can visit http://maxima.sourceforge.net/docs/tutorial/en/gaertner-tutorial-revision/Contents.htm

Actually there are many many different ways to calculate p but since you're into computing you might also want to implement yourself the algorithm to calculate p, if this is the case I would recommend Newton's Method for your problem http://en.wikipedia.org/wiki/Newton's_method
 
Last edited:
Thanks! Appreciate it.
 
  • #10
arup said:
Thanks! Appreciate it.

You're Welcome :smile:
 
  • #11
How do I use Maxima to solve the equation above?

This is what I get from Maxima:(%i25) solve(1=210*p^8 - 480*p^7 + 280*p^6,p);
8 7 6
(%o25) [0 = 210 p - 480 p + 280 p - 1]

how do I get value of p?
 
  • #12
arup said:
How do I use Maxima to solve the equation above?

how do I get value of p?

solve in Maxima tries to give you a symbolic solution, since Maxima didn't find any explicit solution for this equation it simply returns it back.

In this case you need some numerical method like Newton or other similar to this one. Look for numerical methods in Maxima, also a very handy command in Maxima is describe(command).

Good Luck! :smile:
 
Back
Top