perform#

abstractmethod Initializer.perform(X, dists, cluster_match_info, estimation_info)[source]#

Performs initialization of mixture model parameters.

Parameters:
  • X (ArrayLike) – Input data points used for parameter estimation. Should be a 1D array of sample values from the mixture distribution.

  • dists (list[ContinuousDistribution]) – List of distribution models to initialize. Each distribution represents one component of the mixture model. The number of distributions determines the number of mixture components.

  • cluster_match_info (ClusterMatchStrategy) – Strategy for matching clusters to distribution models. Determines how clusters identified in the data are assigned to specific distribution components.

  • estimation_info (list[EstimationStrategy]) – List of estimation strategies for each distribution model. Each element specifies the parameter estimation method to use for the corresponding distribution in the dists list.

Returns:

An initialized mixture model with estimated parameters and normalized component weights that sum to 1.

Return type:

MixtureModel

Raises:

NotImplementedError – This method must be implemented by subclasses.

Notes

The method should handle the following tasks:

  1. Validate input parameters and data consistency

  2. Estimate initial parameters for each distribution component using the specified estimation strategies

  3. Calculate initial mixture weights (should sum to 1)

  4. Ensure all parameters are within valid ranges for each distribution

  5. Return a properly configured MixtureModel instance

The implementation may use various strategies to estimate good starting parameters for the EM algorithm or other optimization methods.