Skip to main content

DiffusionOptimize

Trait DiffusionOptimize 

Source
pub trait DiffusionOptimize {
    // Required method
    fn optimize_diffusion(
        &self,
        data: &Data,
        theta: &mut Theta,
        sigma_params: &[String],
        error_models: &AssayErrorModels,
        posterior: Option<&Posterior>,
        config: DiffusionConfig,
    ) -> Result<DiffusionResult>;
}
Expand description

Trait for SDEs that support diffusion parameter optimization.

This enables method-style calls: sde.optimize_diffusion(...).

Required Methods§

Source

fn optimize_diffusion( &self, data: &Data, theta: &mut Theta, sigma_params: &[String], error_models: &AssayErrorModels, posterior: Option<&Posterior>, config: DiffusionConfig, ) -> Result<DiffusionResult>

Optimize SDE diffusion parameters for each support point independently.

Modifies theta in-place: for each support point, the sigma parameter columns are replaced with values that maximize the log-likelihood of all subjects under this SDE. Primary (non-sigma) parameter values are held fixed.

If posterior is provided, subject contributions are weighted by their posterior responsibility for each support point: p(z_i=j) from Stage 1. If None, falls back to uniform weighting.

§Panics

Panics if any name in sigma_params is not found in theta.parameters().

Implementors§