Helpers for expert elicitation into distributions.
Project description
Elicited
Helper tools to construct probability distributions built from expert elicited data for use in monte carlo simulations.
Usage
pip install elicited
import elicited
elicited
is just a helper tool when using numpy and scipy, so you'll need these in your code.
import numpy as np
import scipy
Lognormal
See Occurance and Applications for examples of lognormal distributions in nature.
Expert: Most customers hold around $20K (
val_mod
) but I could imagine a customer with $2.5M (val_max
)
logN_mean, logN_stdv = d.elicitLogNormal(val_mod, val_max)
Pareto
The 80/20 rule. See Occurance and Applications
Expert: The legal costs of an incident could be devastating. Typically costs are almost zero (
val_min
) but a black swan could be $100M (val_max
).
b = elicitPareto(val_min, val_max)
p = pareto(b, loc=val_min-1., scale=1.))
PERT
Expert: Our customers have anywhere from $500-$6000 (
val_min
/val_max
), but it's most typically around $4500 (val_mod
)
PERT_a, PERT_b = elicitPERT(val_min, val_mod, val_max)
pert = beta(PERT_a, PERT_b, loc=val_min, scale=val_max-val_min)
Zipf's
See Applications
Expert: If we get sued, there will only be a few litigants (
nMin
). Very rarely it could be 30 or more litigants (nMax
), maybe once every thousand cases (pMax
) it would be more.
Zs = elicitZipf(nMin, nMax, pMax, report=True)
pd = zipf(Zs, nMin-1)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.