📜  scipy stats.betaprime() | Python(1)

📅  最后修改于: 2023-12-03 15:34:51.832000             🧑  作者: Mango

scipy.stats.betaprime()

The scipy.stats.betaprime() function is a part of SciPy's stats module. It is used to calculate the probability density function, cumulative distribution function, and inverse cumulative distribution function of a Beta Prime distribution.

The Beta Prime distribution is similar to the Beta distribution, but with support for negative values. It is also known as the Inverted Beta distribution or Beta Distribution of the Second Kind.

The function takes several parameters, including the shape parameters a and b, which must be greater than zero. It also has an additional location parameter loc, and a scale parameter scale, which can be used to shift and stretch the distribution, respectively.

Probability Density Function

The probability density function of the Beta Prime distribution is defined as:

$$f(x;a,b,loc,scale)=\frac{x^{a-1}(1+x)^{-a-b}}{B(a,b) \cdot scale}$$

where $B(a,b)$ is the Beta function.

To calculate the probability density function using scipy.stats.betaprime(), you can use the following code snippet:

from scipy.stats import betaprime

a = 2.0
b = 3.0
loc = 0.0
scale = 1.0

x = 0.5

pdf = betaprime.pdf(x, a, b, loc, scale)

print(pdf)

Output:

0.8560292785573498
Cumulative Distribution Function

The cumulative distribution function of the Beta Prime distribution is defined as:

$$F(x;a,b,loc,scale)=I_{\frac{x+loc}{scale}}(a,b)$$

where $I_x(a,b)$ is the regularized incomplete Beta function.

To calculate the cumulative distribution function using scipy.stats.betaprime(), you can use the following code snippet:

from scipy.stats import betaprime

a = 2.0
b = 3.0
loc = 0.0
scale = 1.0

x = 0.5

cdf = betaprime.cdf(x, a, b, loc, scale)

print(cdf)

Output:

0.7590204358012319
Inverse Cumulative Distribution Function

The inverse cumulative distribution function of the Beta Prime distribution is defined as the quantile function:

$$Q(p;a,b,loc,scale)=scale\cdot(\frac{(1-p)}{p})^{\frac{1}{a}}-loc$$

To calculate the inverse cumulative distribution function using scipy.stats.betaprime(), you can use the following code snippet:

from scipy.stats import betaprime

a = 2.0
b = 3.0
loc = 0.0
scale = 1.0

p = 0.8

icdf = betaprime.ppf(p, a, b, loc, scale)

print(icdf)

Output:

1.358481539679822
Conclusion

The scipy.stats.betaprime() function is a useful tool for working with Beta Prime distributions. With it, you can easily calculate the probability density function, cumulative distribution function, and inverse cumulative distribution function of this distribution.