The betaExpert
function fits a (standard) Beta distribution to expert opinion. The expert provides information on a bestguess estimate (mode or mean), and an uncertainty range:
The parameter value is with p*100%
certainty greater than lower
The parameter value is with p*100%
certainty smaller than upper
The parameter value lies with p*100%
in between lower
and upper
betaExpert(best, lower, upper, p = 0.95, method = "mode")
## S3 method for class 'betaExpert'
print(x, conf.level = .95, ...)
## S3 method for class 'betaExpert'
plot(x, y, ...)
best

Bestguess estimate; see argument method

lower

Lower uncertainty limit 
upper

Upper uncertainty limit 
p

Expertâ€™s certainty level 
method

Does bestguess estimate correspond to the mode or to the mean ? Defaults to mode

x

Object of class betaExpert

y

Currently not implemented 
conf.level

Confidence level used in printing quantiles of resulting Beta distribution 
...

Other arguments to pass to function print and plot

The methodology behind the betaExpert
function is presented by Branscum et al. (2005) and implemented in the BetaBuster software, written by ChunLung Su.
The parameters of a standard Beta distribution are calculated based on a bestguess estimate and a (p)100% uncertainty range, defined by a lower and/or upper limit. The betaExpert
function uses minimization (function optimize
) to derive \(\alpha\) and \(\beta\) from this best guess and lower and/or upper limit. The resulting distribution is a standard 2parameter Beta distribution: \(Beta(\alpha, \beta)\).
A list of class "betaExpert"
:
alpha

Parameter \(\alpha\) (shape1) of the Beta distribution 
beta

Parameter \(\beta\) (shape2) of the Beta distribution 
The print
method for "betaExpert"
additionally calculates the mean, median, mode, variance and range of the corresponding Beta distribution.
Package rriskDistributions, which provides a collection of functions for fitting distributions to given data or by known quantiles.
betaPERT
for modelling a generalized Beta distribution based on expert opinion
## Most likely value (mode) is 90%
## Expert states with 95% certainty that true value is larger than 70%
betaExpert(best = 0.90, lower = 0.70, p = 0.95)
#> alpha beta mean median mode var 2.5%
#> 1 15.03422 2.559357 0.8545289 0.8680246 0.9 0.006685605 0.6616688
#> 97.5%
#> 1 0.9726358
plot(
betaExpert(best = 0.90, lower = 0.70, p = 0.95))
## Most likely value (mode) is 0%
## Expert states with 95% certainty that true value is smaller than 40%
plot(
betaExpert(best = 0, upper = 0.40, p = 0.95))
## Most likely value (mode) is 80%
## Expert states with 90% certainty that true value lies in between 40% and 90%
plot(
betaExpert(best = 0.80, lower = 0.40, upper = 0.90, p = 0.90))
## Mean value is assumed to be 80%
## Expert states with 90% certainty that true value lies in between 40% and 90%
plot(
betaExpert(best = 0.80, lower = 0.40, upper = 0.90, p = 0.90, method = "mean"))