9

I'm having trouble finding quantile functions for well-known probability distributions in Python, do they exist? In particular, is there an inverse normal distribution function? I couldn't find anything in either Numpy or Scipy.

2

2 Answers 2

7

Check the .ppf() method of any distribution class in scipy.stats. This is the equivalent of a quantile function (otherwise named as percent point function or inverse CDF)

An example with the exponential distribution from scipy.stats:

# analysis libs
import scipy
import numpy as np
# plotting libs
import matplotlib as mpl
import matplotlib.pyplot as plt

# Example with the exponential distribution
c = 0
lamb = 2

# Create a frozen exponential distribution instance with specified parameters
exp_obj = scipy.stats.expon(c,1/float(lamb))

x_in = np.linspace(0,1,200) # 200 numbers in [0,1], input for ppf()
y_out = exp_obj.ppf(x_in)
plt.plot(x_in,y_out) # graphically check the results of the inverse CDF
Sign up to request clarification or add additional context in comments.

Comments

0

It seems new but I've found this about numpy and quantile. Maybe you can have a look (not tested)

1 Comment

That gives the empirical quantiles of a set of observations, rather than the exact quantiles of a theoretical distribution the poster is asking for. It is new to numpy, but gives the same functionality as the function np.percentile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.