FiniteDistribution#
- class pharmpy.model.FiniteDistribution(name, level, probabilities)[source]#
Bases:
DistributionA 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
List of names of all parameters used in definition
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
- 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})