我需要获取beta分布的第N分位数,或等价地,95%或99%的百分位数。在Maple中,这要容易得多,因为它允许符号输入-但是Python如何实现呢?
我已经搜索了stackoverflow,并且似乎人们通常只关注正态分布。
我需要获取beta分布的第N分位数,或等价地,95%或99%的百分位数。在Maple中,这要容易得多,因为它允许符号输入-但是Python如何实现呢?
我已经搜索了stackoverflow,并且似乎人们通常只关注正态分布。
scipy.stats.beta.ppf(prob,2,N-2)
from scipy.stats import beta
import numpy as np
a, b = 2.31, 0.627
x = np.linspace(beta.ppf(0.01, a, b), beta.ppf(0.99, a, b), 100)
distribution=beta.pdf(x, a, b)
def quantile(x,quantiles):
xsorted = sorted(x)
qvalues = [xsorted[int(q * len(xsorted))] for q in quantiles]
return zip(quantiles,qvalues)
quantiles = quantile(distribution,[0.05,0.16,.5,.84, 0.95])
x=1
是否处于95%的百分位吗?你可以使用scipy.stats.beta
来实现。 - Julien