Class: Rubystats::PoissonDistribution

Inherits:
ProbabilityDistribution show all
Includes:
MakeDiscrete
Defined in:
lib/rubystats/poisson_distribution.rb

Constant Summary

Constants included from NumericalConstants

NumericalConstants::EPS, NumericalConstants::GAMMA, NumericalConstants::GAMMA_X_MAX_VALUE, NumericalConstants::GOLDEN_RATIO, NumericalConstants::LOG_GAMMA_X_MAX_VALUE, NumericalConstants::MAX_FLOAT, NumericalConstants::MAX_ITERATIONS, NumericalConstants::MAX_VALUE, NumericalConstants::PRECISION, NumericalConstants::SQRT2, NumericalConstants::SQRT2PI, NumericalConstants::TWO_PI, NumericalConstants::XMININ

Instance Attribute Summary

Attributes included from SpecialMath

#log_beta_cache_p, #log_beta_cache_q, #log_beta_cache_res, #log_gamma_cache_res, #log_gamma_cache_x

Instance Method Summary collapse

Methods included from MakeDiscrete

#pmf

Methods inherited from ProbabilityDistribution

#cdf, #check_range, #find_root, #get_factorial, #icdf, #mean, #pdf, #rng, #variance

Methods included from ExtraMath

#binomial

Methods included from SpecialMath

#beta, #beta_fraction, #complementary_error, #error, #gamma, #gamma_fraction, #gamma_series_expansion, #incomplete_beta, #incomplete_gamma, #log_beta, #log_gamma, #orig_gamma

Constructor Details

#initialize(rate) ⇒ PoissonDistribution

Constructs a Poisson distribution



8
9
10
11
12
13
# File 'lib/rubystats/poisson_distribution.rb', line 8

def initialize (rate)
  if rate <= 0.0
    raise ArgumentError.new("The rate for the Poisson distribution should be greater than zero.")
  end
  @rate = rate.to_f
end

Instance Method Details

#get_meanObject

returns the mean



16
17
18
# File 'lib/rubystats/poisson_distribution.rb', line 16

def get_mean
  @rate
end

#get_varianceObject

returns the variance



21
22
23
# File 'lib/rubystats/poisson_distribution.rb', line 21

def get_variance
  @rate
end