pub trait RandomProcessMle<X>: RandomProcess<X> + Clone
where Self: Sized, X: Scalar + Debug,
{ type Solver: Solver<RandomProcessMleOp<Self, X>, IterState<DVector<f64>, DVector<f64>, (), (), f64>>; // Required methods fn generate_solver() -> Self::Solver; fn random_params<R: Rng>(&self, rng: &mut R) -> DVector<f64>; // Provided method fn optimize<R: Rng>( self, max_iters: u64, random_reinits: usize, rng: &mut R ) -> Result<Self, Error> { ... } }
Expand description

Random Process which can be optimized to reach a maximum likelihood estimate.

Required Associated Types§

source

type Solver: Solver<RandomProcessMleOp<Self, X>, IterState<DVector<f64>, DVector<f64>, (), (), f64>>

Error type from Optimization errors

Required Methods§

source

fn generate_solver() -> Self::Solver

Generator for optimizer

source

fn random_params<R: Rng>(&self, rng: &mut R) -> DVector<f64>

Create random parameters for this Process

Provided Methods§

source

fn optimize<R: Rng>( self, max_iters: u64, random_reinits: usize, rng: &mut R ) -> Result<Self, Error>

Run the optimization

§Arguments
  • max_iters - Maximum number of iterations per optimization run
  • random_reinits - Number of times to retry with random initialization
  • rng - Random number generator for random initialization

Object Safety§

This trait is not object safe.

Implementors§