opendose_poppk.bayesian

opendose_poppk.bayesian

Bayesian individual parameter estimation.

Classes

MAPEstimator : Maximum A Posteriori individual parameter estimation

class opendose_poppk.bayesian.MAPEstimator(pk: PKModel | None = None, covariate_model: CovariateModel | None = None, sigma_obs: float = 1.0)

Bases: object

Bayesian individual parameter estimation (Maximum A Posteriori).

Finds individual etas that minimize:
obj = Σ[(C_obs − C_pred)² / σ²] + Σ[ηᵢ² / ωᵢ²]

└─ data fidelity ──────┘ └─ population prior ─┘

Example

>>> est = MAPEstimator(pk, covariate_model=cov)
>>> res = est.fit(
...     times=np.array([1, 2, 4, 6]),
...     obs  =np.array([6.8, 7.5, 5.9, 4.1]),
...     patient_covariates={"weight": 90, "crcl": 50},
...     dose=1000.0
... )
>>> print(res["params_map"])
fit(times: ndarray, obs: ndarray, patient_covariates: dict, dose: float, n_iter: int = 3000) dict

Fit individual parameters for a patient.

Parameters:
  • times (observation times (h))

  • obs (observed concentrations)

  • patient_covariates (patient's covariate values)

  • dose (administered dose)

  • n_iter (maximum optimizer iterations)

Return type:

dict with params_map, eta_map, pop_adjusted, converged, obj_value