Dağılımın olmasını istediğim ortalama ve varyansı biliyorsanız, bir Beta dağılımı için ve β parametrelerini nasıl hesaplayabilirim ? Bunu yapmak için bir R komutu örnekleri en yararlı olacaktır.
Dağılımın olmasını istediğim ortalama ve varyansı biliyorsanız, bir Beta dağılımı için ve β parametrelerini nasıl hesaplayabilirim ? Bunu yapmak için bir R komutu örnekleri en yararlı olacaktır.
Yanıtlar:
Μ = α ayarını yaptım veσ2=αβ
Beta dağılımının parametrelerini belirli bir ortalama, mu ve varyanstan tahmin etmek için bazı R kodları yazdım: 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)
alıyorum alpha=-0.025
, beta=-0.35
. Bu nasıl mümkün olabilir?
İşte bu tür problemleri çözmenin genel bir yolu, R yerine Maple kullanarak. Bu, diğer dağıtımlarda da işe yarar:
with(Statistics):
eq1 := mu = Mean(BetaDistribution(alpha, beta)):
eq2 := sigma^2 = Variance(BetaDistribution(alpha, beta)):
solve([eq1, eq2], [alpha, beta]);
çözüm yol açar
Bu Max'in çözümüne eşdeğerdir.
hangi vermek için ters çevrilebilir:
nerede
Python'u arıyordum ama bunun üzerine tökezledi. Yani bu benim gibi başkaları için faydalı olacaktır.
Beta parametrelerini tahmin etmek için bir python kodu (yukarıda verilen denklemlere göre):
# 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