public class GeometricDistribution extends DiscreteDistribution implements DiscreteExponentialFamily
{1, 2, 3, …}. Sometimes, people define that the probability
distribution of the number Y = X - 1 of failures before the first
success, supported on the set {0, 1, 2, 3, …}. To reduce
the confusion, we denote the later as shifted geometric distribution.
If the probability of success on each trial is p, then the probability that
the k-th trial (out of k trials) is the first success is
Pr(X = k) = (1 - p)k-1 p
.
Like its continuous analogue (the exponential distribution), the geometric
distribution is memoryless. That means that if you intend to repeat an
experiment until the first success, then, given that the first success has
not yet occurred, the conditional probability distribution of the number
of additional trials does not depend on how many failures have been
observed. The geometric distribution is in fact the only memoryless
discrete distribution.
Among all discrete probability distributions supported on
{1, 2, 3, …} with given expected value μ,
the geometric distribution X with parameter
p = 1/μ is the one with the largest entropy.
ShiftedGeometricDistribution,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
double |
p
Probability of success on each trial.
|
| Constructor and Description |
|---|
GeometricDistribution(double p)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
cdf(double k)
Cumulative distribution function.
|
double |
entropy()
Shannon entropy.
|
static GeometricDistribution |
fit(int[] data)
Estimates the distribution parameters by MLE.
|
int |
length()
The number of parameters of the distribution.
|
double |
logp(int k)
The probability mass function in log scale.
|
DiscreteMixture.Component |
M(int[] x,
double[] posteriori)
The M step in the EM algorithm, which depends the specific distribution.
|
double |
mean()
The mean of distribution.
|
double |
p(int k)
The probability mass function.
|
double |
quantile(double p)
The quantile, the probability to the left of quantile is p.
|
double |
rand()
Generates a random number following this distribution.
|
double |
sd()
The standard deviation of distribution.
|
java.lang.String |
toString() |
double |
variance()
The variance of distribution.
|
likelihood, logLikelihood, logp, p, quantile, randi, randiinverseTransformSampling, quantile, quantile, rejectionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlikelihood, logLikelihood, randpublic GeometricDistribution(double p)
p - the probability of success.public static GeometricDistribution fit(int[] data)
public int length()
Distributionlength in interface Distributionpublic double mean()
Distributionmean in interface Distributionpublic double variance()
Distributionvariance in interface Distributionpublic double sd()
Distributionsd in interface Distributionpublic double entropy()
entropy in interface Distributionpublic java.lang.String toString()
toString in class java.lang.Objectpublic double rand()
Distributionrand in interface Distributionpublic double p(int k)
DiscreteDistributionp in class DiscreteDistributionpublic double logp(int k)
DiscreteDistributionlogp in class DiscreteDistributionpublic double cdf(double k)
Distributioncdf in interface Distributionpublic double quantile(double p)
Distributionquantile in interface Distributionpublic DiscreteMixture.Component M(int[] x, double[] posteriori)
DiscreteExponentialFamilyM in interface DiscreteExponentialFamilyx - the input data for estimationposteriori - the posteriori probability.