R BetaExpert函数的Python等价

R BetaExpert函数的Python等价,python,numpy,scipy,Python,Numpy,Scipy,是否有任何Python库提供了与R中的BetaExpert函数等价的函数?() 这样做的目的是让您给出专家意见(即90%确定它大于0.7,最有可能为0.9),并输出涵盖此内容的beta分布的alpha/beta参数 scipy.stats.beta和numpy.random.beta有各种各样的函数,但我找不到与上面的R函数相比的任何函数 谢谢, GD解决方案见 from scipy import stats, optimize def beta_parameters(x1, p1, x2, p

是否有任何Python库提供了与R中的BetaExpert函数等价的函数?()

这样做的目的是让您给出专家意见(即90%确定它大于0.7,最有可能为0.9),并输出涵盖此内容的beta分布的alpha/beta参数

scipy.stats.beta和numpy.random.beta有各种各样的函数,但我找不到与上面的R函数相比的任何函数

谢谢,
GD

解决方案见

from scipy import stats, optimize
def beta_parameters(x1, p1, x2, p2):
    "Find parameters for a beta random variable X so that P(X > x1) = p1 and P(X > x2) = p2."

    def square(x): 
        return x*x

    def objective(v):
        (a, b) = v
        temp  = square( stats.beta.cdf(x1, a, b) - p1 )
        temp += square( stats.beta.cdf(x2, a, b) - p2 )
        return temp

    # arbitrary initial guess of (3, 3) for parameters
    xopt = optimize.fmin(objective, (3, 3))
    return (xopt[0], xopt[1])