​mixture, nvar, ng, sopt, isx=None, prob=None, niter=15, riter=0, tol=0.0)[source]

gaussian_mixture performs a mixture of Normals (Gaussians) for a given (co)variance structure.

For full information please refer to the NAG Library document for g03ga

xfloat, array-like, shape

must contain the value of the th variable for the th object, for , for .


, the number of variables included in the calculations.


, the number of groups in the mixture model.


Determines the (co)variance structure:

Groupwise covariance matrices.

Pooled covariance matrix.

Groupwise variances.

Pooled variances.

Overall variance.

isxNone or int, array-like, shape , optional

Note: the required length for this argument is determined as follows: if : ; otherwise: .

If all available variables are included in the model and is not referenced; otherwise the th variable will be included in the analysis if and excluded if , for .

probNone or float, array-like, shape , optional

If is not None, is the probability that the th object belongs to the th group. (These probabilities are normalised internally.) Otherwise, the initial membership probabilities are set internally.

niterint, optional

The maximum number of iterations.

riterint, optional

If , membership probabilities are rounded to or after the completion of the first iterations.

tolfloat, optional

Iterations cease the first time an improvement in log-likelihood is less than . If a value of is used.

probfloat, ndarray, shape

is the probability of membership of the th object to the th group for the fitted model.


The number of completed iterations.

wfloat, ndarray, shape

, the mixing probability for the th group.

gfloat, ndarray, shape

gives the estimated mean of the th variable in the th group.

sfloat, ndarray, shape

If , gives the th element of the th group.

If , gives the th element of the pooled covariance.

If , gives the th variance in the th group.

If , gives the th pooled variance.

If , gives the overall variance.

ffloat, ndarray, shape

gives the -variate Normal (Gaussian) density of the th object in the th group.


The log-likelihood for the fitted mixture model.

(errno )

On entry, and .

Constraint: , the number of parameters, i.e., too few objects have been supplied for the model.

(errno )

On entry, .

Constraint: .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, and is invalid.

(errno )

On entry, .

Constraint: .

(errno )

On entry, row of supplied does not sum to .

(errno )

On entry, .

Constraint: .

(errno )

On entry, , , , or .

(errno )

A covariance matrix is not positive definite, try a different initial allocation.

(errno )

An iteration cannot continue due to an empty group, try a different initial allocation.


A Normal (Gaussian) mixture model is a weighted sum of group Normal densities given by,


is a -dimensional object of interest;

is the mixture weight for the th group and ;

is a -dimensional vector of means for the th group;

is the covariance structure for the th group;

is the -variate Normal density:

Optionally, the (co)variance structure may be pooled (common to all groups) or calculated for each group, and may be full or diagonal.


Hartigan, J A, 1975, Clustering Algorithms, Wiley