123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- [section:logistic_dist Logistic Distribution]
- ``#include <boost/math/distributions/logistic.hpp>``
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class logistic_distribution;
- template <class RealType, class Policy>
- class logistic_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- logistic_distribution(RealType location = 0, RealType scale = 1);
- // Accessors:
- RealType location()const; // location.
- RealType scale()const; // scale.
-
- };
- typedef logistic_distribution<> logistic;
- }} // namespaces
-
- The logistic distribution is a continous probability distribution.
- It has two parameters - location and scale. The cumulative distribution
- function of the logistic distribution appears in logistic regression
- and feedforward neural networks. Among other applications,
- United State Chess Federation and FIDE use it to calculate chess ratings.
- The following graph shows how the distribution changes as the
- parameters change:
- [graph logistic_pdf]
- [h4 Member Functions]
- logistic_distribution(RealType u = 0, RealType s = 1);
- Constructs a logistic distribution with location /u/ and scale /s/.
- Requires `scale > 0`, otherwise a __domain_error is raised.
- RealType location()const;
- Returns the location of this distribution.
- RealType scale()const;
- Returns the scale of this distribution.
- [h4 Non-member Accessors]
- All the [link math_toolkit.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 \[-\[max_value\], +\[min_value\]\].
- However, the pdf and cdf support inputs of +[infin] and -[infin]
- as special cases if RealType permits.
- At `p=1` and `p=0`, the quantile function returns the result of
- +__overflow_error and -__overflow_error, while the complement
- quantile function returns the result of -__overflow_error and
- +__overflow_error respectively.
- [h4 Accuracy]
- The logistic distribution is implemented in terms of the `std::exp`
- and the `std::log` functions, so its accuracy is related to the
- accurate implementations of those functions on a given platform.
- When calculating the quantile with a non-zero /position/ parameter
- catastrophic cancellation errors can occur:
- in such cases, only a low /absolute error/ can be guaranteed.
- [h4 Implementation]
- [table
- [[Function][Implementation Notes]]
- [[pdf][Using the relation: pdf = e[super -(x-u)/s] / (s*(1+e[super -(x-u)/s])[super 2])]]
- [[cdf][Using the relation: p = 1/(1+e[super -(x-u)/s])]]
- [[cdf complement][Using the relation: q = 1/(1+e[super (x-u)/s])]]
- [[quantile][Using the relation: x = u - s*log(1/p-1)]]
- [[quantile from the complement][Using the relation: x = u + s*log(p/1-p)]]
- [[mean][u]]
- [[mode][The same as the mean.]]
- [[skewness][0]]
- [[kurtosis excess][6/5]]
- [[variance][ ([pi]*s)[super 2] / 3]]
- ]
- [endsect] [/section:logistic_dist Logistic Distribution]
- [/ logistic.qbk
- Copyright 2006, 2007 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).
- ]
|