SSJ
V. 1.2.5.

umontreal.iro.lecuyer.probdistmulti
Class NegativeMultinomialDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdistmulti.DiscreteDistributionIntMulti
      extended by umontreal.iro.lecuyer.probdistmulti.NegativeMultinomialDist

public class NegativeMultinomialDist
extends DiscreteDistributionIntMulti

Implements the abstract class DiscreteDistributionIntMulti for the negative multinomial distribution with parameters γ > 0 and (p1,...,pd). The probability mass function is

P[X = (x1,…, xd)] = $\displaystyle {\frac{{\Gamma(\gamma + \htsum_{i=1}^{d} x_i)
 p_0^{\gamma}\Pi_{i=1}^{d} p_i^{x_i}}}{{\Gamma(\gamma)\Pi_{i=1}^{d} x_i!}}}$

where i=1dpi < 1, p0 = 1 - ∑i=1dpi and pi = λi/(1 + ∑i=1dλi).


Constructor Summary
NegativeMultinomialDist(double gamma, double[] p)
          Creates a NegativeMultinomialDist object with parameters γ = gamma and (p1,...,pd) such that i=1dpi < 1, as described above.
 
Method Summary
static double cdf(double gamma, double[] p, int[] x)
          Computes the cumulative probability function F of the negative multinomial distribution with parameters γ and (p1,...,pk), evaluated at x.
 double[][] getCorrelation()
          Returns the correlation matrix of the distribution, defined as ρij = σij/(σ_iiσ_jj)1/2.
static double[][] getCorrelation(double gamma, double[] p)
          Computes the correlation matrix of the negative multinomial distribution with parameters γ and (p1,...,pd).
 double[][] getCovariance()
          Returns the variance-covariance matrix of the distribution, defined as
σij = E[(Xi - μi)(Xj - μj)].
static double[][] getCovariance(double gamma, double[] p)
          Computes the covariance matrix of the negative multinomial distribution with parameters γ and (p1,...,pd).
 double getGamma()
          Returns the parameter γ of this object.
static double[] getMaximumLikelihoodEstimate(int[][] x, int n, int d)
          Estimates the parameters [ hat(γ), hat(p_1),...,hat(p_d)] of the negative multinomial distribution using the maximum likelihood method based on the n observations of d components in table x[i][j], i = 0, 1,…, n - 1 and j = 0, 1,…, d - 1.
 double[] getMean()
          Returns the mean vector of the distribution, defined as μi = E[Xi].
static double[] getMean(double gamma, double[] p)
          Computes the mean E[X] = γpi/p0 of the negative multinomial distribution with parameters γ and (p1,...,pd).
 double[] getP()
          Returns the parameters (p1,...,pd) of this object.
static double prob(double gamma, double[] p, int[] x)
          Computes the probability mass function of the negative multinomial distribution with parameters γ and (p1,...,pd), evaluated at x.
 double prob(int[] x)
          Returns the probability mass function p(x1, x2,…, xd), which should be a real number in [0, 1].
 void setParams(double gamma, double[] p)
          Sets the parameters γ and (p1,...,pd) of this object.
 
Methods inherited from class umontreal.iro.lecuyer.probdistmulti.DiscreteDistributionIntMulti
cdf, getDimension
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NegativeMultinomialDist

public NegativeMultinomialDist(double gamma,
                               double[] p)
Creates a NegativeMultinomialDist object with parameters γ = gamma and (p1,...,pd) such that i=1dpi < 1, as described above. We have pi = p[i-1].

Method Detail

prob

public double prob(int[] x)
Description copied from class: DiscreteDistributionIntMulti
Returns the probability mass function p(x1, x2,…, xd), which should be a real number in [0, 1].

Specified by:
prob in class DiscreteDistributionIntMulti
Parameters:
x - value at which the mass function must be evaluated
Returns:
the mass function evaluated at x

getMean

public double[] getMean()
Description copied from class: DiscreteDistributionIntMulti
Returns the mean vector of the distribution, defined as μi = E[Xi].

Specified by:
getMean in class DiscreteDistributionIntMulti

getCovariance

public double[][] getCovariance()
Description copied from class: DiscreteDistributionIntMulti
Returns the variance-covariance matrix of the distribution, defined as
σij = E[(Xi - μi)(Xj - μj)].

Specified by:
getCovariance in class DiscreteDistributionIntMulti

getCorrelation

public double[][] getCorrelation()
Description copied from class: DiscreteDistributionIntMulti
Returns the correlation matrix of the distribution, defined as ρij = σij/(σ_iiσ_jj)1/2.

Specified by:
getCorrelation in class DiscreteDistributionIntMulti

prob

public static double prob(double gamma,
                          double[] p,
                          int[] x)
Computes the probability mass function of the negative multinomial distribution with parameters γ and (p1,...,pd), evaluated at x.


cdf

public static double cdf(double gamma,
                         double[] p,
                         int[] x)
Computes the cumulative probability function F of the negative multinomial distribution with parameters γ and (p1,...,pk), evaluated at x.


getMean

public static double[] getMean(double gamma,
                               double[] p)
Computes the mean E[X] = γpi/p0 of the negative multinomial distribution with parameters γ and (p1,...,pd).


getCovariance

public static double[][] getCovariance(double gamma,
                                       double[] p)
Computes the covariance matrix of the negative multinomial distribution with parameters γ and (p1,...,pd).


getCorrelation

public static double[][] getCorrelation(double gamma,
                                        double[] p)
Computes the correlation matrix of the negative multinomial distribution with parameters γ and (p1,...,pd).


getMaximumLikelihoodEstimate

public static double[] getMaximumLikelihoodEstimate(int[][] x,
                                                    int n,
                                                    int d)
Estimates the parameters [ hat(γ), hat(p_1),...,hat(p_d)] of the negative multinomial distribution using the maximum likelihood method based on the n observations of d components in table x[i][j], i = 0, 1,…, n - 1 and j = 0, 1,…, d - 1.

Parameters:
x - the list of observations used to evaluate parameters
n - the number of observations used to evaluate parameters
d - the dimension of each vector
Returns:
returns the parameters [ hat(γ), hat(p_1),...,hat(p_d)]

getGamma

public double getGamma()
Returns the parameter γ of this object.


getP

public double[] getP()
Returns the parameters (p1,...,pd) of this object.


setParams

public void setParams(double gamma,
                      double[] p)
Sets the parameters γ and (p1,...,pd) of this object.


SSJ
V. 1.2.5.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.