author: Eduard Constantinescu
title: Fitting probability distributions using Evolutionary Algorithms
keywords: Fault Tree Analysis, Evolutionary Algorithms
topics: Algorithms and Data Structures , Dependability, security and performance
committee: Doina Bucur ,
Carlos Esteban Budde
started: April 2020
end: July 2020


Imagine an industrial system composed of system components, each with its own distribution of failures through time. These component failures are measured as one time series per system component. In order to run an analysis and obtain information about the likelihood of failure of the entire system, the timed likelihood of failure for each system component must be modelled as a probability distribution.



Design, build, and evaluate a technique based on an Evolutionary Algorithm which takes in input a time series of failures, and is able to select a distribution type (exponential, normal, Weibull, a mixture of distributions, etc.) and parameters (mean for the exponential distribution, mean and variance for the normal distribution, etc.) that best fits the observed failure times. This estimator will be a unified technique for fitting probability distributions: it not only fits distribution parameters, but also learns the distribution shape.


Important matters to be considered are:

  • What would be a suitable fitness function which tells how good is a candidate fit?
  • How to avoid overfitting?
  • How can the error of the fit be reported?
  • Can multiple good solutions be provided instead of one?


  1. GA to fit PDFs for simulation models (Digital version available here)
  2. GA for Weibull fitting (Digital version available here)
  3. Differential evloution for Weibull fitting (Digital version available here)