A collection of ambiguity sets, or sets of probability distributions.

This application is built for Julia 0.6. If not already installed, the application can be cloned using

```
Pkg.clone("https://github.com/ajkeith/SimpleProbabilitySets.jl")
```

`SimpleProbabilitySets.jl`

currently includes discrete P-boxes and discrete interval probability sets.

Discrete interval-based probability sets contain all probability distributions such that the probability of each component belongs to a pre-defined interval. The intervals can be defined componentwise. Note that `plower`

and `pupper`

are a set of lower and upper interval bounds, not probability distributions.

```
using SimpleProbabilitySets
plower = [0.1, 0.2, 0.5]
pupper = [0.4, 0.4, 0.7]
pset1 = PInterval(plower, pupper)
```

The discrete interval-based probability set can also be defined using a nominal distribution and an interval half-width.

```
using SimpleProbabilitySets
dnominal = [0.1, 0.2, 0.5]
halfwidth = 0.05
pset2 = PInterval(dnominal, halfwidth)
```

Use the Distributions.jl package to build a P-box from an upper and lower distribution. A discrete P-box containts all probability ditrubtions whose CDF belongs to a set of CDFs defined by an "upper" and "lower" CDF.

```
using SimpleProbabilitySets
using Distributions
dlower = Categorical([0.1, 0.2, 0.7])
dupper = Categorical([0.4, 0.4, 0.2])
pset3 = PBox(dlower, dupper)
```

To sample a probabiliy distribution from the set of distributions, use

```
psample(plower, pupper)
```

where `plower`

and `pupper`

are vectors of lower and upper interval bounds. This sampling function calls the R library `hitandrun`

with details published in Tervonen et al. (2013).

If this code is useful to you, please star this package and consider citing the following paper.

Tervonen, T., van Valkenhoef, G., Baştürk, N., & Postmus, D. (2013). Hit-And-Run enables efficient weight generation for simulation-based multiple criteria decision analysis. European Journal of Operational Research, 224(3), 552–559. https://doi.org/10.1016/j.ejor.2012.08.026

09/12/2018

over 2 years ago

9 commits