Як я можу обчислити параметри і β для бета-розподілу, якщо я знаю середнє значення та дисперсію, яку я хочу мати у розподілі? Приклади команди R для цього були б найбільш корисними.
Як я можу обчислити параметри і β для бета-розподілу, якщо я знаю середнє значення та дисперсію, яку я хочу мати у розподілі? Приклади команди R для цього були б найбільш корисними.
Відповіді:
Встановлю іσ2=αβ
Я написав деякий код R для оцінки параметрів розподілу бета-версії з заданої середньої, мю та дисперсії, var:
estBetaParams <- function(mu, var) {
alpha <- ((1 - mu) / var - 1 / mu) * mu ^ 2
beta <- alpha * (1 / mu - 1)
return(params = list(alpha = alpha, beta = beta))
}
estBetaParams(0.06657, 0.1)
я alpha=-0.025
, beta=-0.35
. Як це можливо?
Ось загальний спосіб вирішити такі проблеми, використовуючи Maple замість R. Це працює і для інших дистрибутивів:
with(Statistics):
eq1 := mu = Mean(BetaDistribution(alpha, beta)):
eq2 := sigma^2 = Variance(BetaDistribution(alpha, beta)):
solve([eq1, eq2], [alpha, beta]);
що призводить до рішення
Це еквівалентно рішення Макса.
який можна перевернути, щоб дати:
де
Я шукав пітона, але натрапив на це. Тож це було б корисно для інших, як я.
Ось код python для оцінки бета-параметрів (відповідно до наведених вище рівнянь):
# estimate parameters of beta dist.
def getAlphaBeta(mu, sigma):
alpha = mu**2 * ((1 - mu) / sigma**2 - 1 / mu)
beta = alpha * (1 / mu - 1)
return {"alpha": 0.5, "beta": 0.1}
print(getAlphaBeta(0.5, 0.1) # {alpha: 12, beta: 12}
scipy.stats.beta