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 including random variable itself
Name of VariabilityLevel of the random variables
Names of random variables of distribution
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
- 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})