<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Logistic Distribution</title> <link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <link rel="home" href="../../../../index.html" title="Math Toolkit"> <link rel="up" href="../dists.html" title="Distributions"> <link rel="prev" href="laplace_dist.html" title="Laplace Distribution"> <link rel="next" href="lognormal_dist.html" title="Log Normal Distribution"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td> <td align="center"><a href="../../../../../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> <td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="laplace_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="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section" lang="en"> <div class="titlepage"><div><div><h5 class="title"> <a name="math_toolkit.dist.dist_ref.dists.logistic_dist"></a><a class="link" href="logistic_dist.html" title="Logistic Distribution"> Logistic Distribution</a> </h5></div></div></div> <p> </p> <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">logistic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre> <p> </p> <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> <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> <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> <span class="keyword">class</span> <span class="identifier">logistic_distribution</span><span class="special">;</span> <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> <span class="identifier">Policy</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">logistic_distribution</span> <span class="special">{</span> <span class="keyword">public</span><span class="special">:</span> <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span> <span class="comment">// Construct: </span> <span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Accessors: </span> <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// location. </span> <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// scale. </span> <span class="special">};</span> <span class="keyword">typedef</span> <span class="identifier">logistic_distribution</span><span class="special"><></span> <span class="identifier">logistic</span><span class="special">;</span> <span class="special">}}</span> <span class="comment">// namespaces </span></pre> <p> 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. </p> <p> The following graph shows how the distribution changes as the parameters change: </p> <p> <span class="inlinemediaobject"><img src="../../../../../graphs/logistic_pdf.png" align="middle"></span> </p> <a name="math_toolkit.dist.dist_ref.dists.logistic_dist.member_functions"></a><h5> <a name="id1038834"></a> <a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.member_functions">Member Functions</a> </h5> <pre class="programlisting"><span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">u</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> </pre> <p> Constructs a logistic distribution with location <span class="emphasis"><em>u</em></span> and scale <span class="emphasis"><em>s</em></span>. </p> <p> Requires <code class="computeroutput"><span class="identifier">scale</span> <span class="special">></span> <span class="number">0</span></code>, otherwise a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a> is raised. </p> <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> </pre> <p> Returns the location of this distribution. </p> <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> </pre> <p> Returns the scale of this distribution. </p> <a name="math_toolkit.dist.dist_ref.dists.logistic_dist.non_member_accessors"></a><h5> <a name="id1038999"></a> <a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.non_member_accessors">Non-member Accessors</a> </h5> <p> All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor functions</a> that are generic to all distributions are supported: <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>, <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 Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>, <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>, <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>, <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>, <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>, <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>. </p> <p> The domain of the random variable is [-[max_value], +[min_value]]. However, the pdf and cdf support inputs of +∞ and -∞ as special cases if RealType permits. </p> <p> At <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">1</span></code> and <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">0</span></code>, the quantile function returns the result of +<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a> and -<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a>, while the complement quantile function returns the result of -<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a> and +<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a> respectively. </p> <a name="math_toolkit.dist.dist_ref.dists.logistic_dist.accuracy"></a><h5> <a name="id1039149"></a> <a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.accuracy">Accuracy</a> </h5> <p> The logistic distribution is implemented in terms of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">exp</span></code> and the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">log</span></code> 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 <span class="emphasis"><em>position</em></span> parameter catastrophic cancellation errors can occur: in such cases, only a low <span class="emphasis"><em>absolute error</em></span> can be guarenteed. </p> <a name="math_toolkit.dist.dist_ref.dists.logistic_dist.implementation"></a><h5> <a name="id1039204"></a> <a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.implementation">Implementation</a> </h5> <div class="informaltable"><table class="table"> <colgroup> <col> <col> </colgroup> <thead><tr> <th> <p> Function </p> </th> <th> <p> Implementation Notes </p> </th> </tr></thead> <tbody> <tr> <td> <p> pdf </p> </td> <td> <p> Using the relation: pdf = e<sup>-(x-u)/s</sup> / (s*(1+e<sup>-(x-u)/s</sup>)<sup>2</sup>) </p> </td> </tr> <tr> <td> <p> cdf </p> </td> <td> <p> Using the relation: p = 1/(1+e<sup>-(x-u)/s</sup>) </p> </td> </tr> <tr> <td> <p> cdf complement </p> </td> <td> <p> Using the relation: q = 1/(1+e<sup>(x-u)/s</sup>) </p> </td> </tr> <tr> <td> <p> quantile </p> </td> <td> <p> Using the relation: x = u - s*log(1/p-1) </p> </td> </tr> <tr> <td> <p> quantile from the complement </p> </td> <td> <p> Using the relation: x = u + s*log(p/1-p) </p> </td> </tr> <tr> <td> <p> mean </p> </td> <td> <p> u </p> </td> </tr> <tr> <td> <p> mode </p> </td> <td> <p> The same as the mean. </p> </td> </tr> <tr> <td> <p> skewness </p> </td> <td> <p> 0 </p> </td> </tr> <tr> <td> <p> kurtosis excess </p> </td> <td> <p> 6/5 </p> </td> </tr> <tr> <td> <p> variance </p> </td> <td> <p> (π*s)<sup>2</sup> / 3 </p> </td> </tr> </tbody> </table></div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008, 2009 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno Lalande, Johan Råde, Gautam Sewani and Thijs van den Berg<p> Distributed under the Boost Software License, Version 1.0. (See accompanying 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>) </p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="laplace_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="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html>