Class DistNegBinomial

All Implemented Interfaces:
Serializable

public class DistNegBinomial extends DistDiscrete
The Negative Binomial distribution. It is also known as the Pascal distribution or Pólya distribution. It gives the probability of x failures where there are s-1 successes in a total of x+s-1 Bernoulli trials, and trial (x+s) is a success. The chance for success is p for each trial. For more information on this distribution see https://mathworld.wolfram.com/NegativeBinomialDistribution.html

Copyright (c) 2002-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://https://simulation.tudelft.nl/dsol/docs/latest/license.html.

Author:
Peter Jacobs , Alexander Verbraeck
See Also:
  • Field Summary

    Fields inherited from class nl.tudelft.simulation.jstats.distributions.Dist

    stream
  • Constructor Summary

    Constructors
    Constructor
    Description
    DistNegBinomial(StreamInterface stream, int s, double p)
    constructs a new negative binomial distribution.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    draws the next long from the stream.
    double
    Return the probability of success for each individual trial in the negative binomial distribution.
    int
    Return the number of successes in the sequence of (x+n) trials, where trial (x+n) is a success.
    double
    probability(long observation)
    returns the probability of the observation in this particular distribution.

    Methods inherited from class nl.tudelft.simulation.jstats.distributions.Dist

    getStream, setStream

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • DistNegBinomial

      public DistNegBinomial(StreamInterface stream, int s, double p)
      constructs a new negative binomial distribution.
      Parameters:
      stream - StreamInterface; the random number stream
      s - int; the number of successes in the sequence of (x+n) trials, where trial (x+n) is a success
      p - double; the probability of success for each individual trial in the negative binomial distribution
      Throws:
      IllegalArgumentException - when s <= 0 or p <= 0 or p >= 1
  • Method Details

    • draw

      public long draw()
      draws the next long from the stream.
      Specified by:
      draw in class DistDiscrete
      Returns:
      long
    • probability

      public double probability(long observation)
      returns the probability of the observation in this particular distribution.
      Specified by:
      probability in class DistDiscrete
      Parameters:
      observation - long; the discrete observation.
      Returns:
      double the probability.
    • getS

      public int getS()
      Return the number of successes in the sequence of (x+n) trials, where trial (x+n) is a success.
      Returns:
      int; the number of successes in the sequence of (x+n) trials, where trial (x+n) is a success
    • getP

      public double getP()
      Return the probability of success for each individual trial in the negative binomial distribution.
      Returns:
      double; the probability of success for each individual trial in the negative binomial distribution
    • toString

      public String toString()
      Overrides:
      toString in class Object