Expand description
SDE-based Inter-Occasion Variability optimization. SDE-based Inter-Occasion Variability (IOV) analysis.
This module provides optimize_diffusion,
which optimizes SDE diffusion (sigma) parameters for each support point independently, using the
NelderMead algorithm. The optimization runs in parallel over support points via rayon.
§Workflow
- Fit an ODE model with NPAG/NPOD to obtain support points (Stage 1).
- Add sigma parameter columns to the theta using
Theta::with_added_parameter. - Construct an SDE model (user-provided) that maps sigma parameters to diffusion terms.
- Call
optimize_diffusionto optimize sigma per support point.
§Example
ⓘ
use pmcore::prelude::*;
use pmcore::iov::DiffusionOptimize;
use pmcore::iov::DiffusionConfig;
let r_ode = problem.fit_with(NPAG::default())?;
let mut joint = r_ode.get_theta()
.with_added_parameter("ske", 1e-6, 1.0, 0.01)?;
let diff = sde.optimize_diffusion(
&r_ode.data(), &mut joint,
&["ske"], &r_ode.error_models(),
DiffusionConfig::default(),
)?;Structs§
- Diffusion
Config - Configuration for SDE diffusion parameter optimization.
- Diffusion
Result - Results of SDE diffusion parameter optimization.
Traits§
- Diffusion
Optimize - Trait for SDEs that support diffusion parameter optimization.