3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Beta Distribution</title>
5 <link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="../../../../index.html" title="Math Toolkit">
8 <link rel="up" href="../dists.html" title="Distributions">
9 <link rel="prev" href="bernoulli_dist.html" title="Bernoulli Distribution">
10 <link rel="next" href="binomial_dist.html" title="Binomial Distribution">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
25 <div class="section math_toolkit_dist_dist_ref_dists_beta_dist">
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="math_toolkit.dist.dist_ref.dists.beta_dist"></a><a class="link" href="beta_dist.html" title="Beta Distribution">Beta
29 </h5></div></div></div>
32 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
35 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
37 <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
38 <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy<></a> <span class="special">></span>
39 <span class="keyword">class</span> <span class="identifier">beta_distribution</span><span class="special">;</span>
41 <span class="comment">// typedef beta_distribution<double> beta;</span>
42 <span class="comment">// Note that this is deliberately NOT provided,</span>
43 <span class="comment">// to avoid a clash with the function name beta.</span>
45 <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">></span>
46 <span class="keyword">class</span> <span class="identifier">beta_distribution</span>
47 <span class="special">{</span>
48 <span class="keyword">public</span><span class="special">:</span>
49 <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
50 <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
51 <span class="comment">// Constructor from two shape parameters, alpha & beta:</span>
52 <span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">);</span>
54 <span class="comment">// Parameter accessors:</span>
55 <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
56 <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
58 <span class="comment">// Parameter estimators of alpha or beta from mean and variance.</span>
59 <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
60 <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
61 <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
63 <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
64 <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
65 <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
67 <span class="comment">// Parameter estimators from from</span>
68 <span class="comment">// either alpha or beta, and x and probability.</span>
70 <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
71 <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
72 <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
73 <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// cdf</span>
75 <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
76 <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
77 <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
78 <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
79 <span class="special">};</span>
81 <span class="special">}}</span> <span class="comment">// namespaces</span>
84 The class type <code class="computeroutput"><span class="identifier">beta_distribution</span></code>
85 represents a <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
86 </a> <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
87 distribution function</a>.
90 The <a href="http://mathworld.wolfram.com/BetaDistribution.htm" target="_top">beta
91 distribution </a> is used as a <a href="http://en.wikipedia.org/wiki/Prior_distribution" target="_top">prior
92 distribution</a> for binomial proportions in <a href="http://mathworld.wolfram.com/BayesianAnalysis.html" target="_top">Bayesian
96 See also: <a href="http://documents.wolfram.com/calculationcenter/v2/Functions/ListsMatrices/Statistics/BetaDistribution.html" target="_top">beta
97 distribution</a> and <a href="http://en.wikipedia.org/wiki/Bayesian_statistics" target="_top">Bayesian
101 How the beta distribution is used for <a href="http://home.uchicago.edu/~grynav/bayes/ABSLec5.ppt" target="_top">Bayesian
102 analysis of one parameter models</a> is discussed by Jeff Grynaviski.
105 The <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
106 density function PDF</a> for the <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
107 distribution</a> defined on the interval [0,1] is given by:
110 f(x;α,β) = x<sup>α - 1</sup> (1 - x)<sup>β -1</sup> / B(α, β)
113 where B(α, β) is the <a href="http://en.wikipedia.org/wiki/Beta_function" target="_top">beta
114 function</a>, implemented in this library as <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>.
115 Division by the beta function ensures that the pdf is normalized to the
119 The following graph illustrates examples of the pdf for various values
120 of the shape parameters. Note the α = β = 2 (blue line) is dome-shaped, and
121 might be approximated by a symmetrical triangular distribution.
124 <span class="inlinemediaobject"><img src="../../../../../graphs/beta_pdf.png" align="middle"></span>
127 If α = β = 1, then it is a __space <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
128 distribution</a>, equal to unity in the entire interval x = 0 to
129 1. If α __space and β __space are < 1, then the pdf is U-shaped. If α !=
130 β, then the shape is asymmetric and could be approximated by a triangle
131 whose apex is away from the centre (where x = half).
134 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h0"></a>
135 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.member_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.member_functions">Member
139 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h1"></a>
140 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.constructor"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.constructor">Constructor</a>
142 <pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">);</span>
145 Constructs a beta distribution with shape parameters <span class="emphasis"><em>alpha</em></span>
146 and <span class="emphasis"><em>beta</em></span>.
149 Requires alpha,beta > 0,otherwise <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
150 is called. Note that technically the beta distribution is defined for
151 alpha,beta >= 0, but it's not clear whether any program can actually
152 make use of that latitude or how many of the non-member functions can
153 be usefully defined in that case. Therefore for now, we regard it as
154 an error if alpha or beta is zero.
159 <pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special"><></span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
162 Constructs a the beta distribution with alpha=2 and beta=5 (shown in
163 yellow in the graph above).
166 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h2"></a>
167 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.parameter_accessors"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.parameter_accessors">Parameter
170 <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
173 Returns the parameter <span class="emphasis"><em>alpha</em></span> from which this distribution
176 <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
179 Returns the parameter <span class="emphasis"><em>beta</em></span> from which this distribution
185 <pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special"><></span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
186 <span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">alpha</span><span class="special">()</span> <span class="special">==</span> <span class="number">2.</span><span class="special">);</span> <span class="comment">// mybeta.alpha() returns 2</span>
187 <span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">beta</span><span class="special">()</span> <span class="special">==</span> <span class="number">5.</span><span class="special">);</span> <span class="comment">// mybeta.beta() returns 5</span>
190 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h3"></a>
191 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.parameter_estimators"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.parameter_estimators">Parameter
195 Two pairs of parameter estimators are provided.
198 One estimates either α __space or β __space from presumed-known mean and
202 The other pair estimates either α __space or β __space from the cdf and x.
205 It is also possible to estimate α __space and β __space from 'known' mode
206 & quantile. For example, calculators are provided by the <a href="http://www.ausvet.com.au/pprev/content.php?page=PPscript" target="_top">Pooled
207 Prevalence Calculator</a> and <a href="http://www.epi.ucdavis.edu/diagnostictests/betabuster.html" target="_top">Beta
208 Buster</a> but this is not yet implemented here.
210 <pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
211 <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
212 <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
215 Returns the unique value of α   that corresponds to a beta distribution with
216 mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
218 <pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
219 <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
220 <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
223 Returns the unique value of β   that corresponds to a beta distribution with
224 mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
226 <pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
227 <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
228 <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
229 <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf</span>
232 Returns the value of α   that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special"><</span><span class="identifier">RealType</span><span class="special">>(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
234 <pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
235 <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
236 <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
237 <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
240 Returns the value of β   that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special"><</span><span class="identifier">RealType</span><span class="special">>(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
243 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h4"></a>
244 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.non_member_accessor_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.non_member_accessor_functions">Non-member
245 Accessor Functions</a>
248 All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
249 accessor functions</a> that are generic to all distributions are supported:
250 <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
251 <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
252 Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
253 <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
254 <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
255 <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
256 <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
257 <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
260 The formulae for calculating these are shown in the table below, and
261 at <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
265 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h5"></a>
266 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.applications"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.applications">Applications</a>
269 The beta distribution can be used to model events constrained to take
270 place within an interval defined by a minimum and maximum value: so it
271 is used in project management systems.
274 It is also widely used in <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian
275 statistical inference</a>.
278 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h6"></a>
279 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.related_distributions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.related_distributions">Related
283 The beta distribution with both α __space and β = 1 follows a <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
287 The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular</a>
288 is used when less precise information is available.
291 The <a href="http://en.wikipedia.org/wiki/Binomial_distribution" target="_top">binomial
292 distribution</a> is closely related when α __space and β __space are
296 With integer values of α __space and β __space the distribution B(i, j) is
297 that of the j-th highest of a sample of i + j + 1 independent random
298 variables uniformly distributed between 0 and 1. The cumulative probability
299 from 0 to x is thus the probability that the j-th highest value is less
300 than x. Or it is the probability that that at least i of the random variables
301 are less than x, a probability given by summing over the <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
302 Distribution</a> with its p parameter set to x.
305 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h7"></a>
306 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.accuracy"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.accuracy">Accuracy</a>
309 This distribution is implemented using the <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta
310 functions</a> <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>
311 and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
312 beta functions</a> <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
313 and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>;
314 please refer to these functions for information on accuracy.
317 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h8"></a>
318 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.implementation"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.implementation">Implementation</a>
321 In the following table <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
322 are the parameters α   and β, <span class="emphasis"><em>x</em></span> is the random variable,
323 <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
325 <div class="informaltable"><table class="table">
351 f(x;α,β) = x<sup>α - 1</sup> (1 - x)<sup>β -1</sup> / B(α, β)
354 Implemented using <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(a,
367 Using the incomplete beta function <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(a,
380 <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(a,
393 Using the inverse incomplete beta function <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(a,
401 quantile from the complement
406 <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>(a,
419 <code class="computeroutput"><span class="identifier">a</span><span class="special">/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)</span></code>
431 <code class="computeroutput"><span class="identifier">a</span> <span class="special">*</span>
432 <span class="identifier">b</span> <span class="special">/</span>
433 <span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)^</span><span class="number">2</span>
434 <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">+</span>
435 <span class="identifier">b</span> <span class="special">+</span>
436 <span class="number">1</span><span class="special">)</span></code>
448 <code class="computeroutput"><span class="special">(</span><span class="identifier">a</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span>
449 <span class="special">(</span><span class="identifier">a</span>
450 <span class="special">+</span> <span class="identifier">b</span>
451 <span class="special">-</span> <span class="number">2</span><span class="special">)</span></code>
463 <code class="computeroutput"><span class="number">2</span> <span class="special">(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span>
464 <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">1</span><span class="special">)/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">2</span><span class="special">)</span>
465 <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span>
466 <span class="special">*</span> <span class="identifier">b</span><span class="special">)</span></code>
478 <span class="inlinemediaobject"><img src="../../../../../equations/beta_dist_kurtosis.png"></span>
490 <code class="computeroutput"><span class="identifier">kurtosis</span> <span class="special">+</span>
491 <span class="number">3</span></code>
510 from mean and variance
515 <code class="computeroutput"><span class="identifier">mean</span> <span class="special">*</span>
516 <span class="special">((</span> <span class="special">(</span><span class="identifier">mean</span> <span class="special">*</span>
517 <span class="special">(</span><span class="number">1</span>
518 <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span>
519 <span class="identifier">variance</span><span class="special">)-</span>
520 <span class="number">1</span><span class="special">)</span></code>
530 from mean and variance
535 <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
536 <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">*</span>
537 <span class="special">(((</span><span class="identifier">mean</span>
538 <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span>
539 <span class="identifier">mean</span><span class="special">))</span>
540 <span class="special">/</span><span class="identifier">variance</span><span class="special">)-</span><span class="number">1</span><span class="special">)</span></code>
547 The member functions <code class="computeroutput"><span class="identifier">find_alpha</span></code>
548 and <code class="computeroutput"><span class="identifier">find_beta</span></code>
551 from cdf and probability x
554 and <span class="bold"><strong>either</strong></span> <code class="computeroutput"><span class="identifier">alpha</span></code>
555 or <code class="computeroutput"><span class="identifier">beta</span></code>
560 Implemented in terms of the inverse incomplete beta functions
563 <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
564 and <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
572 <code class="computeroutput"><span class="identifier">find_alpha</span></code>
577 <code class="computeroutput"><span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">beta</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">probability</span><span class="special">)</span></code>
584 <code class="computeroutput"><span class="identifier">find_beta</span></code>
589 <code class="computeroutput"><span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">probability</span><span class="special">)</span></code>
596 <a name="math_toolkit.dist.dist_ref.dists.beta_dist.h9"></a>
597 <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.references"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.references">References</a>
600 <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">Wikipedia
601 Beta distribution</a>
604 <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366h.htm" target="_top">NIST
605 Exploratory Data Analysis</a>
608 <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
612 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
613 <td align="left"></td>
614 <td align="right"><div class="copyright-footer">Copyright © 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
615 Lalande, Johan Råde, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
616 Distributed under the Boost Software License, Version 1.0. (See accompanying
617 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
622 <div class="spirit-nav">
623 <a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>