Distribution
Defined in: mc/src/distributions/base.js:40
Base class for probability distributions.
Subclasses set this._dist (a @tangent.to/proba distribution) in their
constructor and implement _params() returning the proba parameter
object (fields may be numbers or arrays of numbers).
Extended by
Constructors
Constructor
new Distribution(
name?):Distribution
Defined in: mc/src/distributions/base.js:44
Parameters
name?
string = 'Distribution'
Name of the distribution
Returns
Distribution
Properties
name
name:
string
Defined in: mc/src/distributions/base.js:45
observed
observed:
any
Defined in: mc/src/distributions/base.js:46
Methods
_len()
_len(
value):number
Defined in: mc/src/distributions/base.js:55
Broadcast length across value and parameters (0 = all scalar).
Parameters
value
any
Returns
number
_params()
_params():
any
Defined in: mc/src/distributions/base.js:50
Returns
any
proba parameter object; subclasses must implement
_paramsAt()
_paramsAt(
i):object
Defined in: mc/src/distributions/base.js:63
Parameters
i
any
Returns
object
cdf()
cdf(
value):number
Defined in: mc/src/distributions/base.js:149
Cumulative distribution function (scalar parameters).
Parameters
value
number
Returns
number
dlogProbDx()
dlogProbDx(
value):number|number[]
Defined in: mc/src/distributions/base.js:119
Derivative of logProb with respect to the value, elementwise. Used by Model.logProbAndGradient for analytic prior gradients. Discrete distributions return 0 (no dx in their gradient contract).
Parameters
value
number | any[]
Value(s) at which to differentiate
Returns
number | number[]
getParams()
getParams():
any
Defined in: mc/src/distributions/base.js:211
Get the distribution’s parameters as a plain object. Subclasses override to expose their specific parameters.
Returns
any
Parameters
logpdf()
logpdf(
value):number|number[]
Defined in: mc/src/distributions/base.js:107
Alias for Distribution#logProb, matching the @tangent.to/proba
distribution contract (which names the method logpdf). Lets code written
against proba’s distributions work unchanged on mc’s.
Parameters
value
any
Value(s) to evaluate
Returns
number | number[]
logProb()
logProb(
value):number|number[]
Defined in: mc/src/distributions/base.js:78
Log probability density/mass function. Broadcasts over array values and/or array parameters.
Parameters
value
any
Value(s) to evaluate
Returns
number | number[]
Log probability, elementwise for arrays
mean()
mean():
number|number[]
Defined in: mc/src/distributions/base.js:190
Get the mean of the distribution
Returns
number | number[]
The mean
observe()
observe(
data):Distribution
Defined in: mc/src/distributions/base.js:181
Set observed data for this distribution
Parameters
data
number | any[]
Observed data
Returns
Distribution
this, for chaining
pdf()
pdf(
value):number|number[]
Defined in: mc/src/distributions/base.js:139
Probability density/mass function, exp(logProb(value)).
Parameters
value
number | any[]
Value(s) to evaluate
Returns
number | number[]
quantile()
quantile(
p):number
Defined in: mc/src/distributions/base.js:158
Quantile (inverse cdf) function (scalar parameters).
Parameters
p
number
Probability in [0, 1]
Returns
number
sample()
sample(
shape?):number|number[]
Defined in: mc/src/distributions/base.js:170
Sample from the distribution using the package RNG (see setRandomSeed).
sample() / sample([]) return a number; sample(n) / sample([n])
return an Array of n draws.
Parameters
shape?
number | number[]
Number of samples
Returns
number | number[]
variance()
variance():
number|number[]
Defined in: mc/src/distributions/base.js:200
Get the variance of the distribution
Returns
number | number[]
The variance