Package smile.stat.distribution
Class ShiftedGeometricDistribution
java.lang.Object
smile.stat.distribution.DiscreteDistribution
smile.stat.distribution.ShiftedGeometricDistribution
- All Implemented Interfaces:
Serializable
,DiscreteExponentialFamily
,Distribution
public class ShiftedGeometricDistribution
extends DiscreteDistribution
implements DiscreteExponentialFamily
The "shifted" geometric distribution is a discrete probability distribution
of the number of failures before the first success, supported on the set
{0, 1, 2, 3, …}
.
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 p- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(double k) Cumulative distribution function.double
entropy()
Returns Shannon entropy of the distribution.static ShiftedGeometricDistribution
fit
(int[] data) Estimates the distribution parameters by MLE.int
length()
Returns the number of parameters of the distribution.double
logp
(int k) The probability mass function in log scale.M
(int[] x, double[] posteriori) The M step in the EM algorithm, which depends on the specific distribution.double
mean()
Returns 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()
Returns the standard deviation of distribution.toString()
double
variance()
Returns the variance of distribution.Methods inherited from class smile.stat.distribution.DiscreteDistribution
likelihood, logLikelihood, logp, p, quantile, randi, randi
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface smile.stat.distribution.Distribution
inverseTransformSampling, likelihood, logLikelihood, quantile, quantile, rand, rejectionSampling
-
Field Details
-
p
public final double pThe probability of success.
-
-
Constructor Details
-
ShiftedGeometricDistribution
public ShiftedGeometricDistribution(double p) Constructor.- Parameters:
p
- the probability of success.
-
-
Method Details
-
fit
Estimates the distribution parameters by MLE.- Parameters:
data
- the training data.- Returns:
- the distribution.
-
length
public int length()Description copied from interface:Distribution
Returns the number of parameters of the distribution. The "length" is in the sense of the minimum description length principle.- Specified by:
length
in interfaceDistribution
- Returns:
- The number of parameters.
-
mean
public double mean()Description copied from interface:Distribution
Returns the mean of distribution.- Specified by:
mean
in interfaceDistribution
- Returns:
- The mean.
-
variance
public double variance()Description copied from interface:Distribution
Returns the variance of distribution.- Specified by:
variance
in interfaceDistribution
- Returns:
- The variance.
-
sd
public double sd()Description copied from interface:Distribution
Returns the standard deviation of distribution.- Specified by:
sd
in interfaceDistribution
- Returns:
- The standard deviation.
-
entropy
public double entropy()Description copied from interface:Distribution
Returns Shannon entropy of the distribution.- Specified by:
entropy
in interfaceDistribution
- Returns:
- Shannon entropy.
-
toString
-
rand
public double rand()Description copied from interface:Distribution
Generates a random number following this distribution.- Specified by:
rand
in interfaceDistribution
- Returns:
- a random number.
-
p
public double p(int k) Description copied from class:DiscreteDistribution
The probability mass function.- Specified by:
p
in classDiscreteDistribution
- Parameters:
k
- a real value.- Returns:
- the probability.
-
logp
public double logp(int k) Description copied from class:DiscreteDistribution
The probability mass function in log scale.- Specified by:
logp
in classDiscreteDistribution
- Parameters:
k
- a real value.- Returns:
- the log probability.
-
cdf
public double cdf(double k) Description copied from interface:Distribution
Cumulative distribution function. That is the probability to the left of x.- Specified by:
cdf
in interfaceDistribution
- Parameters:
k
- a real number.- Returns:
- the probability.
-
quantile
public double quantile(double p) Description copied from interface:Distribution
The quantile, the probability to the left of quantile is p. It is actually the inverse of cdf.- Specified by:
quantile
in interfaceDistribution
- Parameters:
p
- the probability.- Returns:
- the quantile.
-
M
Description copied from interface:DiscreteExponentialFamily
The M step in the EM algorithm, which depends on the specific distribution.- Specified by:
M
in interfaceDiscreteExponentialFamily
- Parameters:
x
- the input data for estimationposteriori
- the posteriori probability.- Returns:
- the (unnormalized) weight of this distribution in the mixture.
-