class AllDistributions extends DiscreteDistributions with ContinuousDistributions with MetropolisDistributions with PosteriorDistributions
A class containing all the standard distributions implemented in cardano.
If you don't need to set the seed, it is simpler to use the companion object Stochastic directly. Otherwise use AllDistributions and provide it with your own org.apache.commons.math3.random.RandomGenerator.
- Alphabetic
- By Inheritance
- AllDistributions
- PosteriorDistributions
- MetropolisDistributions
- ContinuousDistributions
- DiscreteDistributions
- Distributions
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
AllDistributions(randomGenerator: RandomGenerator)
- randomGenerator
the org.apache.commons.math3.random.RandomGenerator which will be used by all random variables.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
beta(a: Double, b: Double): Stochastic[Double]
Creates a Beta random variable.
Creates a Beta random variable.
- a
positive parameter
- b
negative parameter
- returns
a Beta random variable
- Definition Classes
- ContinuousDistributions
-
def
choose[A](distribution: Seq[(A, Prob)])(implicit ev: (DenseVector[Double]) ⇒ QuasiTensor[Int, Double], sumImpl: breeze.linalg.sum.Impl[DenseVector[Double], Double]): Stochastic[A]
Creates a random variable that samples from the discrete distribution given as input.
Creates a random variable that samples from the discrete distribution given as input.
- A
the concrete type of the random variable
- distribution
a discrete distribution given as a (finite) sequence of (value, probability) pairs
- ev
Breeze internals
- sumImpl
Breeze internals
- returns
a random variable that samples from the discrete distribution given as input
- Definition Classes
- DiscreteDistributions
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
coin: Stochastic[Boolean]
See coin.
See coin.
- Definition Classes
- DiscreteDistributions
-
def
coin(p: Prob = 0.5): Stochastic[Boolean]
Creates a Bernoulli random variable.
Creates a Bernoulli random variable.
- p
the probability of a positive outcome
- returns
a Bernoulli random variable
- Definition Classes
- DiscreteDistributions
-
def
constant[A](a: A): Stochastic[A]
Creates a random variable that is constant.
Creates a random variable that is constant.
- A
the concrete type of this random variable
- a
the value of this constant random variable
- returns
a constant random variable
- Definition Classes
- Distributions
-
def
continuousUniform(a: Double, b: Double): Stochastic[Double]
Creates a uniform random variable on [
a,b].Creates a uniform random variable on [
a,b].- a
a first bound on the interval
- b
a second bound on the interval
- returns
a uniform random variable on [
a,b]
- Definition Classes
- ContinuousDistributions
-
def
continuousUniform: Stochastic[Double]
Creates a uniform random variable on [0, 1].
Creates a uniform random variable on [0, 1].
- returns
a uniform random variable on [0, 1]
- Definition Classes
- ContinuousDistributions
-
def
discreteUniform(n: Int): Stochastic[Int]
Creates a random variable that samples uniformly from
0tonexcluded.Creates a random variable that samples uniformly from
0tonexcluded.- n
the number of values that the random variables can take
- returns
a random variable that samples uniformly from
0tonexcluded
- Definition Classes
- DiscreteDistributions
-
def
discreteUniform[A](values: Seq[A]): Stochastic[A]
Creates a random variable that samples uniformly from the values given as input.
Creates a random variable that samples uniformly from the values given as input.
- A
the concrete type of the random variable
- values
values from which to sample
- returns
a random variable that samples uniformly from the values given as input
- Definition Classes
- DiscreteDistributions
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fromMass(mass: Seq[Prob]): Stochastic[Int]
Creates a random variable that samples from the first natural numbers with probabilities given by
mass.Creates a random variable that samples from the first natural numbers with probabilities given by
mass.- mass
a discrete distribution on the first natural numbers given as probabilities
- returns
a random variable that samples from the first natural numbers with probabilities given by
mass
- Definition Classes
- DiscreteDistributions
-
def
gaussian(mean: Double, std: Double): Stochastic[Double]
Creates a normal random variable.
Creates a normal random variable.
- mean
the expectation
- std
the standard deviation
- returns
a normal random variable
- Definition Classes
- ContinuousDistributions
-
def
gaussian: Stochastic[Double]
Creates a standard normal random variable.
Creates a standard normal random variable.
- returns
a standard normal random variable
- Definition Classes
- ContinuousDistributions
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
maxEntropy[A](init: Stochastic[A], inverseTemp: Double, burnIn: Int = defaultSampleBurnIn, interval: Int = defaultSampleInterval)(costFunction: (A) ⇒ Double)(symmetricTransitionFunction: (A) ⇒ Stochastic[A]): Stochastic[A]
Creates a random variable sampled from the maximum entropy distribution of
costFunctionat inverse temperatureinverseTemp.Creates a random variable sampled from the maximum entropy distribution of
costFunctionat inverse temperatureinverseTemp.- A
the concrete type of the random variable
- init
the first term of the Markov chain
- burnIn
the number of initial terms of the chain that are thrown away
- interval
the number of terms of the chain between two samples
- costFunction
a function that gives the cost of every possible value of the random variable
- symmetricTransitionFunction
a function that creates the next term of the Markov chain from the value of the previous one. Jumping back and forth should have the same probability
- returns
a random variable with the maximum entropy distribution of
costFunctionat inverse temperatureinverseTemp
- Definition Classes
- MetropolisDistributions
-
def
metropolis[A](init: Stochastic[A], burnIn: Int = defaultSampleBurnIn, interval: Int = defaultSampleInterval)(logUnnormalizedProbabilityOf: (A) ⇒ Double)(symmetricTransitionFunction: (A) ⇒ Stochastic[A]): Stochastic[A]
Creates a random variable that samples from a Metropolis procedure.
Creates a random variable that samples from a Metropolis procedure.
A Metropolis procedure is simply a Metropolis-Hastings procedure with a symmetric transition function.
If the Markov chain converges properly, the random variable will have a distribution given by
logUnnormalizedProbabilityOf.- A
the concrete type of the random variable
- init
the first term of the Markov chain
- burnIn
the number of initial terms of the chain that are thrown away
- interval
the number of terms of the chain between two samples
- logUnnormalizedProbabilityOf
the unnormalized log density of the target distribution
- symmetricTransitionFunction
a function that creates the next term of the Markov chain from the value of the previous one. Jumping back and forth should have the same probability
- returns
a random variable whose distribution is given by
logUnnormalizedProbabilityOf
- Definition Classes
- MetropolisDistributions
-
def
metropolisHastings[A](init: Stochastic[A], burnIn: Int = defaultSampleBurnIn, interval: Int = defaultSampleInterval)(logUnnormalizedProbabilityOf: (A) ⇒ Double)(logTransitionFunction: (A) ⇒ Stochastic[(A, Double, Double)]): Stochastic[A]
Creates a random variable that samples from a Metropolis-Hastings procedure.
Creates a random variable that samples from a Metropolis-Hastings procedure.
If the Markov chain converges properly, the random variable will have a distribution given by
logUnnormalizedProbabilityOf.- A
the concrete type of the random variable
- init
the first term of the Markov chain
- burnIn
the number of initial terms of the chain that are thrown away
- interval
the number of terms of the chain between two samples
- logUnnormalizedProbabilityOf
the unnormalized log density of the target distribution
- logTransitionFunction
a function that creates the next term of the Markov chain from the value of the previous one. The random variable contains the next value and the log probabilities of transitioning forth and back from the previous value to the next one.
- returns
a random variable whose distribution is given by
logUnnormalizedProbabilityOf
- Definition Classes
- MetropolisDistributions
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
posterior[A, O](prior: Stochastic[A], observations: Seq[O], burnIn: Int = defaultSampleBurnIn, interval: Int = defaultSampleInterval)(likelihood: (A, O) ⇒ Prob): Stochastic[A]
Creates a random variable representing a posterior distribution.
Creates a random variable representing a posterior distribution.
The posterior distribution is built from a prior on the parameter to be inferred, observations, and a generative model of the observations given the parameter (the likelihood).
- A
the concrete type of the parameter
- O
the type of the observations
- prior
the prior distribution
- observations
the observations
- burnIn
the number of initial terms of the chain that are thrown away
- interval
the number of terms of the chain between two samples
- likelihood
a function giving the likelihood of an observation under a given model
- returns
a random variable representing a posterior distribution
- Definition Classes
- PosteriorDistributions
-
def
posteriorByLog[A, O](prior: Stochastic[A], observations: Seq[O], burnIn: Int = defaultSampleBurnIn, interval: Int = defaultSampleInterval)(logLikelihood: (A, O) ⇒ Double): Stochastic[A]
Creates a random variable representing a posterior distribution.
Creates a random variable representing a posterior distribution.
The posterior distribution is built from a prior on the parameter to be inferred, observations, and a generative model of the observations given the parameter (the likelihood).
- A
the concrete type of the parameter
- O
the type of the observations
- prior
the prior distribution
- observations
the observations
- burnIn
the number of initial terms of the chain that are thrown away
- interval
the number of terms of the chain between two samples
- logLikelihood
a function giving the log-likelihood of an observation under a given model
- returns
a random variable representing a posterior distribution
- Definition Classes
- PosteriorDistributions
-
val
randomGenerator: RandomGenerator
- Definition Classes
- AllDistributions → Distributions
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )