| [section:bernoulli_dist Bernoulli Distribution] |
| |
| ``#include <boost/math/distributions/bernoulli.hpp>`` |
| |
| namespace boost{ namespace math{ |
| template <class RealType = double, |
| class ``__Policy`` = ``__policy_class`` > |
| class bernoulli_distribution; |
| |
| typedef bernoulli_distribution<> bernoulli; |
| |
| template <class RealType, class ``__Policy``> |
| class bernoulli_distribution |
| { |
| public: |
| typedef RealType value_type; |
| typedef Policy policy_type; |
| |
| bernoulli_distribution(RealType p); // Constructor. |
| // Accessor function. |
| RealType success_fraction() const |
| // Probability of success (as a fraction). |
| }; |
| }} // namespaces |
| |
| The Bernoulli distribution is a discrete distribution of the outcome |
| of a single trial with only two results, 0 (failure) or 1 (success), |
| with a probability of success p. |
| |
| The Bernoulli distribution is the simplest building block |
| on which other discrete distributions of |
| sequences of independent Bernoulli trials can be based. |
| |
| The Bernoulli is the binomial distribution (k = 1, p) with only one trial. |
| |
| [@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf] |
| f(0) = 1 - p, f(1) = p. |
| [@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function] |
| D(k) = if (k == 0) 1 - p else 1. |
| |
| The following graph illustrates how the |
| [@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf] |
| varies with the outcome of the single trial: |
| |
| [graph bernoulli_pdf] |
| |
| and the [@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function] |
| |
| [graph bernoulli_cdf] |
| |
| [h4 Member Functions] |
| |
| bernoulli_distribution(RealType p); |
| |
| Constructs a [@http://en.wikipedia.org/wiki/bernoulli_distribution |
| bernoulli distribution] with success_fraction /p/. |
| |
| RealType success_fraction() const |
| |
| Returns the /success_fraction/ parameter of this distribution. |
| |
| [h4 Non-member Accessors] |
| |
| All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] |
| that are generic to all distributions are supported: __usual_accessors. |
| |
| The domain of the random variable is 0 and 1, |
| and the useful supported range is only 0 or 1. |
| |
| Outside this range, functions are undefined, or may throw domain_error exception |
| and make an error message available. |
| |
| [h4 Accuracy] |
| |
| The Bernoulli distribution is implemented with simple arithmetic operators |
| and so should have errors within an epsilon or two. |
| |
| [h4 Implementation] |
| |
| In the following table /p/ is the probability of success and /q = 1-p/. |
| /k/ is the random variate, either 0 or 1. |
| |
| [note The Bernoulli distribution is implemented here as a /strict discrete/ distribution. |
| If a generalised version, allowing k to be any real, is required then |
| the binomial distribution with a single trial should be used, for example: |
| |
| `binomial_distribution(1, 0.25)` |
| ] |
| |
| [table |
| [[Function][Implementation Notes]] |
| [[Supported range][{0, 1}]] |
| [[pdf][Using the relation: pdf = 1 - p for k = 0, else p ]] |
| [[cdf][Using the relation: cdf = 1 - p for k = 0, else 1]] |
| [[cdf complement][q = 1 - p]] |
| [[quantile][if x <= (1-p) 0 else 1]] |
| [[quantile from the complement][if x <= (1-p) 1 else 0]] |
| [[mean][p]] |
| [[variance][p * (1 - p)]] |
| [[mode][if (p < 0.5) 0 else 1]] |
| [[skewness][(1 - 2 * p) / sqrt(p * q)]] |
| [[kurtosis][6 * p * p - 6 * p +1/ p * q]] |
| [[kurtosis excess][kurtosis -3]] |
| ] |
| |
| [h4 References] |
| * [@http://en.wikipedia.org/wiki/Bernoulli_distribution Wikpedia Bernoulli distribution] |
| * [@ Weisstein, Eric W. "Bernoulli Distribution." From MathWorld--A Wolfram Web Resource.] |
| |
| [endsect][/section:bernoulli_dist bernoulli] |
| |
| [/ |
| 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). |
| ] |
| |