BIC

BIC(*args)

Compute the Bayesian information criterion.

If a Distribution is used, the likelihood is evaluated on the sample. If a DistributionFactory is used, its build() method is used to create the distribution, and the likelihood is then evaluated.

Refer to Bayesian Information Criterion (BIC).

Parameters:
sample2-d sequence of float

Tested sample.

modelDistribution or DistributionFactory

Tested distribution.

n_parametersint, 0 \leq k, optional

The number of parameters in the distribution that have been estimated from the sample. This parameter must not be provided if a DistributionFactory was provided as the second argument (it will internally be set to the number of parameters estimated by the DistributionFactory). It can be specified if a Distribution was provided as the second argument, but if it is not, it will be set equal to 0.

Returns:
estimatedDistDistribution

Estimated distribution (case factory as argument)

BICfloat

The Bayesian information criterion.

Notes

This is used for model selection.

In case we set a factory argument, the method returns both the estimated distribution and BIC value. Otherwise it returns only the BIC value.

Examples

>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> distribution = ot.Normal()
>>> sample = distribution.getSample(30)
>>> ot.FittingTest.BIC(sample, distribution)
2.793869...
>>> ot.FittingTest.BIC(sample, distribution, 2) #  Assume that 2 parameters are estimated
3.020615...
>>> fitted_dist, bic = ot.FittingTest.BIC(sample, ot.NormalFactory())
>>> bic
3.010802...