mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [section:variates Random Variates and Distribution Parameters]
 | |
| 
 | |
| [@http://en.wikipedia.org/wiki/Random_variate Random variates]
 | |
| and [@http://en.wikipedia.org/wiki/Parameter distribution parameters]
 | |
| are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld
 | |
| by placing a semi-colon after the __random_variate (whose value you 'choose'),
 | |
| to separate the variate from the parameter(s) that defines the shape of the distribution.
 | |
| 
 | |
| For example, the binomial distribution has two parameters:
 | |
| n (the number of trials) and p (the probability of success on one trial).  
 | |
| It also has the __random_variate /k/: the number of successes observed.
 | |
| This means the probability density\/mass function (pdf) is written as ['f(k; n, p)].
 | |
| 
 | |
| Translating this into code the `binomial_distribution` constructor 
 | |
| therefore has two parameters:
 | |
| 
 | |
| 	binomial_distribution(RealType n, RealType p);
 | |
| 
 | |
| While the function `pdf` has one argument specifying the distribution type
 | |
| (which includes its parameters, if any),
 | |
| and a second argument for the __random_variate.  So taking our binomial distribution 
 | |
| example, we would write:
 | |
| 
 | |
| 	pdf(binomial_distribution<RealType>(n, p), k);
 | |
| 
 | |
| [endsect]
 | |
| 
 | |
| [section:dist_params Discrete Probability Distributions]
 | |
| 
 | |
| Note that the [@http://en.wikipedia.org/wiki/Discrete_probability_distribution 
 | |
| discrete distributions], including the binomial, negative binomial, Poisson & Bernoulli,
 | |
| are all mathematically defined as discrete functions:
 | |
| only integral values of the __random_variate are envisaged
 | |
| and the functions are only defined at these integral values.
 | |
| However because the method of calculation often uses continuous functions,
 | |
| it is convenient to treat them as if they were continuous functions,
 | |
| and permit non-integral values of their parameters.
 | |
| 
 | |
| To enforce a strict mathematical model,
 | |
| users may use floor or ceil functions on the __random_variate,
 | |
| prior to calling the distribution function, to enforce integral values.
 | |
| 
 | |
| For similar reasons, in continuous distributions, parameters like degrees of freedom
 | |
| that might appear to be integral, are treated as real values
 | |
| (and are promoted from integer to floating-point if necessary).
 | |
| In this case however, that there are a small number of situations where non-integral
 | |
| degrees of freedom do have a genuine meaning.
 | |
| 
 | |
| Generally speaking there is no loss of performance from allowing real-values
 | |
| parameters: the underlying special functions contain optimizations for 
 | |
| integer-valued arguments when applicable.
 | |
| 
 | |
| [caution
 | |
| The quantile function of a discrete distribution will by 
 | |
| default return an integer result that has been
 | |
| /rounded outwards/.  That is to say lower quantiles (where the probability is
 | |
| less than 0.5) are rounded downward, and upper quantiles (where the probability
 | |
| is greater than 0.5) are rounded upwards.  This behaviour
 | |
| ensures that if an X% quantile is requested, then /at least/ the requested
 | |
| coverage will be present in the central region, and /no more than/
 | |
| the requested coverage will be present in the tails.
 | |
| 
 | |
| This behaviour can be changed so that the quantile functions are rounded
 | |
| differently, or even return a real-valued result using 
 | |
| [link math_toolkit.pol_overview Policies].  It is strongly
 | |
| recommended that you read the tutorial 
 | |
| [link math_toolkit.pol_tutorial.understand_dis_quant
 | |
| Understanding Quantiles of Discrete Distributions] before
 | |
| using the quantile function on a discrete distribution.  The
 | |
| [link math_toolkit.pol_ref.discrete_quant_ref reference docs] 
 | |
| describe how to change the rounding policy
 | |
| for these distributions.
 | |
| ]
 | |
| 
 | |
| [endsect]
 | |
| 
 | |
| [/ 
 | |
|   Copyright 2006 John Maddock and Paul A. Bristow.
 | |
|   Distributed under the Boost Software License, Version 1.0.
 | |
|   (See accompanying file LICENSE_1_0.txt or copy at
 | |
|   http://www.boost.org/LICENSE_1_0.txt).
 | |
| ]
 | |
| 
 | |
| 
 |