Эквивалент Python из функции R BetaExpert - PullRequest
0 голосов
/ 10 ноября 2018

Предоставляет ли какая-либо из библиотек Python эквивалент функции BetaExpert из R? (https://rdrr.io/cran/prevalence/man/betaExpert.html)

Это позволяет вам дать экспертное мнение (т.е. на 90% уверен, что это больше 0,7, скорее всего 0,9) и вывести альфа / бета-параметры для бета-дистрибутива, который охватывает это.

scipy.stats.beta и numpy.random.beta имеют различные функции, но ничего похожего на функцию R выше, которую я могу найти.

Спасибо, GD

1 Ответ

0 голосов
/ 12 ноября 2018

Решение этого дано в https://www.codeproject.com/Articles/56371/Finding-Probability-Distribution-Parameters-from-P

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])   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...