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
• Field Summary

Fields
Modifier and Type
Field
Description
`final double`
`p`
The probability of success.
• Constructor Summary

Constructors
Constructor
Description
`ShiftedGeometricDistribution(double p)`
Constructor.
• Method Summary

Modifier and Type
Method
Description
`double`
`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.
`DiscreteMixture.Component`
```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.
`String`
`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 p
The probability of success.
• Constructor Details

• ShiftedGeometricDistribution

public ShiftedGeometricDistribution(double p)
Constructor.
Parameters:
`p` - the probability of success.
• Method Details

• fit

public static ShiftedGeometricDistribution fit(int[] data)
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 interface `Distribution`
Returns:
The number of parameters.
• mean

public double mean()
Description copied from interface: `Distribution`
Returns the mean of distribution.
Specified by:
`mean` in interface `Distribution`
Returns:
The mean.
• variance

public double variance()
Description copied from interface: `Distribution`
Returns the variance of distribution.
Specified by:
`variance` in interface `Distribution`
Returns:
The variance.
• sd

public double sd()
Description copied from interface: `Distribution`
Returns the standard deviation of distribution.
Specified by:
`sd` in interface `Distribution`
Returns:
The standard deviation.
• entropy

public double entropy()
Description copied from interface: `Distribution`
Returns Shannon entropy of the distribution.
Specified by:
`entropy` in interface `Distribution`
Returns:
Shannon entropy.
• toString

public String toString()
Overrides:
`toString` in class `Object`
• rand

public double rand()
Description copied from interface: `Distribution`
Generates a random number following this distribution.
Specified by:
`rand` in interface `Distribution`
Returns:
a random number.
• p

public double p(int k)
Description copied from class: `DiscreteDistribution`
The probability mass function.
Specified by:
`p` in class `DiscreteDistribution`
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 class `DiscreteDistribution`
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 interface `Distribution`
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 interface `Distribution`
Parameters:
`p` - the probability.
Returns:
the quantile.
• M

public DiscreteMixture.Component M(int[] x, double[] posteriori)
Description copied from interface: `DiscreteExponentialFamily`
The M step in the EM algorithm, which depends on the specific distribution.
Specified by:
`M` in interface `DiscreteExponentialFamily`
Parameters:
`x` - the input data for estimation
`posteriori` - the posteriori probability.
Returns:
the (unnormalized) weight of this distribution in the mixture.