My goal is to create a model of a data distribution. I want to pick the best model however I am not sure how to compare the obtained models.
For uni-modal distribution I used the Fitter library. For multi-modal I tried Gaussian Mixture Models. Both models output aic/bic.
In Fitter the information criteria is computed here (see _fit_single_distribution() method) In GMM is here
In my case the values seem to have different orders of magnitudes:
- uni-modal - 1500-1600
- multi-modal (2 normal distributions) - 155000-157000
The original samples size used for fitting: ~16800 samples
Single Distribution Fit Model
AIC/BIC values (multi-modal)



One way to compare the models is to use log likelihood.
For the GMM model I used this function to compute LL:
model.score(data)wheremodelis the output of thefit()function.For the unimodal distribution I used this function to compute LL:
distis the fitted distribution e.g.scipy.stats.lognorm(loc, scale)