create_joint_distribution#

pharmpy.modeling.create_joint_distribution(model, rvs=None, individual_estimates=None)[source]#

Combines some or all etas into a joint distribution.

The etas must be IIVs and cannot be fixed. Initial estimates for covariance between the etas is dependent on whether the model has results from a previous run. In that case, the correlation will be calculated from individual estimates, otherwise correlation will be set to 10%.

Parameters:
  • model (Model) – Pharmpy model

  • rvs (list) – Sequence of etas or names of etas to combine. If None, all etas that are IIVs and non-fixed will be used (full block). None is default.

  • individual_estimates (pd.DataFrame) – Optional individual estimates to use for calculation of initial estimates

Returns:

Model – Pharmpy model object

Examples

>>> from pharmpy.modeling import load_example_model, create_joint_distribution
>>> model = load_example_model("pheno")
>>> model.random_variables.etas
ETA_CL ~ N(0, IIV_CL)
ETA_VC ~ N(0, IIV_VC)
>>> model = create_joint_distribution(model, ['ETA_CL', 'ETA_VC'])
>>> model.random_variables.etas
⎡ETA_CL⎤    ⎧⎡0⎤  ⎡   IIV_CL      IIV_CL_IIV_VC⎤⎫
⎢      ⎥ ~ N⎪⎢ ⎥, ⎢                            ⎥⎪
⎣ETA_VC⎦    ⎩⎣0⎦  ⎣IIV_CL_IIV_VC     IIV_VC    ⎦⎭

See also

split_joint_distribution

split etas into separate distributions