mpest.estimators.iterative#

Provides a flexible framework for building iterative algorithms.

This package contains components for creating customizable iterative processes for estimating parameters of mixture models, such as the Expectation-Maximization (EM) algorithm and its variations.

The core idea is to construct a Pipeline that consists of a sequence of PipelineStep`s. This pipeline cyclically executes the defined steps until one of the stopping conditions (`Breakpointer) is met. Additionally, after each iteration, Pruner strategies can be applied to remove insignificant components from the model. The state of the entire process at each iteration is stored in a PipelineState object.

Abstract Classes#

Pipeline

An estimator that fits a mixture model via a configurable iterative process.

PipelineStep

Abstract base class for a single step in a processing pipeline.

PipelineState

Represents the state of a pipeline at a specific point in its execution.

Breakpointer

Abstract base class for a pipeline stopping condition.

Pruner

Abstract base class for component pruning strategies.

Available Implementations#

The concrete implementations of the base classes, available for use when building a pipeline, will be listed below.

Steps (PipelineStep):#

ExpectationStep

A pipeline step that performs the Expectation (E-step).

MaximizationStep

A pipeline step that performs the Maximization (M-step).

Breakpointers (Breakpointer):#

StepBreakpointer

Stops the pipeline after a fixed number of iterations.

Pruners (Pruner):#

PriorThresholdPruner

A pruner that removes mixture components based on a weight threshold.

Usage Example#