Constructing probability boxes

A probability distribution can be created by using it's shape and parameters:

julia> a = normal(0,1)
Pbox: 	  ~ normal ( range=[-3.090232,3.090232], mean=0.0, var=1.0)

In ProbabilityBoundsAnalysis.jl probability distributions are p-boxes, but with equal bounds and precise moments.

The IntervalArithmetic.jl package is used to create intervals:

julia> b = interval(0,1)
[0, 1]

IntervalArithmetic.jl will work natively with ProbabilityBoundsAnalysis.jl, however an interval can be converted to a p-box in the following way:

julia> b = makepbox(interval(0,1))
Pbox: 	  ~  ( range=[0.0,1.0], mean=[0.0,1.0], var=[0.0,0.25])

There are a number of ways that p-boxes can be created. For example they are the result of arithemtic between random variables with unknown dependence. They can also be defined by using a distributions shape but with interval parameters:

julia> c = normal(interval(0,1),1)
Pbox: 	  ~ normal ( range=[-3.09023,4.0902322], mean=[0.0,1.0], var=1.0)

or by taking the envelope over a number of uncertain numbers:

julia> d = normal(-1,1); 
julia> e = normal(1, interval(1,2));
julia> f = env(d,e)
Pbox: 	  ~ normal ( range=[-5.18046,7.1804646], mean=[-1.0,1.0], var=[1.0,4.0])

and may be plotted as follows:

julia> using PyPlot
julia> plot(f)

"a probability box"

In ProbabilityBoundsAnalysis.jl all plots of uncertain numbers are of their cdfs.

Supported parametric distributions:

  • normal
  • uniform
  • beta
  • betaPrime
  • biweght
  • cauchy
  • chi
  • chisq
  • cosine
  • epanechnikov
  • erlang
  • exponential

Supported distribution free p-boxes:

  • meanVar
  • meanMin
  • meanMax
  • meanMinMax
  • minMaxMeanVar

KN c-boxes also supported.

All constructors support interval arguments.