Binomial Distribution: Find p, given CDF

Click For Summary
SUMMARY

This discussion focuses on estimating the probability parameter p in a binomial distribution given a known cumulative distribution function (CDF). Specifically, the problem involves a binomial distribution B(n, p) where n is known (e.g., n=8) and CDF(x) = 0.9 for a specific value of x (e.g., x=5). Participants suggest using numerical techniques, such as Newton's Method, and tools like Maxima to solve the polynomial equation derived from the CDF. The final solution for p in the example provided is approximately 0.4618.

PREREQUISITES
  • Understanding of binomial distribution and its properties
  • Familiarity with cumulative distribution functions (CDF)
  • Basic knowledge of polynomial equations and algebraic manipulation
  • Experience with numerical methods for root finding, specifically Newton's Method
NEXT STEPS
  • Learn how to implement Newton's Method for root finding in programming languages like Python or R
  • Explore the Maxima software for symbolic and numerical computation
  • Study polynomial equations and their solutions in the context of probability theory
  • Investigate other numerical techniques for solving polynomial equations, such as the Bisection Method or Secant Method
USEFUL FOR

Statisticians, data scientists, and researchers in fields involving probability and statistical modeling, particularly those working with binomial distributions and numerical analysis.

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:
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 10 ·
Replies
10
Views
6K
Replies
1
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 33 ·
2
Replies
33
Views
4K
  • · Replies 6 ·
Replies
6
Views
5K