public class GammaDistribution extends AbstractDistribution implements ExponentialFamily
Modifier and Type | Field and Description |
---|---|
double |
k
The shape parameter.
|
double |
theta
The scale parameter.
|
Constructor and Description |
---|
GammaDistribution(double shape,
double scale)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
cdf(double x)
Cumulative distribution function.
|
double |
entropy()
Shannon entropy of the distribution.
|
static GammaDistribution |
fit(double[] data)
Estimates the distribution parameters by (approximate) MLE.
|
int |
length()
The number of parameters of the distribution.
|
double |
logp(double x)
The density at x in log scale, which may prevents the underflow problem.
|
Mixture.Component |
M(double[] x,
double[] posteriori)
The M step in the EM algorithm, which depends the specific distribution.
|
double |
mean()
The mean of distribution.
|
double |
p(double x)
The probability density function for continuous distribution
or probability mass function for discrete distribution at x.
|
double |
quantile(double p)
The quantile, the probability to the left of quantile is p.
|
double |
rand()
Only support shape parameter k of integer.
|
double |
sd()
The standard deviation of distribution.
|
java.lang.String |
toString() |
double |
variance()
The variance of distribution.
|
inverseTransformSampling, quantile, quantile, rejection
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
likelihood, logLikelihood, rand
public final double theta
public final double k
public GammaDistribution(double shape, double scale)
shape
- the shape parameter.scale
- the scale parameter.public static GammaDistribution fit(double[] data)
public int length()
Distribution
length
in interface Distribution
public double mean()
Distribution
mean
in interface Distribution
public double variance()
Distribution
variance
in interface Distribution
public double sd()
Distribution
sd
in interface Distribution
public double entropy()
Distribution
entropy
in interface Distribution
public java.lang.String toString()
toString
in class java.lang.Object
public double rand()
rand
in interface Distribution
public double p(double x)
Distribution
p
in interface Distribution
public double logp(double x)
Distribution
logp
in interface Distribution
public double cdf(double x)
Distribution
cdf
in interface Distribution
public double quantile(double p)
Distribution
quantile
in interface Distribution
public Mixture.Component M(double[] x, double[] posteriori)
ExponentialFamily
M
in interface ExponentialFamily
x
- the input data for estimationposteriori
- the posteriori probability.