Class: Croupier::Distributions::Gamma
- Inherits:
-
Croupier::Distribution
- Object
- Croupier::Distribution
- Croupier::Distributions::Gamma
- Defined in:
- lib/croupier/distributions/gamma.rb
Overview
Gamma Distribution Family of continuous distributions with two parameters shape (defaults to 1) and scale (defaults to 1).
Instance Attribute Summary
Attributes inherited from Croupier::Distribution
#description, #name, #parameters
Class Method Summary collapse
Instance Method Summary collapse
- #default_parameters ⇒ Object
- #generate_number ⇒ Object
-
#initialize(options = {}) ⇒ Gamma
constructor
A new instance of Gamma.
Methods inherited from Croupier::Distribution
#configure, #generate_sample, #params, #to_enum
Constructor Details
#initialize(options = {}) ⇒ Gamma
Returns a new instance of Gamma.
10 11 12 13 14 |
# File 'lib/croupier/distributions/gamma.rb', line 10 def initialize(={}) @name = "Gamma distribution" @description = "Family of continuous distributions with two parameters, shape and scale" configure() end |
Class Method Details
.cli_name ⇒ Object
24 25 26 |
# File 'lib/croupier/distributions/gamma.rb', line 24 def self.cli_name "gamma" end |
.cli_options ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/croupier/distributions/gamma.rb', line 28 def self. {:options => [ [:shape, 'shape of the distribution', {:type=>:float, :default => 1.0}], [:scale, 'scale of the distribution', {:type=>:float, :default => 1.0}] ], :banner => "Family of continuous distributions with two parameters, shape and scale." } end |
Instance Method Details
#default_parameters ⇒ Object
20 21 22 |
# File 'lib/croupier/distributions/gamma.rb', line 20 def default_parameters {:shape => 1.0, :std => 1.0} end |
#generate_number ⇒ Object
16 17 18 |
# File 'lib/croupier/distributions/gamma.rb', line 16 def generate_number params[:scale] * (gen_xi - (1..params[:shape].floor).map { Math.log(1 - rand) }.inject(&:+) ) end |