FiniteDistribution#

class pharmpy.model.FiniteDistribution(name, level, probabilities)[source]#

Bases: Distribution

A finite discrete distribution

Parameters:
  • name (str) – Name of the random variable

  • level (str) – Name of the variability level

  • probabilities (frozenmapping[int, Expr]) – Probabilities for each value

Example

>>> from pharmpy.model import FiniteDistribution, Parameter
>>> mixprob = Parameter.create('MIXPROB', 0.1)
>>> dist = FiniteDistribution.create("MIX", "IIV", {1: mixprob.symbol, 2: 1 - mixprob.symbol})
>>> dist
MIX ~ Finite({P(1) = MIXPROB, P(2) = 1 - MIXPROB})

Attributes Summary

free_symbols

Free symbols including random variable itself

level

Name of VariabilityLevel of the random variables

mean

names

Names of random variables of distribution

probabilities

variance

Methods Summary

create(name, level, probabilities)

evalf(parameters)

from_dict(d)

get_covariance(name1, name2)

get_variance(name)

latex_string([aligned])

replace(**kwargs)

Replace properties and create a new FiniteDistribution

subs(d)

Substitute expressions

to_dict()

Attributes Documentation

free_symbols#

Free symbols including random variable itself

level#
mean#
names#
probabilities#
variance#

Methods Documentation

classmethod create(name, level, probabilities)[source]#
evalf(parameters)[source]#
classmethod from_dict(d)[source]#
get_covariance(name1, name2)[source]#
get_variance(name)[source]#
latex_string(aligned=False)[source]#
replace(**kwargs)[source]#

Replace properties and create a new FiniteDistribution

subs(d)[source]#

Substitute expressions

Parameters:

d (dict) – Dictionary of from: to pairs for substitution

Examples

>>> import sympy
>>> from pharmpy.basic import Expr
>>> from pharmpy.model import FiniteDistribution, Parameter
>>> mixprob = Parameter.create('MIXPROB', 0.1)
>>> dist = FiniteDistribution.create("MIX", "IIV", {1: mixprob.symbol, 2: 1 - mixprob.symbol})
>>> dist
MIX ~ Finite({P(1) = MIXPROB, P(2) = 1 - MIXPROB})
>>> dist = dist.subs({mixprob.symbol: Expr.symbol("NEWSYMBOL")})
>>> dist
MIX ~ Finite({P(1) = NEWSYMBOL, P(2) = 1 - NEWSYMBOL})
to_dict()[source]#