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

parameter_names

List of names of all parameters used in definition

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#
parameter_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]#