smile.stat.distribution
Class GammaDistribution
- java.lang.Object
-
- smile.stat.distribution.AbstractDistribution
-
- smile.stat.distribution.GammaDistribution
-
- All Implemented Interfaces:
- Distribution, ExponentialFamily
public class GammaDistribution extends AbstractDistribution implements ExponentialFamily
The Gamma distribution is a continuous probability distributions with a scale parameter θ and a shape parameter k. If k is an integer then the distribution represents the sum of k independent exponentially distributed random variables, each of which has a rate parameter of θ). The gamma distribution is frequently a probability model for waiting times; for instance, the waiting time until death in life testing. The probability density function is f(x; k,θ) = xk-1e-x/θ / (θkΓ(k)) for x > 0 and k, θ > 0.- If X ∼ Γ(k=1, θ=1/λ), then X has an exponential distribution with rate parameter λ.
- If X ∼ Γ(k=ν/2, θ=2), then X is identical to Χ2(ν), the chi-square distribution with ν degrees of freedom. Conversely, if Q ∼ Χ2(ν), and c is a positive constant, then c ⋅ Q ∼ Γ(k=ν/2, θ=2c).
- If k is an integer, the gamma distribution is an Erlang distribution and is the probability distribution of the waiting time until the k-th "arrival" in a one-dimensional Poisson process with intensity 1/θ.
- If X2 ∼ Γ(3/2, 2a2), then X has a Maxwell-Boltzmann distribution with parameter a.
-
-
Constructor Summary
Constructors Constructor and Description GammaDistribution(double[] data)Constructor.GammaDistribution(double shape, double scale)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublecdf(double x)Cumulative distribution function.doubleentropy()Shannon entropy of the distribution.doublegetScale()Returns the scale parameter.doublegetShape()Returns the shape parameter.doublelogp(double x)The density at x in log scale, which may prevents the underflow problem.Mixture.ComponentM(double[] x, double[] posteriori)The M step in the EM algorithm, which depends the specific distribution.doublemean()The mean of distribution.intnpara()The number of parameters of the distribution.doublep(double x)The probability density function for continuous distribution or probability mass function for discrete distribution at x.doublequantile(double p)The quantile, the probability to the left of quantile is p.doublerand()Only support shape parameter k of integer.doublesd()The standard deviation of distribution.java.lang.StringtoString()doublevar()The variance of distribution.-
Methods inherited from class smile.stat.distribution.AbstractDistribution
likelihood, logLikelihood
-
-
-
-
Constructor Detail
-
GammaDistribution
public GammaDistribution(double shape, double scale)Constructor.- Parameters:
shape- the shape parameter.scale- the scale parameter.
-
GammaDistribution
public GammaDistribution(double[] data)
Constructor. Parameter will be estimated from the data by (approximate) MLE.
-
-
Method Detail
-
getScale
public double getScale()
Returns the scale parameter.
-
getShape
public double getShape()
Returns the shape parameter.
-
npara
public int npara()
Description copied from interface:DistributionThe number of parameters of the distribution.- Specified by:
nparain interfaceDistribution
-
mean
public double mean()
Description copied from interface:DistributionThe mean of distribution.- Specified by:
meanin interfaceDistribution
-
var
public double var()
Description copied from interface:DistributionThe variance of distribution.- Specified by:
varin interfaceDistribution
-
sd
public double sd()
Description copied from interface:DistributionThe standard deviation of distribution.- Specified by:
sdin interfaceDistribution
-
entropy
public double entropy()
Description copied from interface:DistributionShannon entropy of the distribution.- Specified by:
entropyin interfaceDistribution
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
rand
public double rand()
Only support shape parameter k of integer.- Specified by:
randin interfaceDistribution
-
p
public double p(double x)
Description copied from interface:DistributionThe probability density function for continuous distribution or probability mass function for discrete distribution at x.- Specified by:
pin interfaceDistribution
-
logp
public double logp(double x)
Description copied from interface:DistributionThe density at x in log scale, which may prevents the underflow problem.- Specified by:
logpin interfaceDistribution
-
cdf
public double cdf(double x)
Description copied from interface:DistributionCumulative distribution function. That is the probability to the left of x.- Specified by:
cdfin interfaceDistribution
-
quantile
public double quantile(double p)
Description copied from interface:DistributionThe quantile, the probability to the left of quantile is p. It is actually the inverse of cdf.- Specified by:
quantilein interfaceDistribution
-
M
public Mixture.Component M(double[] x, double[] posteriori)
Description copied from interface:ExponentialFamilyThe M step in the EM algorithm, which depends the specific distribution.- Specified by:
Min interfaceExponentialFamily- Parameters:
x- the input data for estimationposteriori- the posteriori probability.- Returns:
- the (unnormalized) weight of this distribution in the mixture.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG