# Interface ExponentialFamily

All Superinterfaces:
`Distribution`, `Serializable`
All Known Implementing Classes:
`BetaDistribution`, `ChiSquareDistribution`, `ExponentialDistribution`, `GammaDistribution`, `GaussianDistribution`

public interface ExponentialFamily extends Distribution
The exponential family is a class of probability distributions sharing a certain form. The normal, exponential, gamma, chi-square, beta, Weibull (if the shape parameter is known), Dirichlet, Bernoulli, binomial, multinomial, Poisson, negative binomial, and geometric distributions are all exponential families. The family of Pareto distributions with a fixed minimum bound form an exponential family.

The Cauchy, Laplace, and uniform families of distributions are not exponential families. The Weibull distribution is not an exponential family unless the shape parameter is known.

The purpose of this interface is mainly to define the method M that is the Maximization step in the EM algorithm. Note that distributions of exponential family has the close-form solutions in the EM algorithm. With this interface, we may allow the mixture contains distributions of different form as long as it is from exponential family.

• ## Method Summary

Modifier and Type
Method
Description
`Mixture.Component`
```M(double[] x, double[] posteriori)```
The M step in the EM algorithm, which depends on the specific distribution.

### Methods inherited from interface smile.stat.distribution.Distribution

`cdf, entropy, inverseTransformSampling, length, likelihood, logLikelihood, logp, mean, p, quantile, quantile, quantile, rand, rand, rejectionSampling, sd, variance`
• ## Method Details

• ### M

Mixture.Component M(double[] x, double[] posteriori)
The M step in the EM algorithm, which depends on the specific distribution.
Parameters:
`x` - the input data for estimation
`posteriori` - the posteriori probability.
Returns:
the (unnormalized) weight of this distribution in the mixture.