使用均值和方差计算 Beta 分布的参数

机器算法验证 r 分布 估计 贝塔分布
2022-02-01 22:49:06

如果我知道我希望分布具有的均值和方差,我如何计算 Beta 分布的 $\alpha$ 和 $\beta$ 参数?执行此操作的 R 命令示例将是最有帮助的。

4个回答

我设置$$\mu=\frac{\alpha}{\alpha+\beta}$$和$$\sigma^2=\frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\ beta+1)}$$ 并求解 $\alpha$ 和 $\beta$。我的结果表明$$\alpha=\left(\frac{1-\mu}{\sigma^2}-\frac{1}{\mu}\right)\mu^2$$and$$\beta =\alpha\left(\frac{1}{\mu}-1\right)$$

我编写了一些 R 代码来根据给定的均值 mu 和方差 var 估计 Beta 分布的参数:

estBetaParams <- function(mu, var) {
  alpha <- ((1 - mu) / var - 1 / mu) * mu ^ 2
  beta <- alpha * (1 / mu - 1)
  return(params = list(alpha = alpha, beta = beta))
}

对于任何给定的 Beta 发行版,$\mu$ 和 $\sigma^2$ 的界限都存在一些混淆,所以让我们在此明确说明。

  1. $\mu=\frac{\alpha}{\alpha+\beta}\in\left(0, 1\right)$
  2. $\sigma^2=\frac{\alpha\beta}{\left(\alpha+\beta\right)^2\left(\alpha+\beta+1\right)}=\frac{\mu\left(1 -\mu\right)}{\alpha+\beta+1}<\frac{\mu\left(1-\mu\right)}{1}=\mu\left(1-\mu\right)\in \左(0,0.5^2\右)$

这是解决这些类型问题的通用方法,使用 Maple 而不是 R。这也适用于其他发行版:

with(Statistics):
eq1 := mu = Mean(BetaDistribution(alpha, beta)):
eq2 := sigma^2 = Variance(BetaDistribution(alpha, beta)):
solve([eq1, eq2], [alpha, beta]);

这导致了解决方案

$$ \begin{align*} \alpha &= - \frac{\mu (\sigma^2 + \mu^2 - \mu)}{\sigma^2} \\ \beta &= \frac{(\ sigma^2 + \mu^2 - \mu) (\mu - 1)}{\sigma^2}。\end{对齐*} $$

这相当于 Max 的解决方案。

在 R 中,参数 $\textbf{shape1} = a$ 和 $\textbf{shape2} = b$ 的beta 分布具有密度

$f(x) = \frac{\Gamma(a+b)}{\Gamma(a) \Gamma(b)} x^{a-1}(1-x)^{b-1}$,

对于 $a > 0$、$b >0$ 和 $0 < x < 1$。

在 R 中,您可以通过以下方式计算它

dbeta(x, shape1=a, shape2=b)

在该参数化中,均值是 $E(X) = \frac{a}{a+b}$,方差是 $V(X) = \frac{ab}{(a + b)^2 (a + b + 1)}$。所以,您现在可以按照 Nick Sabbe 的回答。

干得好!

编辑

我发现:

$a = \left( \frac{1 - \mu}{V} - \frac{1}{\mu} \right) \mu^2$,

$b = \left( \frac{1 - \mu}{V} - \frac{1}{\mu} \right) \mu (1 - \mu)$,

其中 $\mu=E(X)$ 和 $V=V(X)$。

例如,在 Wikipedia 上,您可以找到以下公式来计算给定 alpha 和 beta 的 beta 分布的均值和方差: $$ \mu=\frac{\alpha}{\alpha+\beta} $$ 和 $$ \sigma^2 =\frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\beta+1)} $$ 取反(填写 $\beta=\alpha(\frac{1}{\mu} -1)$ 在底部等式中)应该给你你想要的结果(虽然它可能需要一些工作)。